From 744647e78a8b662479cfda36245547878eb774b3 Mon Sep 17 00:00:00 2001
From: Michelle Blanchette
Date: Thu, 5 Oct 2023 11:16:08 -0400
Subject: [PATCH] update plugins
---
.../PostmanEmailQueryLog.php | 6 +-
.../PostmanSendTestEmailController.php | 2 +-
.../post-smtp/Postman/PostmanEmailLogs.php | 2 +-
.../Postman/PostmanViewController.php | 30 +-
wp-content/plugins/post-smtp/postman-smtp.php | 6 +-
wp-content/plugins/post-smtp/readme.txt | 10 +-
.../plugins/post-smtp/style/testEmail.html | 2 +-
... => activity-report-widget.1695657196.css} | 0
...iff.1690810710.css => diff.1695657196.css} | 0
....1690810710.css => fullLog.1695657196.css} | 0
...f.1690810710.css => iptraf.1695657196.css} | 0
...jquery-ui-timepicker-addon.1695657196.css} | 0
...10710.css => jquery-ui.min.1695657196.css} | 0
...=> jquery-ui.structure.min.1695657196.css} | 0
...css => jquery-ui.theme.min.1695657196.css} | 0
...0810710.css => care-global.1695657196.css} | 0
...are.1690810710.css => care.1695657196.css} | 0
...0810710.css => free-global.1695657196.css} | 0
...ree.1690810710.css => free.1695657196.css} | 0
...0710.css => premium-global.1695657196.css} | 0
....1690810710.css => premium.1695657196.css} | 0
...710.css => response-global.1695657196.css} | 0
....css => response-variables.1695657196.css} | 0
...1690810710.css => response.1695657196.css} | 0
...ain.1690810710.css => main.1695657196.css} | 0
....1690810710.css => phpinfo.1695657196.css} | 0
...0810710.css => wf-adminbar.1695657196.css} | 0
...0810710.css => wf-colorbox.1695657196.css} | 0
...710.css => wf-font-awesome.1695657196.css} | 0
...690810710.css => wf-global.1695657196.css} | 0
...0810710.css => wf-ionicons.1695657196.css} | 0
...10710.css => wf-onboarding.1695657196.css} | 0
...0710.css => wf-roboto-font.1695657196.css} | 0
...10710.css => wfselect2.min.1695657196.css} | 0
...810710.css => wordfenceBox.1695657196.css} | 0
...dmin.1690810710.js => admin.1695657196.js} | 17 +
...710.js => admin.ajaxWatcher.1695657196.js} | 0
...710.js => admin.liveTraffic.1695657196.js} | 0
....1690810710.js => chart.umd.1695657196.js} | 0
...{date.1690810710.js => date.1695657196.js} | 0
... jquery-ui-timepicker-addon.1695657196.js} | 0
...0.js => jquery.colorbox-min.1695657196.js} | 0
...10710.js => jquery.colorbox.1695657196.js} | 0
...710.js => jquery.qrcode.min.1695657196.js} | 0
...10710.js => jquery.tmpl.min.1695657196.js} | 0
...810710.js => knockout-3.5.1.1695657196.js} | 0
...690810710.js => wfdashboard.1695657196.js} | 0
...1690810710.js => wfdropdown.1695657196.js} | 0
...l.1690810710.js => wfglobal.1695657196.js} | 0
...18n.1690810710.js => wfi18n.1695657196.js} | 0
...90810710.js => wfonboarding.1695657196.js} | 0
....1690810710.js => wfpopover.1695657196.js} | 0
...0810710.js => wfselect2.min.1695657196.js} | 0
.../plugins/wordfence/languages/wordfence.pot | 409 +-
.../plugins/wordfence/lib/menu_scanner.php | 1 +
wp-content/plugins/wordfence/lib/wfIssues.php | 9 +-
.../plugins/wordfence/lib/wfScanEngine.php | 108 +-
.../plugins/wordfence/lib/wfScanMonitor.php | 2 +-
.../wordfence/lib/wfSupportController.php | 2 +
.../plugins/wordfence/lib/wfUpdateCheck.php | 39 +-
.../wordfence/lib/wfVersionSupport.php | 2 +-
.../plugins/wordfence/lib/wordfenceClass.php | 31 +-
...810710.css => admin-global.1695657196.css} | 0
...in.1690810710.css => admin.1695657196.css} | 0
...1690810710.css => colorbox.1695657196.css} | 0
...1690810710.css => embedded.1695657196.css} | 0
...810710.css => font-awesome.1695657196.css} | 0
...1690810710.css => ionicons.1695657196.css} | 0
...10710.css => jquery-ui.min.1695657196.css} | 0
...=> jquery-ui.structure.min.1695657196.css} | 0
...css => jquery-ui.theme.min.1695657196.css} | 0
...in.1690810710.css => login.1695657196.css} | 0
...css => woocommerce-account.1695657196.css} | 0
...90810710.js => admin-global.1695657196.js} | 0
...dmin.1690810710.js => admin.1695657196.js} | 0
....1690810710.js => chart.umd.1695657196.js} | 0
...10710.js => jquery.colorbox.1695657196.js} | 0
...0.js => jquery.colorbox.min.1695657196.js} | 0
...710.js => jquery.qrcode.min.1695657196.js} | 0
...10710.js => jquery.tmpl.min.1695657196.js} | 0
...ogin.1690810710.js => login.1695657196.js} | 0
.../wordfence-login-security.php | 2 +-
wp-content/plugins/wordfence/readme.txt | 12 +-
.../wordfence/wf-waf/src/lib/storage/file.php | 3 +-
.../vendor/wordfence/wf-waf/src/lib/utils.php | 5 +-
.../vendor/wordfence/wf-waf/src/lib/waf.php | 9 +
.../scanner/issue-suspiciousAdminUsers.php | 1 +
.../views/scanner/issue-wfUpgradeError.php | 22 +
.../plugins/wordfence/waf/bootstrap.php | 19 +-
wp-content/plugins/wordfence/wordfence.php | 6 +-
...lass-admin-asset-yoast-components-l10n.php | 78 -
.../admin/class-gutenberg-compatibility.php | 4 +-
...demy-2120-rtl.css => academy-2130-rtl.css} | 0
.../{academy-2120.css => academy-2130.css} | 0
...2120-rtl.css => admin-global-2130-rtl.css} | 0
...-global-2120.css => admin-global-2130.css} | 0
.../css/dist/adminbar-2120-rtl.css | 1 -
.../wordpress-seo/css/dist/adminbar-2120.css | 1 -
.../css/dist/adminbar-2130-rtl.css | 1 +
.../wordpress-seo/css/dist/adminbar-2130.css | 1 +
...2120-rtl.css => ai-generator-2130-rtl.css} | 0
...nerator-2120.css => ai-generator-2130.css} | 0
...lerts-2120-rtl.css => alerts-2130-rtl.css} | 0
.../dist/{alerts-2120.css => alerts-2130.css} | 0
...rd-2120-rtl.css => dashboard-2130-rtl.css} | 0
...{dashboard-2120.css => dashboard-2130.css} | 0
...ge-2120-rtl.css => edit-page-2130-rtl.css} | 0
...{edit-page-2120.css => edit-page-2130.css} | 0
...or-2120-rtl.css => elementor-2130-rtl.css} | 0
...{elementor-2120.css => elementor-2130.css} | 0
...20-rtl.css => featured-image-2130-rtl.css} | 0
...image-2120.css => featured-image-2130.css} | 0
...tl.css => filter-explanation-2130-rtl.css} | 0
...n-2120.css => filter-explanation-2130.css} | 0
... => first-time-configuration-2130-rtl.css} | 0
....css => first-time-configuration-2130.css} | 0
...{icons-2120-rtl.css => icons-2130-rtl.css} | 0
.../dist/{icons-2120.css => icons-2130.css} | 0
...120-rtl.css => inside-editor-2130-rtl.css} | 0
...editor-2120.css => inside-editor-2130.css} | 0
...120-rtl.css => introductions-2130-rtl.css} | 0
...ctions-2120.css => introductions-2130.css} | 0
...abox-2120-rtl.css => metabox-2130-rtl.css} | 0
.../{metabox-2120.css => metabox-2130.css} | 0
... => metabox-primary-category-2130-rtl.css} | 0
....css => metabox-primary-category-2130.css} | 0
...{modal-2120-rtl.css => modal-2130-rtl.css} | 0
.../dist/{modal-2120.css => modal-2130.css} | 0
...epo-2120-rtl.css => monorepo-2130-rtl.css} | 0
.../{monorepo-2120.css => monorepo-2130.css} | 0
...2120-rtl.css => new-settings-2130-rtl.css} | 0
...ettings-2120.css => new-settings-2130.css} | 0
...120-rtl.css => notifications-2130-rtl.css} | 0
...ations-2120.css => notifications-2130.css} | 0
...n-2120-rtl.css => score_icon-2130-rtl.css} | 0
...core_icon-2120.css => score_icon-2130.css} | 0
...ss => structured-data-blocks-2130-rtl.css} | 0
...20.css => structured-data-blocks-2130.css} | 0
...port-2120-rtl.css => support-2130-rtl.css} | 0
.../{support-2120.css => support-2130.css} | 0
...ind-2120-rtl.css => tailwind-2130-rtl.css} | 0
.../{tailwind-2120.css => tailwind-2130.css} | 0
...120-rtl.css => toggle-switch-2130-rtl.css} | 0
...switch-2120.css => toggle-switch-2130.css} | 0
...ips-2120-rtl.css => tooltips-2130-rtl.css} | 0
.../{tooltips-2120.css => tooltips-2130.css} | 0
...uts-2120-rtl.css => workouts-2130-rtl.css} | 0
.../{workouts-2120.css => workouts-2130.css} | 0
...rtl.css => wpseo-dismissible-2130-rtl.css} | 0
...le-2120.css => wpseo-dismissible-2130.css} | 0
...-rtl.css => yoast-extensions-2130-rtl.css} | 0
...ons-2120.css => yoast-extensions-2130.css} | 0
...-rtl.css => yst_plugin_tools-2130-rtl.css} | 0
...ols-2120.css => yst_plugin_tools-2130.css} | 0
...120-rtl.css => yst_seo_score-2130-rtl.css} | 0
..._score-2120.css => yst_seo_score-2130.css} | 0
.../inc/sitemaps/class-sitemaps.php | 20 -
.../inc/wpseo-functions-deprecated.php | 14 -
.../wordpress-seo/js/dist/block-editor.js | 2 +-
.../wordpress-seo/js/dist/classic-editor.js | 2 +-
.../wordpress-seo/js/dist/elementor.js | 2 +-
.../js/dist/externals/analysis.js | 74 +-
.../wordpress-seo/js/dist/post-edit.js | 2 +-
wp-content/plugins/wordpress-seo/readme.txt | 33 +-
.../src/builders/indexable-link-builder.php | 161 +-
.../admin/ryte/class-ryte-option.php | 169 -
.../admin/ryte/class-ryte-request.php | 34 -
.../src/deprecated/admin/ryte/class-ryte.php | 284 -
.../configuration-workout-action.php | 11 -
.../front-end-inspector-conditional.php | 23 -
.../japanese-support-conditional.php | 26 -
.../integrations/admin/ryte-integration.php | 163 -
.../auto-update-notification-presenter.php | 42 -
.../routes/configuration-workout-route.php | 188 -
.../src/services/health-check/curl-check.php | 53 -
.../services/health-check/curl-reports.php | 74 -
.../src/services/health-check/curl-runner.php | 113 -
.../src/services/health-check/ryte-check.php | 56 -
.../services/health-check/ryte-reports.php | 93 -
.../src/services/health-check/ryte-runner.php | 114 -
.../plugins/wordpress-seo/src/functions.php | 2 -
.../src/generated/assets/externals.php | 2 +-
.../src/generated/assets/plugin.php | 2 +-
.../wordpress-seo/src/generated/container.php | 16 -
.../src/helpers/image-helper.php | 3 +-
.../plugins/wordpress-seo/vendor/autoload.php | 2 +-
.../vendor/composer/InstalledVersions.php | 13 +-
.../vendor/composer/autoload_classmap.php | 46 +-
.../vendor/composer/autoload_real.php | 8 +-
.../vendor/composer/autoload_static.php | 54 +-
.../vendor/composer/installed.php | 22 +-
.../guzzlehttp/guzzle/src/BodySummarizer.php | 23 +
.../guzzle/src/BodySummarizerInterface.php | 12 +
.../guzzlehttp/guzzle/src/Client.php | 180 +-
.../guzzlehttp/guzzle/src/ClientInterface.php | 22 +-
.../guzzlehttp/guzzle/src/ClientTrait.php | 227 +
.../guzzle/src/Cookie/CookieJar.php | 85 +-
.../guzzle/src/Cookie/CookieJarInterface.php | 20 +-
.../guzzle/src/Cookie/FileCookieJar.php | 36 +-
.../guzzle/src/Cookie/SessionCookieJar.php | 26 +-
.../guzzle/src/Cookie/SetCookie.php | 217 +-
.../src/Exception/BadResponseException.php | 20 +-
.../guzzle/src/Exception/ConnectException.php | 34 +-
.../guzzle/src/Exception/GuzzleException.php | 21 +-
.../guzzle/src/Exception/RequestException.php | 85 +-
.../guzzle/src/Exception/SeekException.php | 25 -
.../guzzle/src/Handler/CurlFactory.php | 200 +-
.../src/Handler/CurlFactoryInterface.php | 7 +-
.../guzzle/src/Handler/CurlHandler.php | 16 +-
.../guzzle/src/Handler/CurlMultiHandler.php | 101 +-
.../guzzle/src/Handler/EasyHandle.php | 60 +-
.../guzzle/src/Handler/HeaderProcessor.php | 36 +
.../guzzle/src/Handler/MockHandler.php | 95 +-
.../guzzlehttp/guzzle/src/Handler/Proxy.php | 23 +-
.../guzzle/src/Handler/StreamHandler.php | 246 +-
.../guzzlehttp/guzzle/src/HandlerStack.php | 115 +-
.../guzzle/src/MessageFormatter.php | 54 +-
.../guzzle/src/MessageFormatterInterface.php | 17 +
.../guzzlehttp/guzzle/src/Middleware.php | 108 +-
.../guzzlehttp/guzzle/src/Pool.php | 43 +-
.../guzzle/src/PrepareBodyMiddleware.php | 27 +-
.../guzzle/src/RedirectMiddleware.php | 76 +-
.../guzzlehttp/guzzle/src/RequestOptions.php | 77 +-
.../guzzlehttp/guzzle/src/RetryMiddleware.php | 72 +-
.../guzzlehttp/guzzle/src/TransferStats.php | 44 +-
.../guzzlehttp/guzzle/src/UriTemplate.php | 191 -
.../guzzlehttp/guzzle/src/Utils.php | 320 +-
.../guzzlehttp/guzzle/src/functions.php | 242 +-
.../guzzle/src/functions_include.php | 2 +-
.../promises/src/AggregateException.php | 3 +-
.../promises/src/CancellationException.php | 1 +
.../guzzlehttp/promises/src/Coroutine.php | 38 +-
.../guzzlehttp/promises/src/Create.php | 19 +-
.../guzzlehttp/promises/src/Each.php | 15 +-
.../guzzlehttp/promises/src/EachPromise.php | 40 +-
.../promises/src/FulfilledPromise.php | 28 +-
.../guzzlehttp/promises/src/Is.php | 17 +-
.../guzzlehttp/promises/src/Promise.php | 41 +-
.../promises/src/PromiseInterface.php | 33 +-
.../promises/src/PromisorInterface.php | 5 +-
.../promises/src/RejectedPromise.php | 29 +-
.../promises/src/RejectionException.php | 7 +-
.../guzzlehttp/promises/src/TaskQueue.php | 15 +-
.../promises/src/TaskQueueInterface.php | 9 +-
.../guzzlehttp/promises/src/Utils.php | 62 +-
.../guzzlehttp/promises/src/functions.php | 334 -
.../promises/src/functions_include.php | 8 -
.../guzzlehttp/psr7/src/AppendStream.php | 60 +-
.../guzzlehttp/psr7/src/BufferStream.php | 45 +-
.../guzzlehttp/psr7/src/CachingStream.php | 34 +-
.../guzzlehttp/psr7/src/DroppingStream.php | 12 +-
.../src/Exception/MalformedUriException.php | 12 +
.../guzzlehttp/psr7/src/FnStream.php | 68 +-
.../guzzlehttp/psr7/src/Header.php | 101 +-
.../guzzlehttp/psr7/src/HttpFactory.php | 76 +
.../guzzlehttp/psr7/src/InflateStream.php | 46 +-
.../guzzlehttp/psr7/src/LazyOpenStream.php | 20 +-
.../guzzlehttp/psr7/src/LimitStream.php | 32 +-
.../guzzlehttp/psr7/src/Message.php | 40 +-
.../guzzlehttp/psr7/src/MessageTrait.php | 57 +-
.../guzzlehttp/psr7/src/MimeType.php | 20 +-
.../guzzlehttp/psr7/src/MultipartStream.php | 47 +-
.../guzzlehttp/psr7/src/NoSeekStream.php | 11 +-
.../guzzlehttp/psr7/src/PumpStream.php | 72 +-
.../guzzlehttp/psr7/src/Query.php | 23 +-
.../guzzlehttp/psr7/src/Request.php | 26 +-
.../guzzlehttp/psr7/src/Response.php | 36 +-
.../guzzlehttp/psr7/src/Rfc7230.php | 13 +-
.../guzzlehttp/psr7/src/ServerRequest.php | 96 +-
.../guzzlehttp/psr7/src/Stream.php | 78 +-
.../psr7/src/StreamDecoratorTrait.php | 59 +-
.../guzzlehttp/psr7/src/StreamWrapper.php | 43 +-
.../guzzlehttp/psr7/src/UploadedFile.php | 157 +-
.../guzzlehttp/psr7/src/Uri.php | 288 +-
.../guzzlehttp/psr7/src/UriComparator.php | 10 +-
.../guzzlehttp/psr7/src/UriNormalizer.php | 40 +-
.../guzzlehttp/psr7/src/UriResolver.php | 30 +-
.../guzzlehttp/psr7/src/Utils.php | 104 +-
.../guzzlehttp/psr7/src/functions.php | 400 --
.../guzzlehttp/psr7/src/functions_include.php | 8 -
.../src/Provider/AbstractProvider.php | 82 +-
.../Exception/IdentityProviderException.php | 4 +-
.../src/Provider/GenericProvider.php | 13 +-
.../src/ClientExceptionInterface.php | 10 +
.../psr/http-client/src/ClientInterface.php | 19 +
.../src/NetworkExceptionInterface.php | 23 +
.../src/RequestExceptionInterface.php | 23 +
.../src/RequestFactoryInterface.php | 18 +
.../src/ResponseFactoryInterface.php | 18 +
.../src/ServerRequestFactoryInterface.php | 24 +
.../src/StreamFactoryInterface.php | 43 +
.../src/UploadedFileFactoryInterface.php | 28 +
.../http-factory/src/UriFactoryInterface.php | 17 +
.../psr/http-message/src/MessageInterface.php | 22 +-
.../psr/http-message/src/RequestInterface.php | 14 +-
.../http-message/src/ResponseInterface.php | 6 +-
.../src/ServerRequestInterface.php | 24 +-
.../psr/http-message/src/StreamInterface.php | 30 +-
.../src/UploadedFileInterface.php | 12 +-
.../psr/http-message/src/UriInterface.php | 32 +-
.../psr/log/Psr/Log/AbstractLogger.php | 32 +-
.../psr/log/Psr/Log/LoggerAwareTrait.php | 2 +-
.../psr/log/Psr/Log/LoggerInterface.php | 40 +-
.../psr/log/Psr/Log/LoggerTrait.php | 2 +
.../psr/log/Psr/Log/NullLogger.php | 2 +
.../deprecation-contracts/function.php | 27 +
.../app/Config/OptionsConfig.php | 2 +-
.../app/Controllers/CertificateController.php | 8 +-
.../app/Controllers/IdentityController.php | 56 +
.../app/Controllers/RestApiController.php | 12 +
.../app/Helpers/AuthenticationHelper.php | 2 +
.../app/Support/Authentication.php | 5 +-
.../wordpress-sdk/app/WordPressSDK.php | 2 +-
.../build/wordproof-block-editor.js | 4 +-
.../build/wordproof-classic-editor.js | 2 +-
.../build/wordproof-elementor-editor.js | 2 +-
.../plugins/wordpress-seo/wp-seo-main.php | 13 +-
wp-content/plugins/wordpress-seo/wp-seo.php | 4 +-
.../wp-rocket/assets/js/lazyload-css.js | 6 +-
.../wp-rocket/assets/js/lazyload-css.min.js | 2 +-
.../assets/js/lazyload-css.min.js.map | 2 +-
wp-content/plugins/wp-rocket/composer.lock | 81 +-
.../wp-rocket/dynamic-lists-delayjs.json | 2 +-
.../Metaboxes/PostEditOptionsSubscriber.php | 207 +
.../inc/Engine/Admin/ServiceProvider.php | 9 +-
.../inc/Engine/CDN/Admin/Subscriber.php | 32 +
.../inc/Engine/CDN/ServiceProvider.php | 4 +
.../Engine/Cache/PurgeActionsSubscriber.php | 16 +-
.../Engine/Common/Queue/RUCSSQueueRunner.php | 16 +-
.../Engine/CriticalPath/Admin/Subscriber.php | 15 +
.../inc/Engine/Deactivation/Deactivation.php | 13 +-
.../Engine/Deactivation/ServiceProvider.php | 12 +
.../Engine/Media/Lazyload/AdminSubscriber.php | 16 +
.../Media/Lazyload/CSS/Admin/Subscriber.php | 11 +-
.../Lazyload/CSS/Front/MappingFormatter.php | 1 +
.../Media/Lazyload/CanLazyloadTrait.php | 3 +
.../Optimization/DeferJS/AdminSubscriber.php | 14 +
.../Optimization/DelayJS/Admin/Subscriber.php | 16 +-
.../DynamicLists/DynamicLists.php | 11 +-
.../DynamicLists/ServiceProvider.php | 1 +
.../Optimization/Minify/AdminSubscriber.php | 15 +-
.../Minify/CSS/AdminSubscriber.php | 23 +-
.../RUCSS/Admin/OptionSubscriber.php | 78 +
.../Optimization/RUCSS/Admin/Subscriber.php | 28 -
.../Optimization/RUCSS/Controller/UsedCSS.php | 27 +-
.../RUCSS/Database/Queries/UsedCSS.php | 20 +-
.../Optimization/RUCSS/ServiceProvider.php | 8 +-
wp-content/plugins/wp-rocket/inc/Plugin.php | 4 +
.../inc/ThirdParty/Hostings/SpinUpWP.php | 62 +-
.../inc/ThirdParty/Plugins/CDN/Cloudflare.php | 54 +-
.../inc/ThirdParty/Themes/ServiceProvider.php | 2 +
.../inc/ThirdParty/Themes/Shoptimizer.php | 56 +
.../wp-rocket/inc/admin/ui/meta-boxes.php | 198 -
.../plugins/wp-rocket/inc/admin/upgrader.php | 2 -
.../plugins/wp-rocket/inc/deprecated/3.15.php | 179 +
wp-content/plugins/wp-rocket/inc/main.php | 1 +
.../wp-rocket/languages/rocket-de_DE.mo | Bin 109532 -> 110474 bytes
.../wp-rocket/languages/rocket-de_DE.po | 5636 +++++++++--------
.../wp-rocket/languages/rocket-fa_IR.mo | Bin 132195 -> 131830 bytes
.../wp-rocket/languages/rocket-fa_IR.po | 5451 ++++++++--------
.../wp-rocket/languages/rocket-fr_FR.mo | Bin 114523 -> 114514 bytes
.../wp-rocket/languages/rocket-fr_FR.po | 4 +-
.../wp-rocket/languages/rocket-pt_BR.mo | Bin 112213 -> 111885 bytes
.../wp-rocket/languages/rocket-pt_BR.po | 256 +-
.../wp-rocket/languages/rocket-pt_PT.mo | Bin 113204 -> 112786 bytes
.../wp-rocket/languages/rocket-pt_PT.po | 5594 ++++++++--------
.../wp-rocket/languages/rocket-tr_TR.mo | Bin 113822 -> 113418 bytes
.../wp-rocket/languages/rocket-tr_TR.po | 5552 ++++++++--------
.../plugins/wp-rocket/languages/rocket.pot | 191 +-
.../plugins/wp-rocket/vendor/autoload.php | 2 +-
.../vendor/composer/autoload_classmap.php | 4 +
.../vendor/composer/autoload_real.php | 8 +-
.../vendor/composer/autoload_static.php | 14 +-
.../views/metaboxes/post_edit_options.php | 49 +
wp-content/plugins/wp-rocket/wp-rocket.php | 6 +-
375 files changed, 16629 insertions(+), 16903 deletions(-)
rename wp-content/plugins/wordfence/css/{activity-report-widget.1690810710.css => activity-report-widget.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{diff.1690810710.css => diff.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{fullLog.1690810710.css => fullLog.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{iptraf.1690810710.css => iptraf.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{jquery-ui-timepicker-addon.1690810710.css => jquery-ui-timepicker-addon.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{jquery-ui.min.1690810710.css => jquery-ui.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{jquery-ui.structure.min.1690810710.css => jquery-ui.structure.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{jquery-ui.theme.min.1690810710.css => jquery-ui.theme.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{care-global.1690810710.css => care-global.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{care.1690810710.css => care.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{free-global.1690810710.css => free-global.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{free.1690810710.css => free.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{premium-global.1690810710.css => premium-global.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{premium.1690810710.css => premium.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{response-global.1690810710.css => response-global.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{response-variables.1690810710.css => response-variables.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/license/{response.1690810710.css => response.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{main.1690810710.css => main.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{phpinfo.1690810710.css => phpinfo.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-adminbar.1690810710.css => wf-adminbar.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-colorbox.1690810710.css => wf-colorbox.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-font-awesome.1690810710.css => wf-font-awesome.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-global.1690810710.css => wf-global.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-ionicons.1690810710.css => wf-ionicons.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-onboarding.1690810710.css => wf-onboarding.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wf-roboto-font.1690810710.css => wf-roboto-font.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wfselect2.min.1690810710.css => wfselect2.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/css/{wordfenceBox.1690810710.css => wordfenceBox.1695657196.css} (100%)
rename wp-content/plugins/wordfence/js/{admin.1690810710.js => admin.1695657196.js} (99%)
rename wp-content/plugins/wordfence/js/{admin.ajaxWatcher.1690810710.js => admin.ajaxWatcher.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{admin.liveTraffic.1690810710.js => admin.liveTraffic.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{chart.umd.1690810710.js => chart.umd.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{date.1690810710.js => date.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{jquery-ui-timepicker-addon.1690810710.js => jquery-ui-timepicker-addon.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{jquery.colorbox-min.1690810710.js => jquery.colorbox-min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{jquery.colorbox.1690810710.js => jquery.colorbox.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{jquery.qrcode.min.1690810710.js => jquery.qrcode.min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{jquery.tmpl.min.1690810710.js => jquery.tmpl.min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{knockout-3.5.1.1690810710.js => knockout-3.5.1.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfdashboard.1690810710.js => wfdashboard.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfdropdown.1690810710.js => wfdropdown.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfglobal.1690810710.js => wfglobal.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfi18n.1690810710.js => wfi18n.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfonboarding.1690810710.js => wfonboarding.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfpopover.1690810710.js => wfpopover.1695657196.js} (100%)
rename wp-content/plugins/wordfence/js/{wfselect2.min.1690810710.js => wfselect2.min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{admin-global.1690810710.css => admin-global.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{admin.1690810710.css => admin.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{colorbox.1690810710.css => colorbox.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{embedded.1690810710.css => embedded.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{font-awesome.1690810710.css => font-awesome.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{ionicons.1690810710.css => ionicons.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{jquery-ui.min.1690810710.css => jquery-ui.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{jquery-ui.structure.min.1690810710.css => jquery-ui.structure.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{jquery-ui.theme.min.1690810710.css => jquery-ui.theme.min.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{login.1690810710.css => login.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/css/{woocommerce-account.1690810710.css => woocommerce-account.1695657196.css} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{admin-global.1690810710.js => admin-global.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{admin.1690810710.js => admin.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{chart.umd.1690810710.js => chart.umd.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.colorbox.1690810710.js => jquery.colorbox.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.colorbox.min.1690810710.js => jquery.colorbox.min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.qrcode.min.1690810710.js => jquery.qrcode.min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{jquery.tmpl.min.1690810710.js => jquery.tmpl.min.1695657196.js} (100%)
rename wp-content/plugins/wordfence/modules/login-security/js/{login.1690810710.js => login.1695657196.js} (100%)
create mode 100755 wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php
delete mode 100755 wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php
rename wp-content/plugins/wordpress-seo/css/dist/{academy-2120-rtl.css => academy-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{academy-2120.css => academy-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{admin-global-2120-rtl.css => admin-global-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{admin-global-2120.css => admin-global-2130.css} (100%)
delete mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css
delete mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css
create mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css
create mode 100755 wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css
rename wp-content/plugins/wordpress-seo/css/dist/{ai-generator-2120-rtl.css => ai-generator-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{ai-generator-2120.css => ai-generator-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{alerts-2120-rtl.css => alerts-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{alerts-2120.css => alerts-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{dashboard-2120-rtl.css => dashboard-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{dashboard-2120.css => dashboard-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{edit-page-2120-rtl.css => edit-page-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{edit-page-2120.css => edit-page-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{elementor-2120-rtl.css => elementor-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{elementor-2120.css => elementor-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{featured-image-2120-rtl.css => featured-image-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{featured-image-2120.css => featured-image-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{filter-explanation-2120-rtl.css => filter-explanation-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{filter-explanation-2120.css => filter-explanation-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{first-time-configuration-2120-rtl.css => first-time-configuration-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{first-time-configuration-2120.css => first-time-configuration-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{icons-2120-rtl.css => icons-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{icons-2120.css => icons-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{inside-editor-2120-rtl.css => inside-editor-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{inside-editor-2120.css => inside-editor-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{introductions-2120-rtl.css => introductions-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{introductions-2120.css => introductions-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{metabox-2120-rtl.css => metabox-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{metabox-2120.css => metabox-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{metabox-primary-category-2120-rtl.css => metabox-primary-category-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{metabox-primary-category-2120.css => metabox-primary-category-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{modal-2120-rtl.css => modal-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{modal-2120.css => modal-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{monorepo-2120-rtl.css => monorepo-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{monorepo-2120.css => monorepo-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{new-settings-2120-rtl.css => new-settings-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{new-settings-2120.css => new-settings-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{notifications-2120-rtl.css => notifications-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{notifications-2120.css => notifications-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{score_icon-2120-rtl.css => score_icon-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{score_icon-2120.css => score_icon-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{structured-data-blocks-2120-rtl.css => structured-data-blocks-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{structured-data-blocks-2120.css => structured-data-blocks-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{support-2120-rtl.css => support-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{support-2120.css => support-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{tailwind-2120-rtl.css => tailwind-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{tailwind-2120.css => tailwind-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{toggle-switch-2120-rtl.css => toggle-switch-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{toggle-switch-2120.css => toggle-switch-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{tooltips-2120-rtl.css => tooltips-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{tooltips-2120.css => tooltips-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{workouts-2120-rtl.css => workouts-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{workouts-2120.css => workouts-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{wpseo-dismissible-2120-rtl.css => wpseo-dismissible-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{wpseo-dismissible-2120.css => wpseo-dismissible-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{yoast-extensions-2120-rtl.css => yoast-extensions-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{yoast-extensions-2120.css => yoast-extensions-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{yst_plugin_tools-2120-rtl.css => yst_plugin_tools-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{yst_plugin_tools-2120.css => yst_plugin_tools-2130.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{yst_seo_score-2120-rtl.css => yst_seo_score-2130-rtl.css} (100%)
rename wp-content/plugins/wordpress-seo/css/dist/{yst_seo_score-2120.css => yst_seo_score-2130.css} (100%)
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-request.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/conditionals/front-end-inspector-conditional.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/conditionals/japanese-support-conditional.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/integrations/admin/ryte-integration.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/presenters/admin/auto-update-notification-presenter.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/routes/configuration-workout-route.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/curl-check.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/curl-reports.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/curl-runner.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/ryte-check.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/ryte-reports.php
delete mode 100755 wp-content/plugins/wordpress-seo/src/deprecated/src/services/health-check/ryte-runner.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php
delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php
delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php
delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php
delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php
delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php
delete mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/NetworkExceptionInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/RequestExceptionInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/RequestFactoryInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/ResponseFactoryInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/StreamFactoryInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-factory/src/UriFactoryInterface.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/deprecation-contracts/function.php
create mode 100755 wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php
create mode 100755 wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php
create mode 100755 wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php
create mode 100755 wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php
create mode 100755 wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php
create mode 100755 wp-content/plugins/wp-rocket/inc/deprecated/3.15.php
create mode 100755 wp-content/plugins/wp-rocket/views/metaboxes/post_edit_options.php
diff --git a/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php b/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php
index fb1c94db4..f531c4857 100755
--- a/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php
+++ b/wp-content/plugins/post-smtp/Postman/Postman-Email-Log/PostmanEmailQueryLog.php
@@ -280,7 +280,11 @@ public function get_log( $id, $columns = array() ) {
$columns = empty( $columns ) ? '*' : implode( ',', $columns );
return $this->db->get_row(
- "SELECT {$columns} FROM `{$this->table}` WHERE id = {$id};",
+ $this->db->prepare(
+ "SELECT {$columns} FROM %i WHERE id = %d",
+ $this->table,
+ $id
+ ),
ARRAY_A
);
diff --git a/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php b/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php
index 09df8e738..f584cf819 100755
--- a/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php
+++ b/wp-content/plugins/post-smtp/Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php
@@ -423,7 +423,7 @@ private function createMessageContent() {
' ',
' ',
' ',
- sprintf( ' %s: poofytoo.com - %s ', $imageSource, $withPermission ),
+ sprintf( ' %s: poofytoo - %s ', $imageSource, $withPermission ),
' ',
' ',
' ',
diff --git a/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php b/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php
index c59ae5d58..c7a97e57c 100755
--- a/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php
+++ b/wp-content/plugins/post-smtp/Postman/PostmanEmailLogs.php
@@ -668,7 +668,7 @@ public function resend_email() {
if( isset( $_POST['action'] ) && $_POST['action'] == 'ps-resend-email' ) {
- $id = sanitize_text_field( $_POST['id'] );
+ $id = intval( $_POST['id'] );
$response = '';
$email_query_log = new PostmanEmailQueryLog();
$log = $email_query_log->get_log( $id );
diff --git a/wp-content/plugins/post-smtp/Postman/PostmanViewController.php b/wp-content/plugins/post-smtp/Postman/PostmanViewController.php
index 9096cff64..60ec0933b 100755
--- a/wp-content/plugins/post-smtp/Postman/PostmanViewController.php
+++ b/wp-content/plugins/post-smtp/Postman/PostmanViewController.php
@@ -373,33 +373,45 @@ public function outputDefaultContent() {
+
+
diff --git a/wp-content/plugins/post-smtp/postman-smtp.php b/wp-content/plugins/post-smtp/postman-smtp.php
index ab5f7a3ed..ff8e7c139 100755
--- a/wp-content/plugins/post-smtp/postman-smtp.php
+++ b/wp-content/plugins/post-smtp/postman-smtp.php
@@ -6,7 +6,7 @@
* Plugin Name: Post SMTP
* Plugin URI: https://wordpress.org/plugins/post-smtp/
* Description: Email not reliable? Post SMTP is the first and only WordPress SMTP plugin to implement OAuth 2.0 for Gmail, Hotmail and Yahoo Mail. Setup is a breeze with the Configuration Wizard and integrated Port Tester. Enjoy worry-free delivery even if your password changes!
- * Version: 2.6.0
+ * Version: 2.6.1
* Author: Post SMTP
* Text Domain: post-smtp
* Author URI: https://postmansmtp.com
@@ -48,7 +48,7 @@ function ps_fs() {
'type' => 'plugin',
'public_key' => 'pk_28fcefa3d0ae86f8cdf6b7f71c0cc',
'is_premium' => false,
- 'has_addons' => true,
+ 'has_addons' => false,
'bundle_id' => '10910',
'bundle_public_key' => 'pk_c5110ef04ba30cd57dd970a269a1a',
'has_paid_plans' => true,
@@ -102,7 +102,7 @@ function ps_fs_custom_icon() {
define( 'POST_SMTP_BASE', __FILE__ );
define( 'POST_SMTP_PATH', __DIR__ );
define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
-define( 'POST_SMTP_VER', '2.6.0' );
+define( 'POST_SMTP_VER', '2.6.1' );
define( 'POST_SMTP_DB_VERSION', '1.0.1' );
define( 'POST_SMTP_ASSETS', plugin_dir_url( __FILE__ ) . 'assets/' );
diff --git a/wp-content/plugins/post-smtp/readme.txt b/wp-content/plugins/post-smtp/readme.txt
index 493b3ab6d..1c4ad9c45 100755
--- a/wp-content/plugins/post-smtp/readme.txt
+++ b/wp-content/plugins/post-smtp/readme.txt
@@ -3,8 +3,8 @@ Plugin URI: https://wpexperts.io/
Contributors: wpexpertsio
Tags: email, mail, smtp, wordpress smtp, email log, postman smtp, postman, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
Requires at least: 5.6.0
-Tested up to: 6.3
-Stable tag: 2.6.0
+Tested up to: 6.3.1
+Stable tag: 2.6.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -306,6 +306,12 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
== Changelog ==
+= 2.6.1 - 2023-10-03 =
+
+* Fix: Removed broken link from test email.
+* Improvement: Improved SQL query to meet latest security standards.
+* Improvement: Replaced sanitize_text_field() with intval() as suggested by WP Scan team.
+
= 2.6.0 - 2023-09-12 =
**NEW**
diff --git a/wp-content/plugins/post-smtp/style/testEmail.html b/wp-content/plugins/post-smtp/style/testEmail.html
index 544b0e673..55d3d2697 100755
--- a/wp-content/plugins/post-smtp/style/testEmail.html
+++ b/wp-content/plugins/post-smtp/style/testEmail.html
@@ -30,7 +30,7 @@
- Image source: poofytoo.com - Used with permission
+ Image source: poofytoo - Used with permission
diff --git a/wp-content/plugins/wordfence/css/activity-report-widget.1690810710.css b/wp-content/plugins/wordfence/css/activity-report-widget.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/activity-report-widget.1690810710.css
rename to wp-content/plugins/wordfence/css/activity-report-widget.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/diff.1690810710.css b/wp-content/plugins/wordfence/css/diff.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/diff.1690810710.css
rename to wp-content/plugins/wordfence/css/diff.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/fullLog.1690810710.css b/wp-content/plugins/wordfence/css/fullLog.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/fullLog.1690810710.css
rename to wp-content/plugins/wordfence/css/fullLog.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/iptraf.1690810710.css b/wp-content/plugins/wordfence/css/iptraf.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/iptraf.1690810710.css
rename to wp-content/plugins/wordfence/css/iptraf.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1690810710.css
rename to wp-content/plugins/wordfence/css/jquery-ui-timepicker-addon.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/jquery-ui.min.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/jquery-ui.min.1690810710.css
rename to wp-content/plugins/wordfence/css/jquery-ui.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/jquery-ui.structure.min.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui.structure.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/jquery-ui.structure.min.1690810710.css
rename to wp-content/plugins/wordfence/css/jquery-ui.structure.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/jquery-ui.theme.min.1690810710.css b/wp-content/plugins/wordfence/css/jquery-ui.theme.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/jquery-ui.theme.min.1690810710.css
rename to wp-content/plugins/wordfence/css/jquery-ui.theme.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/care-global.1690810710.css b/wp-content/plugins/wordfence/css/license/care-global.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/care-global.1690810710.css
rename to wp-content/plugins/wordfence/css/license/care-global.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/care.1690810710.css b/wp-content/plugins/wordfence/css/license/care.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/care.1690810710.css
rename to wp-content/plugins/wordfence/css/license/care.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/free-global.1690810710.css b/wp-content/plugins/wordfence/css/license/free-global.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/free-global.1690810710.css
rename to wp-content/plugins/wordfence/css/license/free-global.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/free.1690810710.css b/wp-content/plugins/wordfence/css/license/free.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/free.1690810710.css
rename to wp-content/plugins/wordfence/css/license/free.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/premium-global.1690810710.css b/wp-content/plugins/wordfence/css/license/premium-global.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/premium-global.1690810710.css
rename to wp-content/plugins/wordfence/css/license/premium-global.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/premium.1690810710.css b/wp-content/plugins/wordfence/css/license/premium.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/premium.1690810710.css
rename to wp-content/plugins/wordfence/css/license/premium.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/response-global.1690810710.css b/wp-content/plugins/wordfence/css/license/response-global.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/response-global.1690810710.css
rename to wp-content/plugins/wordfence/css/license/response-global.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/response-variables.1690810710.css b/wp-content/plugins/wordfence/css/license/response-variables.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/response-variables.1690810710.css
rename to wp-content/plugins/wordfence/css/license/response-variables.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/license/response.1690810710.css b/wp-content/plugins/wordfence/css/license/response.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/license/response.1690810710.css
rename to wp-content/plugins/wordfence/css/license/response.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/main.1690810710.css b/wp-content/plugins/wordfence/css/main.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/main.1690810710.css
rename to wp-content/plugins/wordfence/css/main.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/phpinfo.1690810710.css b/wp-content/plugins/wordfence/css/phpinfo.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/phpinfo.1690810710.css
rename to wp-content/plugins/wordfence/css/phpinfo.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-adminbar.1690810710.css b/wp-content/plugins/wordfence/css/wf-adminbar.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-adminbar.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-adminbar.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-colorbox.1690810710.css b/wp-content/plugins/wordfence/css/wf-colorbox.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-colorbox.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-colorbox.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-font-awesome.1690810710.css b/wp-content/plugins/wordfence/css/wf-font-awesome.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-font-awesome.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-font-awesome.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-global.1690810710.css b/wp-content/plugins/wordfence/css/wf-global.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-global.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-global.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-ionicons.1690810710.css b/wp-content/plugins/wordfence/css/wf-ionicons.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-ionicons.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-ionicons.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-onboarding.1690810710.css b/wp-content/plugins/wordfence/css/wf-onboarding.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-onboarding.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-onboarding.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wf-roboto-font.1690810710.css b/wp-content/plugins/wordfence/css/wf-roboto-font.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wf-roboto-font.1690810710.css
rename to wp-content/plugins/wordfence/css/wf-roboto-font.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wfselect2.min.1690810710.css b/wp-content/plugins/wordfence/css/wfselect2.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wfselect2.min.1690810710.css
rename to wp-content/plugins/wordfence/css/wfselect2.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/css/wordfenceBox.1690810710.css b/wp-content/plugins/wordfence/css/wordfenceBox.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/css/wordfenceBox.1690810710.css
rename to wp-content/plugins/wordfence/css/wordfenceBox.1695657196.css
diff --git a/wp-content/plugins/wordfence/js/admin.1690810710.js b/wp-content/plugins/wordfence/js/admin.1695657196.js
similarity index 99%
rename from wp-content/plugins/wordfence/js/admin.1690810710.js
rename to wp-content/plugins/wordfence/js/admin.1695657196.js
index 01dbb3450..b23273daa 100755
--- a/wp-content/plugins/wordfence/js/admin.1690810710.js
+++ b/wp-content/plugins/wordfence/js/admin.1695657196.js
@@ -3068,6 +3068,23 @@
}
});
},
+
+ acknowledgeAdminUser: function (issueID) {
+ var self = this;
+ this.ajax('wordfence_acknowledgeAdminUser', {
+ issueID: issueID
+ }, function(res) {
+ if (res.ok) {
+ self.loadIssues(function() {
+ self.colorboxModal((self.isSmallScreen ? '300px' : '400px'), __("Successfully acknowledged admin"), sprintf(__("The admin user %s will no longer show up in future scans."), res.user_login));
+ });
+ } else if (res.errorMsg) {
+ self.loadIssues(function() {
+ WFAD.colorboxError(res.errorMsg, res.tokenInvalid);
+ });
+ }
+ });
+ },
windowHasFocus: function() {
if (typeof document.hasFocus === 'function') {
diff --git a/wp-content/plugins/wordfence/js/admin.ajaxWatcher.1690810710.js b/wp-content/plugins/wordfence/js/admin.ajaxWatcher.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/admin.ajaxWatcher.1690810710.js
rename to wp-content/plugins/wordfence/js/admin.ajaxWatcher.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/admin.liveTraffic.1690810710.js b/wp-content/plugins/wordfence/js/admin.liveTraffic.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/admin.liveTraffic.1690810710.js
rename to wp-content/plugins/wordfence/js/admin.liveTraffic.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/chart.umd.1690810710.js b/wp-content/plugins/wordfence/js/chart.umd.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/chart.umd.1690810710.js
rename to wp-content/plugins/wordfence/js/chart.umd.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/date.1690810710.js b/wp-content/plugins/wordfence/js/date.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/date.1690810710.js
rename to wp-content/plugins/wordfence/js/date.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1690810710.js b/wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1690810710.js
rename to wp-content/plugins/wordfence/js/jquery-ui-timepicker-addon.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/jquery.colorbox-min.1690810710.js b/wp-content/plugins/wordfence/js/jquery.colorbox-min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/jquery.colorbox-min.1690810710.js
rename to wp-content/plugins/wordfence/js/jquery.colorbox-min.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/jquery.colorbox.1690810710.js b/wp-content/plugins/wordfence/js/jquery.colorbox.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/jquery.colorbox.1690810710.js
rename to wp-content/plugins/wordfence/js/jquery.colorbox.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/jquery.qrcode.min.1690810710.js b/wp-content/plugins/wordfence/js/jquery.qrcode.min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/jquery.qrcode.min.1690810710.js
rename to wp-content/plugins/wordfence/js/jquery.qrcode.min.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/jquery.tmpl.min.1690810710.js b/wp-content/plugins/wordfence/js/jquery.tmpl.min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/jquery.tmpl.min.1690810710.js
rename to wp-content/plugins/wordfence/js/jquery.tmpl.min.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/knockout-3.5.1.1690810710.js b/wp-content/plugins/wordfence/js/knockout-3.5.1.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/knockout-3.5.1.1690810710.js
rename to wp-content/plugins/wordfence/js/knockout-3.5.1.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfdashboard.1690810710.js b/wp-content/plugins/wordfence/js/wfdashboard.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfdashboard.1690810710.js
rename to wp-content/plugins/wordfence/js/wfdashboard.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfdropdown.1690810710.js b/wp-content/plugins/wordfence/js/wfdropdown.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfdropdown.1690810710.js
rename to wp-content/plugins/wordfence/js/wfdropdown.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfglobal.1690810710.js b/wp-content/plugins/wordfence/js/wfglobal.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfglobal.1690810710.js
rename to wp-content/plugins/wordfence/js/wfglobal.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfi18n.1690810710.js b/wp-content/plugins/wordfence/js/wfi18n.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfi18n.1690810710.js
rename to wp-content/plugins/wordfence/js/wfi18n.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfonboarding.1690810710.js b/wp-content/plugins/wordfence/js/wfonboarding.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfonboarding.1690810710.js
rename to wp-content/plugins/wordfence/js/wfonboarding.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfpopover.1690810710.js b/wp-content/plugins/wordfence/js/wfpopover.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfpopover.1690810710.js
rename to wp-content/plugins/wordfence/js/wfpopover.1695657196.js
diff --git a/wp-content/plugins/wordfence/js/wfselect2.min.1690810710.js b/wp-content/plugins/wordfence/js/wfselect2.min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/js/wfselect2.min.1690810710.js
rename to wp-content/plugins/wordfence/js/wfselect2.min.1695657196.js
diff --git a/wp-content/plugins/wordfence/languages/wordfence.pot b/wp-content/plugins/wordfence/languages/wordfence.pot
index 7255d6163..187aa4f9f 100755
--- a/wp-content/plugins/wordfence/languages/wordfence.pot
+++ b/wp-content/plugins/wordfence/languages/wordfence.pot
@@ -1,17 +1,17 @@
# Copyright (C) 2023 Wordfence
-# This file is distributed under the same license as the Wordfence Security plugin.
+# This file is distributed under the GPLv3.
msgid ""
msgstr ""
-"Project-Id-Version: Wordfence Security 7.10.3\n"
-"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordfence-zip-DRQa4hG9o\n"
+"Project-Id-Version: Wordfence Security 7.10.4\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wordfence-zip-jST0vjW28\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2023-07-31T09:38:31-04:00\n"
+"POT-Creation-Date: 2023-09-25T15:53:16+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"X-Generator: WP-CLI 2.4.0\n"
+"X-Generator: WP-CLI 2.7.1\n"
"X-Domain: wordfence\n"
#. Plugin Name of the plugin
@@ -249,10 +249,11 @@ msgstr ""
#: lib/wfScanEngine.php:1334
#: lib/wfScanEngine.php:1477
#: lib/wfScanEngine.php:1841
-#: lib/wfScanEngine.php:2087
-#: lib/wfScanEngine.php:2126
-#: lib/wfScanEngine.php:2327
-#: lib/wfScanEngine.php:2369
+#: lib/wfScanEngine.php:1960
+#: lib/wfScanEngine.php:2133
+#: lib/wfScanEngine.php:2172
+#: lib/wfScanEngine.php:2373
+#: lib/wfScanEngine.php:2415
#: lib/wfVersionCheckController.php:69
#: lib/wfVersionCheckController.php:92
#: lib/wfVersionCheckController.php:168
@@ -491,11 +492,11 @@ msgstr ""
#: lib/menu_tools_diagnostic.php:905
#: lib/menu_tools_twoFactor.php:235
#: lib/menu_tools_twoFactor.php:273
-#: lib/wordfenceClass.php:8269
-#: lib/wordfenceClass.php:8313
-#: lib/wordfenceClass.php:8377
-#: lib/wordfenceClass.php:8437
-#: lib/wordfenceClass.php:8483
+#: lib/wordfenceClass.php:8298
+#: lib/wordfenceClass.php:8342
+#: lib/wordfenceClass.php:8406
+#: lib/wordfenceClass.php:8466
+#: lib/wordfenceClass.php:8512
#: modules/login-security/views/manage/deactivate.php:31
#: modules/login-security/views/manage/regenerate.php:26
#: views/blocking/block-list.php:501
@@ -979,7 +980,7 @@ msgstr ""
#: lib/menu_dashboard.php:67
#: lib/menu_dashboard_options.php:111
#: lib/menu_scanner.php:27
-#: lib/menu_scanner.php:295
+#: lib/menu_scanner.php:296
#: lib/wordfenceClass.php:6834
#: models/page/wfPage.php:113
msgid "Scan"
@@ -1205,9 +1206,9 @@ msgstr ""
#: lib/menu_firewall_waf.php:255
#: lib/menu_firewall_waf.php:272
#: lib/menu_firewall_waf.php:289
-#: lib/menu_scanner.php:303
-#: lib/menu_scanner.php:320
-#: lib/menu_scanner.php:372
+#: lib/menu_scanner.php:304
+#: lib/menu_scanner.php:321
+#: lib/menu_scanner.php:373
#: views/tours/login-security.php:37
#: views/tours/login-security.php:53
msgid "Next"
@@ -1232,9 +1233,9 @@ msgstr ""
#: lib/menu_firewall_waf.php:271
#: lib/menu_firewall_waf.php:288
#: lib/menu_firewall_waf.php:306
-#: lib/menu_scanner.php:319
-#: lib/menu_scanner.php:335
-#: lib/menu_scanner.php:386
+#: lib/menu_scanner.php:320
+#: lib/menu_scanner.php:336
+#: lib/menu_scanner.php:387
#: views/tours/login-security.php:52
#: views/tours/login-security.php:69
msgid "Previous"
@@ -1255,8 +1256,8 @@ msgstr ""
#: lib/menu_firewall_blocking.php:226
#: lib/menu_firewall_waf.php:307
#: lib/menu_firewall_waf.php:354
-#: lib/menu_scanner.php:336
-#: lib/menu_scanner.php:387
+#: lib/menu_scanner.php:337
+#: lib/menu_scanner.php:388
#: lib/menu_tools_livetraffic.php:577
#: lib/menu_tools_livetraffic.php:608
msgid "Got it"
@@ -2454,10 +2455,10 @@ msgstr ""
#: lib/wordfenceClass.php:6228
#: lib/wordfenceClass.php:6230
#: lib/wordfenceClass.php:6281
-#: lib/wordfenceClass.php:8294
-#: lib/wordfenceClass.php:8301
-#: lib/wordfenceClass.php:8408
-#: lib/wordfenceClass.php:8472
+#: lib/wordfenceClass.php:8323
+#: lib/wordfenceClass.php:8330
+#: lib/wordfenceClass.php:8437
+#: lib/wordfenceClass.php:8501
#: modules/login-security/classes/controller/wordfencels.php:366
#: modules/login-security/classes/controller/wordfencels.php:369
#: views/dashboard/options-group-import.php:147
@@ -2468,39 +2469,39 @@ msgstr ""
msgid "Close"
msgstr ""
-#: lib/menu_scanner.php:296
+#: lib/menu_scanner.php:297
msgid "A Wordfence scan looks for malware, malicious URLs, and patterns of infections by examining all of the files, posts, and comments on your WordPress website. It also checks your server and monitors your site's online reputation."
msgstr ""
-#: lib/menu_scanner.php:310
+#: lib/menu_scanner.php:311
msgid "Manage Scan Settings"
msgstr ""
-#: lib/menu_scanner.php:312
+#: lib/menu_scanner.php:313
msgid "Set up the way you want the scan to monitor your site security including custom scan configurations and scheduling."
msgstr ""
-#: lib/menu_scanner.php:327
+#: lib/menu_scanner.php:328
msgid "Start Your First Scan"
msgstr ""
-#: lib/menu_scanner.php:328
+#: lib/menu_scanner.php:329
msgid "By default, Wordfence will scan your site daily. Start your first scan now to see if your site has any security issues that need to be addressed. From here you can run manual scans any time you like."
msgstr ""
-#: lib/menu_scanner.php:364
+#: lib/menu_scanner.php:365
msgid "Scan Options & Settings"
msgstr ""
-#: lib/menu_scanner.php:366
+#: lib/menu_scanner.php:367
msgid "All of your scan options, including scheduling, are now located here."
msgstr ""
-#: lib/menu_scanner.php:379
+#: lib/menu_scanner.php:380
msgid "Scan Progress and Activity"
msgstr ""
-#: lib/menu_scanner.php:380
+#: lib/menu_scanner.php:381
msgid "Track each scan stage as Wordfence scans your entire site. Along the way you can see the activity log one line at a time or expand the activity log for a more detailed view. Clicking on scan results will reveal detailed scan findings."
msgstr ""
@@ -3999,7 +4000,7 @@ msgstr ""
#. translators: URL to the WordPress admin panel.
#: lib/wfActivityReport.php:507
-#: lib/wfIssues.php:487
+#: lib/wfIssues.php:488
msgid "No longer an administrator for this site? Click here to stop receiving security alerts."
msgstr ""
@@ -4009,37 +4010,37 @@ msgid "Wordfence activity for %1$s on %2$s"
msgstr ""
#: lib/wfActivityReport.php:584
-#: lib/wordfenceClass.php:8705
+#: lib/wordfenceClass.php:8734
msgid "Blocked because the IP is blocklisted"
msgstr ""
#. translators: Reason for firewall action.
#: lib/wfActivityReport.php:587
-#: lib/wordfenceClass.php:8708
+#: lib/wordfenceClass.php:8737
msgid "Blocked for %s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:599
-#: lib/wordfenceClass.php:8722
+#: lib/wordfenceClass.php:8751
msgid "Blocked for %1$s in query string: %2$s = %3$s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:602
-#: lib/wordfenceClass.php:8727
+#: lib/wordfenceClass.php:8756
msgid "Blocked for %1$s in POST body: %2$s = %3$s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:605
-#: lib/wordfenceClass.php:8732
+#: lib/wordfenceClass.php:8761
msgid "Blocked for %1$s in cookie: %2$s = %3$s"
msgstr ""
#. translators: 1. Reason for firewall action. 2. Input parameter. 2. Input parameter value.
#: lib/wfActivityReport.php:608
-#: lib/wordfenceClass.php:8737
+#: lib/wordfenceClass.php:8766
msgid "Blocked for %1$s in file: %2$s = %3$s"
msgstr ""
@@ -4053,7 +4054,7 @@ msgstr ""
#: lib/wordfenceClass.php:6287
#: lib/wordfenceClass.php:6542
#: lib/wordfenceClass.php:6577
-#: lib/wordfenceClass.php:9285
+#: lib/wordfenceClass.php:9314
msgid "Dismiss"
msgstr ""
@@ -5289,7 +5290,7 @@ msgid "Unable to remove code execution protections applied to the .htaccess file
msgstr ""
#: lib/wfConfig.php:1193
-#: lib/wordfenceClass.php:7757
+#: lib/wordfenceClass.php:7786
#: modules/login-security/classes/controller/settings.php:214
msgid "The grace period end time must be in the future."
msgstr ""
@@ -5633,7 +5634,7 @@ msgstr ""
#: lib/wfDiagnostic.php:431
#: lib/wfDiagnostic.php:929
#: lib/wfDiagnostic.php:956
-#: lib/wfUpdateCheck.php:114
+#: lib/wfUpdateCheck.php:117
#: views/scanner/issue-base.php:118
msgid "None"
msgstr ""
@@ -6735,8 +6736,8 @@ msgstr ""
#. translators: Scan result description.
#: lib/wfScanEngine.php:1147
-#: lib/wfScanEngine.php:2329
-#: lib/wfScanEngine.php:2371
+#: lib/wfScanEngine.php:2375
+#: lib/wfScanEngine.php:2417
msgid "Adding issue: %s"
msgstr ""
@@ -6781,7 +6782,7 @@ msgid "Examining URLs found in posts we scanned for dangerous websites"
msgstr ""
#: lib/wfScanEngine.php:1292
-#: lib/wfScanEngine.php:2292
+#: lib/wfScanEngine.php:2338
msgid "Done examining URLs"
msgstr ""
@@ -6988,240 +6989,263 @@ msgstr ""
msgid "Scanning for old themes, plugins and core files"
msgstr ""
-#: lib/wfScanEngine.php:1942
+#. translators: error message.
+#: lib/wfScanEngine.php:1951
+msgid "The update check performed during the scan encountered an error: %s"
+msgstr ""
+
+#: lib/wfScanEngine.php:1953
+msgid "Wordfence cannot detect if the installed plugins and themes are up to date. This might be caused by a PHP compatibility issue in one or more plugins/themes."
+msgstr ""
+
+#: lib/wfScanEngine.php:1956
+msgid "Wordfence cannot detect if this plugin/theme is up to date. This might be caused by a PHP compatibility issue in the plugin."
+msgstr ""
+
+#. translators: Support URL.
+#: lib/wfScanEngine.php:1960
+#: lib/wfScanEngine.php:2133
+#: lib/wfScanEngine.php:2172
+#: lib/wfScanEngine.php:2373
+#: lib/wfScanEngine.php:2415
+msgid "Get more information. ("
+msgstr ""
+
+#: lib/wfScanEngine.php:1969
+msgid "Update Check Encountered Error"
+msgstr ""
+
+#. translators: plugin/theme slug.
+#: lib/wfScanEngine.php:1969
+msgid "Update Check Encountered Error on '%s'"
+msgstr ""
+
+#: lib/wfScanEngine.php:1988
msgid "Your WordPress version is out of date"
msgstr ""
#. translators: Software version.
-#: lib/wfScanEngine.php:1943
+#: lib/wfScanEngine.php:1989
msgid "WordPress version %s is now available. Please upgrade immediately to get the latest security updates from WordPress."
msgstr ""
#. translators: 1. Plugin name. 2. Software version. 3. Software version.
-#: lib/wfScanEngine.php:1970
+#: lib/wfScanEngine.php:2016
msgid "The Plugin \"%1$s\" needs an upgrade (%2$s -> %3$s)."
msgstr ""
#. translators: Theme name.
-#: lib/wfScanEngine.php:1977
-#: lib/wfScanEngine.php:2011
+#: lib/wfScanEngine.php:2023
+#: lib/wfScanEngine.php:2057
msgid "You need to upgrade \"%s\" to the newest version to ensure you have any security fixes the developer has released."
msgstr ""
#. translators: 1. Theme name. 2. Software version. 3. Software version.
-#: lib/wfScanEngine.php:2004
+#: lib/wfScanEngine.php:2050
msgid "The Theme \"%1$s\" needs an upgrade (%2$s -> %3$s)."
msgstr ""
#. translators: 1. Plugin name. 2. Software version. 3. Software version.
-#: lib/wfScanEngine.php:2055
+#: lib/wfScanEngine.php:2101
msgid "The Plugin \"%1$s\" appears to be abandoned (updated %2$s, tested to WP %3$s)."
msgstr ""
#. translators: 1. Plugin name. 2. Software version.
-#: lib/wfScanEngine.php:2062
+#: lib/wfScanEngine.php:2108
msgid "It was last updated %1$s ago and tested up to WordPress %2$s."
msgstr ""
#. translators: 1. Plugin name. 2. Software version.
-#: lib/wfScanEngine.php:2069
+#: lib/wfScanEngine.php:2115
msgid "The Plugin \"%1$s\" appears to be abandoned (updated %2$s)."
msgstr ""
#. translators: Time duration.
-#: lib/wfScanEngine.php:2075
+#: lib/wfScanEngine.php:2121
msgid "It was last updated %s ago."
msgstr ""
-#: lib/wfScanEngine.php:2081
-#: lib/wfScanEngine.php:2120
+#: lib/wfScanEngine.php:2127
+#: lib/wfScanEngine.php:2166
msgid "It has unpatched security issues and may have compatibility problems with the current version of WordPress."
msgstr ""
-#: lib/wfScanEngine.php:2083
-#: lib/wfScanEngine.php:2122
+#: lib/wfScanEngine.php:2129
+#: lib/wfScanEngine.php:2168
msgid "Your site is still using this plugin, but it is not currently available on wordpress.org. Plugins can be removed from wordpress.org for various reasons. This can include benign issues like a plugin author discontinuing development or moving the plugin distribution to their own site, but some might also be due to security issues. In any case, future updates may or may not be available, so it is worth investigating the cause and deciding whether to temporarily or permanently replace or remove the plugin."
msgstr ""
-#. translators: Support URL.
-#: lib/wfScanEngine.php:2087
-#: lib/wfScanEngine.php:2126
-#: lib/wfScanEngine.php:2327
-#: lib/wfScanEngine.php:2369
-msgid "Get more information. ("
-msgstr ""
-
#. translators: Plugin name.
-#: lib/wfScanEngine.php:2118
+#: lib/wfScanEngine.php:2164
msgid "The Plugin \"%s\" has been removed from wordpress.org but is still installed on your site."
msgstr ""
-#: lib/wfScanEngine.php:2145
+#: lib/wfScanEngine.php:2191
msgid "The Plugin \"%s\" has a security vulnerability."
msgstr ""
-#: lib/wfScanEngine.php:2148
+#: lib/wfScanEngine.php:2194
msgid "To protect your site from this vulnerability, the safest option is to deactivate and completely remove \"%s\" until a patched version is available. Get more information. (opens in new tab) "
msgstr ""
-#: lib/wfScanEngine.php:2184
+#: lib/wfScanEngine.php:2230
msgid "Scanning for admin users not created through WordPress"
msgstr ""
#. translators: WordPress username.
-#: lib/wfScanEngine.php:2206
+#: lib/wfScanEngine.php:2252
msgid "An admin user with the username %s was created outside of WordPress."
msgstr ""
#. translators: WordPress username.
-#: lib/wfScanEngine.php:2207
+#: lib/wfScanEngine.php:2253
msgid "An admin user with the username %s was created outside of WordPress. It's possible a plugin could have created the account, but if you do not recognize the user, we suggest you remove it."
msgstr ""
#. translators: WordPress username.
-#: lib/wfScanEngine.php:2233
+#: lib/wfScanEngine.php:2279
msgid "An admin user with a suspicious username %s was found."
msgstr ""
#. translators: WordPress username.
-#: lib/wfScanEngine.php:2234
+#: lib/wfScanEngine.php:2280
msgid "An admin user with a suspicious username %s was found. Administrators accounts with usernames similar to this are commonly seen created by hackers. It's possible a plugin could have created the account, but if you do not recognize the user, we suggest you remove it."
msgstr ""
-#: lib/wfScanEngine.php:2255
+#: lib/wfScanEngine.php:2301
msgid "Scanning for suspicious site options"
msgstr ""
-#: lib/wfScanEngine.php:2290
+#: lib/wfScanEngine.php:2336
msgid "Examining URLs found in the options we scanned for dangerous websites"
msgstr ""
#. translators: URL.
-#: lib/wfScanEngine.php:2314
-#: lib/wfScanEngine.php:2320
+#: lib/wfScanEngine.php:2360
+#: lib/wfScanEngine.php:2366
msgid "Option contains a suspected malware URL: %s"
msgstr ""
#. translators: URL.
-#: lib/wfScanEngine.php:2315
+#: lib/wfScanEngine.php:2361
msgid "This option contains a suspected malware URL listed on Google's list of malware sites. It may indicate your site is infected with malware. The URL is: %s"
msgstr ""
#. translators: URL.
-#: lib/wfScanEngine.php:2317
+#: lib/wfScanEngine.php:2363
msgid "Option contains a suspected phishing site URL: %s"
msgstr ""
#. translators: URL.
-#: lib/wfScanEngine.php:2318
+#: lib/wfScanEngine.php:2364
msgid "This option contains a URL that is a suspected phishing site that is currently listed on Google's list of known phishing sites. It may indicate your site is infected with malware. The URL is: %s"
msgstr ""
#. translators: URL.
-#: lib/wfScanEngine.php:2321
+#: lib/wfScanEngine.php:2367
msgid "This option contains a URL that is currently listed on Wordfence's domain blocklist. It may indicate your site is infected with malware. The URL is: %s"
msgstr ""
-#: lib/wfScanEngine.php:2361
+#: lib/wfScanEngine.php:2407
msgid "Checking for future GeoIP support"
msgstr ""
-#: lib/wfScanEngine.php:2366
+#: lib/wfScanEngine.php:2412
msgid "PHP Update Needed for Country Blocking"
msgstr ""
#. translators: Software version.
-#: lib/wfScanEngine.php:2367
+#: lib/wfScanEngine.php:2413
msgid "The GeoIP database that is required for country blocking has been updated to a new format. This new format requires sites to run PHP 5.4 or newer, and this site is on PHP %s. To ensure country blocking continues functioning, please update PHP."
msgstr ""
-#: lib/wfScanEngine.php:2417
+#: lib/wfScanEngine.php:2463
msgid "Previous scan was stopped successfully."
msgstr ""
-#: lib/wfScanEngine.php:2418
+#: lib/wfScanEngine.php:2464
msgid "Scan was stopped on administrator request."
msgstr ""
-#: lib/wfScanEngine.php:2434
+#: lib/wfScanEngine.php:2480
msgid "Entering start scan routine"
msgstr ""
-#: lib/wfScanEngine.php:2437
+#: lib/wfScanEngine.php:2483
msgid "A scan is already running. Use the stop scan button if you would like to terminate the current scan."
msgstr ""
-#: lib/wfScanEngine.php:2453
+#: lib/wfScanEngine.php:2499
msgid "Cached result for scan start test: %s"
msgstr ""
#. translators: Scan start test result data.
-#: lib/wfScanEngine.php:2469
+#: lib/wfScanEngine.php:2515
msgid "Test result of scan start URL fetch: %s"
msgstr ""
#. translators: WordPress admin panel URL.
-#: lib/wfScanEngine.php:2482
+#: lib/wfScanEngine.php:2528
msgid "Starting cron with normal ajax at URL %s"
msgstr ""
#. translators: Error message.
#. translators: WordPress admin panel URL.
-#: lib/wfScanEngine.php:2506
-#: lib/wfScanEngine.php:2541
+#: lib/wfScanEngine.php:2552
+#: lib/wfScanEngine.php:2587
msgid "There was an error starting the scan: %s."
msgstr ""
-#: lib/wfScanEngine.php:2508
-#: lib/wfScanEngine.php:2543
+#: lib/wfScanEngine.php:2554
+#: lib/wfScanEngine.php:2589
msgid "There was an unknown error starting the scan."
msgstr ""
-#: lib/wfScanEngine.php:2515
-#: lib/wfScanEngine.php:2549
+#: lib/wfScanEngine.php:2561
+#: lib/wfScanEngine.php:2595
msgid "Scan process ended after forking."
msgstr ""
#. translators: WordPress admin panel URL.
-#: lib/wfScanEngine.php:2519
+#: lib/wfScanEngine.php:2565
msgid "Starting cron via proxy at URL %s"
msgstr ""
#. translators: Time in seconds.
-#: lib/wfScanEngine.php:2595
+#: lib/wfScanEngine.php:2641
msgid "Got value from wf config maxExecutionTime: %s"
msgstr ""
#. translators: Time in seconds.
-#: lib/wfScanEngine.php:2599
+#: lib/wfScanEngine.php:2645
msgid "getMaxExecutionTime() returning config value: %s"
msgstr ""
#. translators: PHP ini value.
-#: lib/wfScanEngine.php:2606
+#: lib/wfScanEngine.php:2652
msgid "Got max_execution_time value from ini: %s"
msgstr ""
#. translators: 1. PHP ini setting. 2. Time in seconds.
-#: lib/wfScanEngine.php:2613
+#: lib/wfScanEngine.php:2659
msgid "ini value of %1$d is higher than value for WORDFENCE_SCAN_MAX_INI_EXECUTION_TIME (%2$d), reducing"
msgstr ""
#. translators: PHP ini setting.
-#: lib/wfScanEngine.php:2623
+#: lib/wfScanEngine.php:2669
msgid "getMaxExecutionTime() returning half ini value: %d"
msgstr ""
-#: lib/wfScanEngine.php:2629
+#: lib/wfScanEngine.php:2675
msgid "getMaxExecutionTime() returning default of: 15"
msgstr ""
#. translators: 1. HTTP status code.
-#: lib/wfScanEngine.php:2831
+#: lib/wfScanEngine.php:2877
msgid "Got error response from Wordfence servers: %s"
msgstr ""
-#: lib/wfScanEngine.php:2835
+#: lib/wfScanEngine.php:2881
msgid "Invalid response from Wordfence servers."
msgstr ""
@@ -7238,11 +7262,11 @@ msgid "Send Unlock Email"
msgstr ""
#. translators: 1. Plugin slug.
-#: lib/wfUpdateCheck.php:44
+#: lib/wfUpdateCheck.php:47
msgid "Outdated plugin scan adjusted invalid return value in plugins_api filter for %s"
msgstr ""
-#: lib/wfUpdateCheck.php:106
+#: lib/wfUpdateCheck.php:109
#: views/dashboard/options-group-alert.php:73
#: views/scanner/issue-base.php:32
#: views/scanner/issue-base.php:41
@@ -7250,7 +7274,7 @@ msgstr ""
msgid "Critical"
msgstr ""
-#: lib/wfUpdateCheck.php:108
+#: lib/wfUpdateCheck.php:111
#: views/dashboard/options-group-alert.php:74
#: views/scanner/issue-base.php:33
#: views/scanner/issue-base.php:42
@@ -7258,7 +7282,7 @@ msgstr ""
msgid "High"
msgstr ""
-#: lib/wfUpdateCheck.php:110
+#: lib/wfUpdateCheck.php:113
#: views/dashboard/options-group-alert.php:75
#: views/scanner/issue-base.php:34
#: views/scanner/issue-base.php:43
@@ -7266,7 +7290,7 @@ msgstr ""
msgid "Medium"
msgstr ""
-#: lib/wfUpdateCheck.php:112
+#: lib/wfUpdateCheck.php:115
#: views/dashboard/options-group-alert.php:76
#: views/scanner/issue-base.php:35
#: views/scanner/issue-base.php:44
@@ -8028,7 +8052,7 @@ msgstr ""
#: lib/wordfenceClass.php:5351
#: lib/wordfenceClass.php:7555
#: lib/wordfenceClass.php:7590
-#: lib/wordfenceClass.php:7622
+#: lib/wordfenceClass.php:7651
msgid "We could not find that issue in our database."
msgstr ""
@@ -9298,6 +9322,8 @@ msgstr ""
#: lib/wordfenceClass.php:7559
#: lib/wordfenceClass.php:7563
#: lib/wordfenceClass.php:7594
+#: lib/wordfenceClass.php:7621
+#: lib/wordfenceClass.php:7625
msgid "We could not find that user in the database."
msgstr ""
@@ -9305,232 +9331,236 @@ msgstr ""
msgid "This user's email is the network admin email. It will need to be changed before deleting this user."
msgstr ""
-#: lib/wordfenceClass.php:7631
+#: lib/wordfenceClass.php:7617
+msgid "We could not find that issue in the database."
+msgstr ""
+
+#: lib/wordfenceClass.php:7660
msgid "Wordfence could not find your .htaccess file."
msgstr ""
-#: lib/wordfenceClass.php:7647
+#: lib/wordfenceClass.php:7676
msgid "Updating the .htaccess did not fix the issue. You may need to add Options -Indexes
to your httpd.conf if using Apache, or find documentation on how to disable directory listing for your web server."
msgstr ""
-#: lib/wordfenceClass.php:7653
+#: lib/wordfenceClass.php:7682
msgid "There was an error writing to your .htaccess file."
msgstr ""
-#: lib/wordfenceClass.php:7732
+#: lib/wordfenceClass.php:7761
msgid "Required parameters not sent."
msgstr ""
-#: lib/wordfenceClass.php:7742
+#: lib/wordfenceClass.php:7771
msgid "The WAF is currently in read-only mode and will not save any configuration changes."
msgstr ""
-#: lib/wordfenceClass.php:7780
+#: lib/wordfenceClass.php:7809
#: views/waf/option-whitelist.php:60
msgid "Allowlisted via Firewall Options page"
msgstr ""
-#: lib/wordfenceClass.php:8067
+#: lib/wordfenceClass.php:8096
msgid "Allowlisted via Live Traffic"
msgstr ""
-#: lib/wordfenceClass.php:8231
-#: lib/wordfenceClass.php:8328
+#: lib/wordfenceClass.php:8260
+#: lib/wordfenceClass.php:8357
msgid "A valid server configuration was not provided."
msgstr ""
-#: lib/wordfenceClass.php:8242
-#: lib/wordfenceClass.php:8349
+#: lib/wordfenceClass.php:8271
+#: lib/wordfenceClass.php:8378
msgid "Filesystem Credentials Required"
msgstr ""
#. translators: Support URL.
-#: lib/wordfenceClass.php:8244
-#: lib/wordfenceClass.php:8268
-#: lib/wordfenceClass.php:8312
+#: lib/wordfenceClass.php:8273
+#: lib/wordfenceClass.php:8297
+#: lib/wordfenceClass.php:8341
msgid "If you cannot complete the setup process, click here for help (opens in new tab) "
msgstr ""
#. translators: Support URL.
-#: lib/wordfenceClass.php:8245
+#: lib/wordfenceClass.php:8274
msgid "Once you have entered credentials, click Continue to complete the setup."
msgstr ""
-#: lib/wordfenceClass.php:8266
-#: lib/wordfenceClass.php:8374
+#: lib/wordfenceClass.php:8295
+#: lib/wordfenceClass.php:8403
msgid "Filesystem Permission Error"
msgstr ""
-#: lib/wordfenceClass.php:8292
+#: lib/wordfenceClass.php:8321
msgid "Manual Installation Instructions"
msgstr ""
-#: lib/wordfenceClass.php:8299
+#: lib/wordfenceClass.php:8328
msgid "Installation Successful"
msgstr ""
-#: lib/wordfenceClass.php:8310
+#: lib/wordfenceClass.php:8339
msgid "Installation Failed"
msgstr ""
#. translators: Support URL.
-#: lib/wordfenceClass.php:8351
-#: lib/wordfenceClass.php:8376
-#: lib/wordfenceClass.php:8407
+#: lib/wordfenceClass.php:8380
+#: lib/wordfenceClass.php:8405
#: lib/wordfenceClass.php:8436
-#: lib/wordfenceClass.php:8482
+#: lib/wordfenceClass.php:8465
+#: lib/wordfenceClass.php:8511
#: views/waf/waf-uninstall.php:13
msgid "If you cannot complete the uninstall process, click here for help (opens in new tab) "
msgstr ""
#. translators: Support URL.
-#: lib/wordfenceClass.php:8352
+#: lib/wordfenceClass.php:8381
msgid "Once you have entered credentials, click Continue to complete uninstallation."
msgstr ""
-#: lib/wordfenceClass.php:8396
+#: lib/wordfenceClass.php:8425
msgid "The auto_prepend_file
setting has been successfully removed from .htaccess
and .user.ini
. Once this change takes effect, Extended Protection Mode will be disabled."
msgstr ""
-#: lib/wordfenceClass.php:8398
+#: lib/wordfenceClass.php:8427
msgid "Any previous value for auto_prepend_file
will need to be re-enabled manually if still needed."
msgstr ""
#. translators: Time until.
-#: lib/wordfenceClass.php:8402
+#: lib/wordfenceClass.php:8431
msgid "Waiting for it to take effect. This may take up to %s."
msgstr ""
-#: lib/wordfenceClass.php:8405
+#: lib/wordfenceClass.php:8434
msgid "Waiting for Changes"
msgstr ""
-#: lib/wordfenceClass.php:8427
+#: lib/wordfenceClass.php:8456
msgid "Extended Protection Mode has not been disabled. This may be because auto_prepend_file
is configured somewhere else or the value is still cached by PHP."
msgstr ""
-#: lib/wordfenceClass.php:8429
+#: lib/wordfenceClass.php:8458
msgid "Retrying Failed."
msgstr ""
-#: lib/wordfenceClass.php:8431
+#: lib/wordfenceClass.php:8460
#: modules/login-security/views/settings/user-stats.php:75
msgid "Try Again"
msgstr ""
-#: lib/wordfenceClass.php:8434
+#: lib/wordfenceClass.php:8463
msgid "Unable to Uninstall"
msgstr ""
-#: lib/wordfenceClass.php:8470
+#: lib/wordfenceClass.php:8499
msgid "Uninstallation Complete"
msgstr ""
-#: lib/wordfenceClass.php:8480
+#: lib/wordfenceClass.php:8509
msgid "Uninstallation Failed"
msgstr ""
#. translators: 1. Number of attacks/blocks. 2. Time since.
-#: lib/wordfenceClass.php:8688
+#: lib/wordfenceClass.php:8717
msgid "The Wordfence Web Application Firewall has blocked %1$d attacks over the last %2$s."
msgstr ""
-#: lib/wordfenceClass.php:8693
+#: lib/wordfenceClass.php:8722
msgid "Wordfence is blocking these attacks, and we're sending this notice to make you aware that there is a higher volume of the attacks than usual. Additionally, the Wordfence Real-Time IP Blocklist can block known attackers' IP addresses automatically for Premium users, including any probing requests that may not be malicious on their own. All Wordfence users can also opt to block the attacking IPs manually if desired. As always, be sure to watch your scan results and keep your plugins, themes and WordPress core version updated."
msgstr ""
-#: lib/wordfenceClass.php:8695
+#: lib/wordfenceClass.php:8724
msgid "Below is a sample of these recent attacks:"
msgstr ""
-#: lib/wordfenceClass.php:9277
+#: lib/wordfenceClass.php:9306
msgid "An error was detected with this site's configuration that is preventing a successful connection to Wordfence Central. Disconnecting from Central on the Wordfence Dashboard and reconnecting may resolve it. If the issue persists, please contact Wordfence support."
msgstr ""
-#: lib/wordfenceClass.php:9284
+#: lib/wordfenceClass.php:9313
msgid "To make your site as secure as possible, take a moment to optimize the Wordfence Web Application Firewall:"
msgstr ""
-#: lib/wordfenceClass.php:9284
+#: lib/wordfenceClass.php:9313
msgid "Click here to configure"
msgstr ""
#. translators: Support URL.
-#: lib/wordfenceClass.php:9287
+#: lib/wordfenceClass.php:9316
msgid "If you cannot complete the setup process, click here for help (opens in new tab) ."
msgstr ""
-#: lib/wordfenceClass.php:9293
+#: lib/wordfenceClass.php:9322
#: views/waf/waf-install-success.php:14
msgid "Nice work! The firewall is now optimized."
msgstr ""
-#: lib/wordfenceClass.php:9295
-#: lib/wordfenceClass.php:9307
+#: lib/wordfenceClass.php:9324
+#: lib/wordfenceClass.php:9336
#: views/waf/waf-install-success.php:16
#: views/waf/waf-uninstall-success.php:19
msgid "The changes have not yet taken effect. If you are using LiteSpeed or IIS as your web server or CGI/FastCGI interface, you may need to wait a few minutes for the changes to take effect since the configuration files are sometimes cached. You also may need to select a different server configuration in order to complete this step, but wait for a few minutes before trying. You can try refreshing this page."
msgstr ""
-#: lib/wordfenceClass.php:9301
+#: lib/wordfenceClass.php:9330
#: views/waf/waf-uninstall-success.php:15
msgid "Uninstallation was successful!"
msgstr ""
-#: lib/wordfenceClass.php:9304
+#: lib/wordfenceClass.php:9333
#: views/waf/waf-uninstall-success.php:17
msgid "Uninstallation from this site was successful! The Wordfence Firewall is still active because it is installed in another WordPress installation."
msgstr ""
-#: lib/wordfenceClass.php:9312
+#: lib/wordfenceClass.php:9341
msgid "The update was successful!"
msgstr ""
-#: lib/wordfenceClass.php:9462
+#: lib/wordfenceClass.php:9491
msgid "Auth grant is invalid."
msgstr ""
#. translators: Error message.
-#: lib/wordfenceClass.php:9477
+#: lib/wordfenceClass.php:9506
msgid "Invalid response from Wordfence Central: %s"
msgstr ""
#. translators: JSON property.
-#: lib/wordfenceClass.php:9483
-#: lib/wordfenceClass.php:9496
+#: lib/wordfenceClass.php:9512
+#: lib/wordfenceClass.php:9525
msgid "Invalid response from Wordfence Central. Parameter %s not found in response."
msgstr ""
-#: lib/wordfenceClass.php:9525
-#: lib/wordfenceClass.php:9662
+#: lib/wordfenceClass.php:9554
+#: lib/wordfenceClass.php:9691
msgid "Access token not found."
msgstr ""
-#: lib/wordfenceClass.php:9570
-#: lib/wordfenceClass.php:9637
+#: lib/wordfenceClass.php:9599
+#: lib/wordfenceClass.php:9666
msgid "Invalid response from Wordfence Central."
msgstr ""
-#: lib/wordfenceClass.php:9613
+#: lib/wordfenceClass.php:9642
msgid "Auth grant not found."
msgstr ""
-#: lib/wordfenceClass.php:9883
+#: lib/wordfenceClass.php:9912
msgid "We were unable to create the wordfence-waf.php
file in the root of the WordPress installation. It's possible WordPress cannot write to the wordfence-waf.php
file because of file permissions. Please verify the permissions are correct and retry the installation."
msgstr ""
-#: lib/wordfenceClass.php:9975
-#: lib/wordfenceClass.php:10046
+#: lib/wordfenceClass.php:10004
+#: lib/wordfenceClass.php:10075
msgid "We were unable to make changes to the .htaccess file. It's possible WordPress cannot write to the .htaccess file because of file permissions, which may have been set by another security plugin, or you may have set them manually. Please verify the permissions allow the web server to write to the file, and retry the installation."
msgstr ""
#. translators: File path.
-#: lib/wordfenceClass.php:10016
-#: lib/wordfenceClass.php:10064
+#: lib/wordfenceClass.php:10045
+#: lib/wordfenceClass.php:10093
msgid "We were unable to make changes to the %1$s file. It's possible WordPress cannot write to the %1$s file because of file permissions. Please verify the permissions are correct and retry the installation."
msgstr ""
-#: lib/wordfenceClass.php:10080
+#: lib/wordfenceClass.php:10109
msgid "We were unable to remove the wordfence-waf.php
file in the root of the WordPress installation. It's possible WordPress cannot remove the wordfence-waf.php
file because of file permissions. Please verify the permissions are correct and retry the removal."
msgstr ""
@@ -12531,7 +12561,7 @@ msgstr ""
#: views/scanner/issue-spamvertizeCheck.php:12
#: views/scanner/issue-spamvertizeCheck.php:19
#: views/scanner/issue-suspiciousAdminUsers.php:12
-#: views/scanner/issue-suspiciousAdminUsers.php:21
+#: views/scanner/issue-suspiciousAdminUsers.php:22
#: views/scanner/issue-timelimit.php:12
#: views/scanner/issue-timelimit.php:19
#: views/scanner/issue-wafStatus.php:14
@@ -12548,6 +12578,8 @@ msgstr ""
#: views/scanner/issue-wfThemeUpgrade.php:32
#: views/scanner/issue-wfUpgrade.php:15
#: views/scanner/issue-wfUpgrade.php:29
+#: views/scanner/issue-wfUpgradeError.php:12
+#: views/scanner/issue-wfUpgradeError.php:20
#: views/scanner/issue-wpscan_directoryList.php:14
#: views/scanner/issue-wpscan_directoryList.php:25
#: views/scanner/issue-wpscan_fullPathDiscl.php:14
@@ -12573,7 +12605,7 @@ msgstr ""
#: views/scanner/issue-publiclyAccessible.php:19
#: views/scanner/issue-skippedPaths.php:20
#: views/scanner/issue-spamvertizeCheck.php:15
-#: views/scanner/issue-suspiciousAdminUsers.php:17
+#: views/scanner/issue-suspiciousAdminUsers.php:18
#: views/scanner/issue-timelimit.php:15
#: views/scanner/issue-wafStatus.php:17
#: views/scanner/issue-wfPluginAbandoned.php:24
@@ -12582,6 +12614,7 @@ msgstr ""
#: views/scanner/issue-wfPluginVulnerable.php:22
#: views/scanner/issue-wfThemeUpgrade.php:23
#: views/scanner/issue-wfUpgrade.php:21
+#: views/scanner/issue-wfUpgradeError.php:15
#: views/scanner/issue-wpscan_directoryList.php:19
#: views/scanner/issue-wpscan_fullPathDiscl.php:19
msgid "Mark as Fixed"
@@ -12859,6 +12892,10 @@ msgstr ""
msgid "Revoke Capabilities"
msgstr ""
+#: views/scanner/issue-suspiciousAdminUsers.php:17
+msgid "Acknowledge User"
+msgstr ""
+
#: views/scanner/issue-timelimit.php:8
msgid "Time Limit"
msgstr ""
@@ -12941,6 +12978,7 @@ msgid "Plugin Upgrade"
msgstr ""
#: views/scanner/issue-wfPluginUpgrade.php:10
+#: views/scanner/issue-wfUpgradeError.php:10
msgid "Ignore Update"
msgstr ""
@@ -12962,6 +13000,7 @@ msgstr ""
#: views/scanner/issue-wfPluginUpgrade.php:25
#: views/scanner/issue-wfThemeUpgrade.php:24
#: views/scanner/issue-wfUpgrade.php:22
+#: views/scanner/issue-wfUpgradeError.php:16
msgid "View Updates"
msgstr ""
@@ -13011,6 +13050,10 @@ msgstr ""
msgid "New WordPress Version"
msgstr ""
+#: views/scanner/issue-wfUpgradeError.php:8
+msgid "Update Check Error"
+msgstr ""
+
#: views/scanner/issue-wpscan_directoryList.php:8
msgid "Directory Listing Enabled"
msgstr ""
diff --git a/wp-content/plugins/wordfence/lib/menu_scanner.php b/wp-content/plugins/wordfence/lib/menu_scanner.php
index e1f49af92..39ab29b69 100755
--- a/wp-content/plugins/wordfence/lib/menu_scanner.php
+++ b/wp-content/plugins/wordfence/lib/menu_scanner.php
@@ -237,6 +237,7 @@
echo wfView::create('scanner/site-cleaning-beta-sigs')->render();
echo wfView::create('scanner/no-issues')->render();
echo wfView::create('scanner/issue-wfUpgrade')->render();
+echo wfView::create('scanner/issue-wfUpgradeError')->render();
echo wfView::create('scanner/issue-wfPluginUpgrade')->render();
echo wfView::create('scanner/issue-wfThemeUpgrade')->render();
echo wfView::create('scanner/issue-wfPluginRemoved')->render();
diff --git a/wp-content/plugins/wordfence/lib/wfIssues.php b/wp-content/plugins/wordfence/lib/wfIssues.php
index 1d7676a18..52225b8d5 100755
--- a/wp-content/plugins/wordfence/lib/wfIssues.php
+++ b/wp-content/plugins/wordfence/lib/wfIssues.php
@@ -78,13 +78,14 @@ class wfIssues {
'wfPluginRemoved' => wfIssues::SEVERITY_CRITICAL,
'wfPluginUpgrade' => wfIssues::SEVERITY_MEDIUM,
'wfThemeUpgrade' => wfIssues::SEVERITY_MEDIUM,
+ 'wfUpgradeError' => wfIssues::SEVERITY_MEDIUM,
'wfUpgrade' => wfIssues::SEVERITY_HIGH,
'wpscan_directoryList' => wfIssues::SEVERITY_HIGH,
'wpscan_fullPathDiscl' => wfIssues::SEVERITY_HIGH,
);
public static function validIssueTypes() {
- return array('checkHowGetIPs', 'checkSpamIP', 'commentBadURL', 'configReadable', 'coreUnknown', 'database', 'diskSpace', 'wafStatus', 'easyPassword', 'file', 'geoipSupport', 'knownfile', 'optionBadURL', 'postBadTitle', 'postBadURL', 'publiclyAccessible', 'spamvertizeCheck', 'suspiciousAdminUsers', 'timelimit', 'wfPluginAbandoned', 'wfPluginRemoved', 'wfPluginUpgrade', 'wfPluginVulnerable', 'wfThemeUpgrade', 'wfUpgrade', 'wpscan_directoryList', 'wpscan_fullPathDiscl', 'skippedPaths');
+ return array('checkHowGetIPs', 'checkSpamIP', 'commentBadURL', 'configReadable', 'coreUnknown', 'database', 'diskSpace', 'wafStatus', 'easyPassword', 'file', 'geoipSupport', 'knownfile', 'optionBadURL', 'postBadTitle', 'postBadURL', 'publiclyAccessible', 'spamvertizeCheck', 'suspiciousAdminUsers', 'timelimit', 'wfPluginAbandoned', 'wfPluginRemoved', 'wfPluginUpgrade', 'wfPluginVulnerable', 'wfThemeUpgrade', 'wfUpgradeError', 'wfUpgrade', 'wpscan_directoryList', 'wpscan_fullPathDiscl', 'skippedPaths');
}
public static function statusPrep(){
@@ -530,13 +531,13 @@ public function deleteUpdateIssues($type) {
}
public function deleteAllUpdateIssues() {
- $issues = $this->getDB()->querySelect("SELECT id, status, ignoreP, ignoreC FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
+ $issues = $this->getDB()->querySelect("SELECT id, status, ignoreP, ignoreC FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfUpgradeError' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
$this->clearEmailedStatus($issues);
- $this->getDB()->queryWrite("DELETE FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
+ $this->getDB()->queryWrite("DELETE FROM {$this->issuesTable} WHERE status = 'new' AND (type = 'wfUpgrade' OR type = 'wfUpgradeError' OR type = 'wfPluginUpgrade' OR type = 'wfThemeUpgrade')");
if (wfCentral::isConnected()) {
- wfCentral::deleteIssueTypes(array('wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade'));
+ wfCentral::deleteIssueTypes(array('wfUpgrade', 'wfUpgradeError', 'wfPluginUpgrade', 'wfThemeUpgrade'));
}
}
diff --git a/wp-content/plugins/wordfence/lib/wfScanEngine.php b/wp-content/plugins/wordfence/lib/wfScanEngine.php
index 869832848..3e19e5317 100755
--- a/wp-content/plugins/wordfence/lib/wfScanEngine.php
+++ b/wp-content/plugins/wordfence/lib/wfScanEngine.php
@@ -1889,36 +1889,50 @@ private function scan_oldVersions_main() {
foreach ($this->pluginRepoStatus as $slug => $status) {
if ($status === false) {
- $result = plugins_api('plugin_information', array(
- 'slug' => $slug,
- 'fields' => array(
- 'short_description' => false,
- 'description' => false,
- 'sections' => false,
- 'tested' => true,
- 'requires' => true,
- 'rating' => false,
- 'ratings' => false,
- 'downloaded' => false,
- 'downloadlink' => false,
- 'last_updated' => true,
- 'added' => false,
- 'tags' => false,
- 'compatibility' => true,
- 'homepage' => true,
- 'versions' => false,
- 'donate_link' => false,
- 'reviews' => false,
- 'banners' => false,
- 'icons' => false,
- 'active_installs' => false,
- 'group' => false,
- 'contributors' => false,
- ),
- ));
- unset($result->versions);
- unset($result->screenshots);
- $this->pluginRepoStatus[$slug] = $result;
+ try {
+ $result = plugins_api('plugin_information', array(
+ 'slug' => $slug,
+ 'fields' => array(
+ 'short_description' => false,
+ 'description' => false,
+ 'sections' => false,
+ 'tested' => true,
+ 'requires' => true,
+ 'rating' => false,
+ 'ratings' => false,
+ 'downloaded' => false,
+ 'downloadlink' => false,
+ 'last_updated' => true,
+ 'added' => false,
+ 'tags' => false,
+ 'compatibility' => true,
+ 'homepage' => true,
+ 'versions' => false,
+ 'donate_link' => false,
+ 'reviews' => false,
+ 'banners' => false,
+ 'icons' => false,
+ 'active_installs' => false,
+ 'group' => false,
+ 'contributors' => false,
+ ),
+ ));
+ unset($result->versions);
+ unset($result->screenshots);
+ $this->pluginRepoStatus[$slug] = $result;
+ }
+ catch (Exception $e) {
+ error_log(sprintf('Caught exception while attempting to refresh update status for slug %s: %s', $slug, $e->getMessage()));
+ $this->pluginRepoStatus[$slug] = false;
+ wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY, sprintf('%s [%s]', $e->getMessage(), $slug), false);
+ wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY, $slug, false);
+ }
+ catch (Throwable $t) {
+ error_log(sprintf('Caught error while attempting to refresh update status for slug %s: %s', $slug, $t->getMessage()));
+ $this->pluginRepoStatus[$slug] = false;
+ wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY, sprintf('%s [%s]', $t->getMessage(), $slug), false);
+ wfConfig::set(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY, $slug, false);
+ }
$this->forkIfNeeded();
}
@@ -1929,7 +1943,39 @@ private function scan_oldVersions_finish() {
$haveIssues = wfIssues::STATUS_SECURE;
if (!$this->isFullScan()) {
- $this->deleteNewIssues(array('wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade'));
+ $this->deleteNewIssues(array('wfUpgradeError', 'wfUpgrade', 'wfPluginUpgrade', 'wfThemeUpgrade'));
+ }
+
+ if ($lastError = wfConfig::get(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_KEY)) {
+ $lastSlug = wfConfig::get(wfUpdateCheck::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
+ $longMsg = sprintf(/* translators: error message. */ __("The update check performed during the scan encountered an error: %s", 'wordfence'), esc_html($lastError));
+ if ($lastSlug === false) {
+ $longMsg .= ' ' . __('Wordfence cannot detect if the installed plugins and themes are up to date. This might be caused by a PHP compatibility issue in one or more plugins/themes.', 'wordfence');
+ }
+ else {
+ $longMsg .= ' ' . __('Wordfence cannot detect if this plugin/theme is up to date. This might be caused by a PHP compatibility issue in the plugin.', 'wordfence');
+ }
+ $longMsg .= ' ' . sprintf(
+ /* translators: Support URL. */
+ __('Get more information. (' . esc_html__('opens in new tab', 'wordfence') . ') ', 'wordfence'), wfSupportController::esc_supportURL(wfSupportController::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED));
+
+ $ignoreKey = ($lastSlug === false ? 'wfUpgradeErrorGeneral' : sprintf('wfUpgradeError-%s', $lastSlug));
+
+ $added = $this->addIssue(
+ 'wfUpgradeError',
+ wfIssues::SEVERITY_MEDIUM,
+ $ignoreKey,
+ $ignoreKey,
+ ($lastSlug === false ? __("Update Check Encountered Error", 'wordfence') : sprintf(/* translators: plugin/theme slug. */ __("Update Check Encountered Error on '%s'", 'wordfence'), esc_html($lastSlug))),
+ $longMsg,
+ array()
+ );
+ if ($added == wfIssues::ISSUE_ADDED || $added == wfIssues::ISSUE_UPDATED) {
+ $haveIssues = wfIssues::STATUS_PROBLEM;
+ }
+ else if ($haveIssues != wfIssues::STATUS_PROBLEM && ($added == wfIssues::ISSUE_IGNOREP || $added == wfIssues::ISSUE_IGNOREC)) {
+ $haveIssues = wfIssues::STATUS_IGNORED;
+ }
}
// WordPress core updates needed
diff --git a/wp-content/plugins/wordfence/lib/wfScanMonitor.php b/wp-content/plugins/wordfence/lib/wfScanMonitor.php
index bbfaa2417..2b9e3d5f3 100755
--- a/wp-content/plugins/wordfence/lib/wfScanMonitor.php
+++ b/wp-content/plugins/wordfence/lib/wfScanMonitor.php
@@ -73,8 +73,8 @@ public static function monitorScan() {
if ($lastAttempt === null || $now - $lastAttempt < self::SCAN_START_TIMEOUT)
return;
$lastSuccess = wfConfig::get(self::CONFIG_LAST_SUCCESS);
+ self::setRemainingResumeAttempts(--$remainingAttempts);
if ($lastSuccess === null || $lastAttempt > $lastSuccess) {
- self::setRemainingResumeAttempts(--$remainingAttempts);
wordfence::status(2, 'info', sprintf(__('Attempting to resume scan stage (%d attempt(s) remaining)...', 'wordfence'), $remainingAttempts));
self::resumeScan();
}
diff --git a/wp-content/plugins/wordfence/lib/wfSupportController.php b/wp-content/plugins/wordfence/lib/wfSupportController.php
index a381721ad..35044666b 100755
--- a/wp-content/plugins/wordfence/lib/wfSupportController.php
+++ b/wp-content/plugins/wordfence/lib/wfSupportController.php
@@ -149,6 +149,7 @@ class wfSupportController {
const ITEM_SCAN_RESULT_PUBLIC_CONFIG = 'scan-result-public-config';
const ITEM_SCAN_RESULT_PLUGIN_ABANDONED = 'scan-result-plugin-abandoned';
const ITEM_SCAN_RESULT_PLUGIN_REMOVED = 'scan-result-plugin-removed';
+ const ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED = 'scan-result-update-check-failed';
const ITEM_SCAN_RESULT_OPTION_MALWARE_URL = 'scan-result-option-malware-url';
const ITEM_SCAN_RESULT_GEOIP_UPDATE = 'scan-result-geoip-update';
const ITEM_SCAN_RESULT_WAF_DISABLED = 'scan-result-waf-disabled';
@@ -341,6 +342,7 @@ public static function supportURL($item = self::ITEM_INDEX) {
case self::ITEM_SCAN_RESULT_PUBLIC_CONFIG:
case self::ITEM_SCAN_RESULT_PLUGIN_ABANDONED:
case self::ITEM_SCAN_RESULT_PLUGIN_REMOVED:
+ case self::ITEM_SCAN_RESULT_UPDATE_CHECK_FAILED:
case self::ITEM_SCAN_RESULT_OPTION_MALWARE_URL:
case self::ITEM_SCAN_RESULT_GEOIP_UPDATE:
case self::ITEM_SCAN_RESULT_WAF_DISABLED:
diff --git a/wp-content/plugins/wordfence/lib/wfUpdateCheck.php b/wp-content/plugins/wordfence/lib/wfUpdateCheck.php
index e2ffad798..4661fd7bb 100755
--- a/wp-content/plugins/wordfence/lib/wfUpdateCheck.php
+++ b/wp-content/plugins/wordfence/lib/wfUpdateCheck.php
@@ -6,6 +6,9 @@ class wfUpdateCheck {
const VULN_SEVERITY_MEDIUM = 40;
const VULN_SEVERITY_LOW = 1;
const VULN_SEVERITY_NONE = 0;
+
+ const LAST_UPDATE_CHECK_ERROR_KEY = 'lastUpdateCheckError';
+ const LAST_UPDATE_CHECK_ERROR_SLUG_KEY = 'lastUpdateCheckErrorSlug';
private $needs_core_update = false;
private $core_update_version = 0;
@@ -169,6 +172,11 @@ public function needsAnyUpdates() {
* @return $this
*/
public function checkAllUpdates($useCachedValued = true) {
+ if (!$useCachedValued) {
+ wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_KEY);
+ wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
+ }
+
return $this->checkCoreUpdates($useCachedValued)
->checkPluginUpdates($useCachedValued)
->checkThemeUpdates($useCachedValued);
@@ -189,7 +197,7 @@ public function checkCoreUpdates($useCachedValued = true) {
require_once(ABSPATH . 'wp-admin/includes/update.php');
}
- include(ABSPATH . WPINC . '/version.php'); //defines $wp_version
+ include(ABSPATH . WPINC . '/version.php'); /** @var $wp_version */
$update_core = get_preferred_from_update_core();
if ($useCachedValued && isset($update_core->last_checked) && isset($update_core->version_checked) && 12 * HOUR_IN_SECONDS > (time() - $update_core->last_checked) && $update_core->version_checked == $wp_version) { //Duplicate of _maybe_update_core, which is a private call
@@ -276,7 +284,19 @@ private function fetchPluginUpdates($useCache = true) {
return $update_plugins;
if (!function_exists('wp_update_plugins'))
require_once(ABSPATH . WPINC . '/update.php');
- wp_update_plugins();
+ try {
+ wp_update_plugins();
+ }
+ catch (Exception $e) {
+ wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $e->getMessage(), false);
+ wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
+ error_log('Caught exception while attempting to refresh plugin update status: ' . $e->getMessage());
+ }
+ catch (Throwable $t) {
+ wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $t->getMessage(), false);
+ wfConfig::remove(self::LAST_UPDATE_CHECK_ERROR_SLUG_KEY);
+ error_log('Caught error while attempting to refresh plugin update status: ' . $t->getMessage());
+ }
return get_site_transient('update_plugins');
}
@@ -293,7 +313,7 @@ public function checkPluginUpdates($useCachedValued = true, $checkVulnerabilitie
self::requirePluginsApi();
- $update_plugins = $this->fetchPluginUpdates();
+ $update_plugins = $this->fetchPluginUpdates($useCachedValued);
//Get the full plugin list
if (!function_exists('get_plugins')) {
@@ -357,7 +377,18 @@ public function checkThemeUpdates($useCachedValued = true, $checkVulnerabilities
//Do nothing, use cached value
}
else {
- wp_update_themes();
+ try {
+ wp_update_themes();
+ }
+ catch (Exception $e) {
+ wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $e->getMessage(), false);
+ error_log('Caught exception while attempting to refresh theme update status: ' . $e->getMessage());
+ }
+ catch (Throwable $t) {
+ wfConfig::set(self::LAST_UPDATE_CHECK_ERROR_KEY, $t->getMessage(), false);
+ error_log('Caught error while attempting to refresh theme update status: ' . $t->getMessage());
+ }
+
$update_themes = get_site_transient('update_themes');
}
diff --git a/wp-content/plugins/wordfence/lib/wfVersionSupport.php b/wp-content/plugins/wordfence/lib/wfVersionSupport.php
index 5ddddd5e0..16713dabf 100755
--- a/wp-content/plugins/wordfence/lib/wfVersionSupport.php
+++ b/wp-content/plugins/wordfence/lib/wfVersionSupport.php
@@ -6,5 +6,5 @@
$wfOpenSSLDeprecatingVersion = '1.0.1';
$wfOpenSSLMinimumVersion = '1.0.1';
-$wfWordPressDeprecatingVersion = '4.4.0';
+$wfWordPressDeprecatingVersion = '4.7.0';
$wfWordPressMinimumVersion = '3.9.0';
diff --git a/wp-content/plugins/wordfence/lib/wordfenceClass.php b/wp-content/plugins/wordfence/lib/wordfenceClass.php
index dfa925f89..5c9efe0d0 100755
--- a/wp-content/plugins/wordfence/lib/wordfenceClass.php
+++ b/wp-content/plugins/wordfence/lib/wordfenceClass.php
@@ -6098,7 +6098,7 @@ public static function admin_init(){
'loadTwoFactor', 'sendTestEmail',
'email_summary_email_address_debug', 'unblockNetwork',
'sendDiagnostic', 'saveDisclosureState', 'saveWAFConfig', 'updateWAFRules', 'loadLiveTraffic', 'whitelistWAFParamKey',
- 'disableDirectoryListing', 'fixFPD', 'deleteAdminUser', 'revokeAdminUser',
+ 'disableDirectoryListing', 'fixFPD', 'deleteAdminUser', 'revokeAdminUser', 'acknowledgeAdminUser',
'hideFileHtaccess', 'saveDebuggingConfig',
'whitelistBulkDelete', 'whitelistBulkEnable', 'whitelistBulkDisable',
'dismissNotification', 'utilityScanForBlacklisted', 'dashboardShowMore',
@@ -7608,6 +7608,35 @@ public static function ajax_revokeAdminUser_callback() {
'user_login' => $userLogin,
);
}
+
+ public static function ajax_acknowledgeAdminUser_callback() {
+ $issueID = absint(!empty($_POST['issueID']) ? $_POST['issueID'] : 0);
+ $wfIssues = new wfIssues();
+ $issue = $wfIssues->getIssueByID($issueID);
+ if (!$issue) {
+ return array('errorMsg' => __("We could not find that issue in the database.", 'wordfence'));
+ }
+ $data = $issue['data'];
+ if (empty($data['userID'])) {
+ return array('errorMsg' => __("We could not find that user in the database.", 'wordfence'));
+ }
+ $user = new WP_User($data['userID']);
+ if (!$user->exists()) {
+ return array('errorMsg' => __("We could not find that user in the database.", 'wordfence'));
+ }
+ $userLogin = $user->user_login;
+
+ $adminUsers = new wfAdminUserMonitor();
+ $adminUsers->addAdmin($data['userID']);
+
+ $wfIssues->deleteIssue($issueID);
+ wfScanEngine::refreshScanNotification($wfIssues);
+
+ return array(
+ 'ok' => 1,
+ 'user_login' => $userLogin,
+ );
+ }
/**
*
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/admin-global.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/admin-global.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/admin-global.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/admin-global.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/admin.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/admin.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/admin.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/admin.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/colorbox.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/colorbox.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/colorbox.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/colorbox.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/embedded.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/embedded.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/embedded.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/embedded.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/font-awesome.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/ionicons.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/ionicons.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/ionicons.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/ionicons.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.structure.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/jquery-ui.theme.min.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/login.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/login.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/login.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/login.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1690810710.css b/wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1695657196.css
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1690810710.css
rename to wp-content/plugins/wordfence/modules/login-security/css/woocommerce-account.1695657196.css
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/admin-global.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/admin-global.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/admin-global.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/admin-global.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/admin.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/admin.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/admin.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/admin.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/chart.umd.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.colorbox.min.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.qrcode.min.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/jquery.tmpl.min.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/js/login.1690810710.js b/wp-content/plugins/wordfence/modules/login-security/js/login.1695657196.js
similarity index 100%
rename from wp-content/plugins/wordfence/modules/login-security/js/login.1690810710.js
rename to wp-content/plugins/wordfence/modules/login-security/js/login.1695657196.js
diff --git a/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php b/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php
index 8258ecf16..bc2c9885d 100755
--- a/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php
+++ b/wp-content/plugins/wordfence/modules/login-security/wordfence-login-security.php
@@ -27,7 +27,7 @@
define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading));
define('WORDFENCE_LS_VERSION', '1.1.4');
- define('WORDFENCE_LS_BUILD_NUMBER', '1690810710');
+ define('WORDFENCE_LS_BUILD_NUMBER', '1695657196');
define('WORDFENCE_LS_PLUGIN_BASENAME', plugin_basename(__FILE__));
diff --git a/wp-content/plugins/wordfence/readme.txt b/wp-content/plugins/wordfence/readme.txt
index b7fe3f6f4..b3ad84996 100755
--- a/wp-content/plugins/wordfence/readme.txt
+++ b/wp-content/plugins/wordfence/readme.txt
@@ -4,7 +4,7 @@ Tags: security, waf, malware, 2fa, two factor, login security, firewall, brute f
Requires at least: 3.9
Requires PHP: 5.5
Tested up to: 6.3
-Stable tag: 7.10.3
+Stable tag: 7.10.4
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -189,13 +189,21 @@ Secure your website with Wordfence.
== Changelog ==
+= 7.10.4 - September 25, 2023 =
+* Improvement: "Admin created outside of WordPress" scan results may now be reviewed and approved
+* Improvement: The WAF storage engine may now be specified by setting the environmental variable "WFWAF_STORAGE_ENGINE"
+* Improvement: Detect when a plugin or theme with a custom update handler is broken and blocking update version checks
+* Change: Deprecated support for WordPress versions lower than 4.7.0
+* Change: Exclude parse errors of a damaged compiled rules file from reporting
+* Fix: Suppress PHP notices related to rule loading when running WP-CLI
+* Fix: Fixed an issue with the scan monitor cron that could leave it running unnecessarily
+
= 7.10.3 - July 31, 2023 =
* Improvement: Updated GeoIP database
* Fix: Added missing text domain to translation function call
* Fix: Corrected inconsistent styling of switch controls
* Change: Made MySQLi storage engine the default for Flywheel hosted sites
-
= 7.10.2 - July 17, 2023 =
* Fix: Prevented bundled sodium_compat library from conflicting with versions included with older WordPress versions
diff --git a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php
index 39bb86fa1..d1ab75b98 100755
--- a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php
+++ b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php
@@ -17,8 +17,7 @@ public static function allowFileWriting() {
return true;
}
- $sapi = @php_sapi_name();
- if ($sapi == "cli") {
+ if (wfWAFUtils::isCli()) {
return false;
}
return true;
diff --git a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php
index cfcd65fad..8f480e013 100755
--- a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php
+++ b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/utils.php
@@ -1229,6 +1229,9 @@ protected static function _removeUnneededTokens($token) {
public static function isVersionBelow($target, $compared) {
return $compared === null || version_compare($compared, $target, '<');
}
-
+
+ public static function isCli() {
+ return (@php_sapi_name()==='cli') || !array_key_exists('REQUEST_METHOD', $_SERVER);
+ }
}
}
\ No newline at end of file
diff --git a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php
index 764cf5d72..fee2e978b 100755
--- a/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php
+++ b/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/waf.php
@@ -328,6 +328,11 @@ public function run() {
public function loadRules() {
$storageEngine = $this->getStorageEngine();
if ($storageEngine instanceof wfWAFStorageFile) {
+ $logLevel = error_reporting();
+ if (wfWAFUtils::isCli()) { //Done to suppress errors from WP-CLI when the WAF is run on environments that have a server level constant to use the MySQLi storage engine that is not in place when running from the CLI
+ error_reporting(0);
+ }
+
// Acquire lock on this file so we're not including it while it's being written in another process.
$handle = fopen($storageEngine->getRulesFile(), 'r');
$locked = $handle !== false && flock($handle, LOCK_SH);
@@ -337,6 +342,10 @@ public function loadRules() {
flock($handle, LOCK_UN);
if ($handle !== false)
fclose($handle);
+
+ if (wfWAFUtils::isCli()) {
+ error_reporting($logLevel);
+ }
} else {
$wafRules = $storageEngine->getRules();
if (is_array($wafRules)) {
diff --git a/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php b/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php
index 251c1ce8e..b090fe761 100755
--- a/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php
+++ b/wp-content/plugins/wordfence/views/scanner/issue-suspiciousAdminUsers.php
@@ -14,6 +14,7 @@
'detailControls' => array(
'' . __('Delete User', 'wordfence') . ' ',
'' . __('Revoke Capabilities', 'wordfence') . ' ',
+ '' . __('Acknowledge User', 'wordfence') . ' ',
'' . __('Mark as Fixed', 'wordfence') . ' ',
),
'textOutput' => (isset($textOutput) ? $textOutput : null),
diff --git a/wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php b/wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php
new file mode 100755
index 000000000..a66979405
--- /dev/null
+++ b/wp-content/plugins/wordfence/views/scanner/issue-wfUpgradeError.php
@@ -0,0 +1,22 @@
+ 'wfUpgradeError',
+ 'displayType' => __('Update Check Error', 'wordfence'),
+ 'iconSVG' => ' ',
+ 'summaryControls' => array(wfView::create('scanner/issue-control-ignore', array('ignoreC' => __('Ignore Update', 'wordfence'))), wfView::create('scanner/issue-control-show-details')),
+ 'detailPairs' => array(
+ __('Details', 'wordfence') => '{{html longMsg}}',
+ ),
+ 'detailControls' => array(
+ '' . __('Mark as Fixed', 'wordfence') . ' ',
+ '' . __('View Updates', 'wordfence') . ' ',
+ ),
+ 'textOutput' => (isset($textOutput) ? $textOutput : null),
+ 'textOutputDetailPairs' => array(
+ __('Details', 'wordfence') => '$longMsg',
+ ),
+))->render();
\ No newline at end of file
diff --git a/wp-content/plugins/wordfence/waf/bootstrap.php b/wp-content/plugins/wordfence/waf/bootstrap.php
index cd8b35c38..a5dd590ef 100755
--- a/wp-content/plugins/wordfence/waf/bootstrap.php
+++ b/wp-content/plugins/wordfence/waf/bootstrap.php
@@ -837,8 +837,10 @@ protected function loadTranslations() {
try {
-
- if (!defined('WFWAF_STORAGE_ENGINE') && (WF_IS_WP_ENGINE || WF_IS_FLYWHEEL)) {
+ if (!defined('WFWAF_STORAGE_ENGINE') && isset($_SERVER['WFWAF_STORAGE_ENGINE'])) {
+ define('WFWAF_STORAGE_ENGINE', $_SERVER['WFWAF_STORAGE_ENGINE']);
+ }
+ else if (!defined('WFWAF_STORAGE_ENGINE') && (WF_IS_WP_ENGINE || WF_IS_FLYWHEEL)) {
define('WFWAF_STORAGE_ENGINE', 'mysqli');
}
@@ -1019,10 +1021,15 @@ protected function loadTranslations() {
);
}
catch (Throwable $t) {
- error_log("An unexpected error occurred during WAF execution: {$t}");
- $wf_waf_failure = array(
- 'throwable' => $t
- );
+ error_log("An unexpected exception occurred during WAF execution: {$t}");
+ if (class_exists('ParseError') && $t instanceof ParseError) {
+ //Do nothing
+ }
+ else {
+ $wf_waf_failure = array(
+ 'throwable' => $t
+ );
+ }
}
if (wfWAF::getInstance() === null) {
require_once __DIR__ . '/dummy.php';
diff --git a/wp-content/plugins/wordfence/wordfence.php b/wp-content/plugins/wordfence/wordfence.php
index 1d1df0751..53bd7797d 100755
--- a/wp-content/plugins/wordfence/wordfence.php
+++ b/wp-content/plugins/wordfence/wordfence.php
@@ -4,7 +4,7 @@
Plugin URI: http://www.wordfence.com/
Description: Wordfence Security - Anti-virus, Firewall and Malware Scan
Author: Wordfence
-Version: 7.10.3
+Version: 7.10.4
Author URI: http://www.wordfence.com/
Text Domain: wordfence
Domain Path: /languages
@@ -38,8 +38,8 @@
if (!defined('ABSPATH')) {
exit;
}
-define('WORDFENCE_VERSION', '7.10.3');
-define('WORDFENCE_BUILD_NUMBER', '1690810710');
+define('WORDFENCE_VERSION', '7.10.4');
+define('WORDFENCE_BUILD_NUMBER', '1695657196');
define('WORDFENCE_BASENAME', function_exists('plugin_basename') ? plugin_basename(__FILE__) :
basename(dirname(__FILE__)) . '/' . basename(__FILE__));
diff --git a/wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php b/wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php
deleted file mode 100755
index b38fe3a8f..000000000
--- a/wp-content/plugins/wordpress-seo/admin/class-admin-asset-yoast-components-l10n.php
+++ /dev/null
@@ -1,78 +0,0 @@
-asset_manager = new WPSEO_Admin_Asset_Manager();
- }
-
- /**
- * Localizes the given script with the JavaScript translations.
- *
- * @codeCoverageIgnore
- * @deprecated 18.0
- *
- * @param string $script_handle The script handle to localize for.
- *
- * @return void
- */
- public function localize_script( $script_handle ) {
- _deprecated_function( __FUNCTION__, '18.0' );
- $translations = [
- 'yoast-components' => $this->get_translations( 'yoast-components' ),
- 'wordpress-seo' => $this->get_translations( 'wordpress-seojs' ),
- 'yoast-schema-blocks' => $this->get_translations( 'yoast-schema-blocks' ),
- ];
- $this->asset_manager->localize_script( $script_handle, 'wpseoYoastJSL10n', $translations );
- }
-
- /**
- * Returns translations necessary for JS files.
- *
- * @codeCoverageIgnore
- * @deprecated 18.0
- *
- * @param string $component The component to retrieve the translations for.
- * @return object|null The translations in a Jed format for JS files.
- */
- protected function get_translations( $component ) {
- _deprecated_function( __FUNCTION__, '18.0' );
- $locale = \get_user_locale();
-
- $file = WPSEO_PATH . 'languages/' . $component . '-' . $locale . '.json';
- if ( file_exists( $file ) ) {
- // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- Retrieving a local file.
- $file = file_get_contents( $file );
- if ( is_string( $file ) && $file !== '' ) {
- return json_decode( $file, true );
- }
- }
-
- return null;
- }
-}
diff --git a/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php b/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php
index 80451943a..1ce0ca121 100755
--- a/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php
+++ b/wp-content/plugins/wordpress-seo/admin/class-gutenberg-compatibility.php
@@ -15,14 +15,14 @@ class WPSEO_Gutenberg_Compatibility {
*
* @var string
*/
- const CURRENT_RELEASE = '16.6.0';
+ const CURRENT_RELEASE = '16.7.0';
/**
* The minimally supported version of Gutenberg by the plugin.
*
* @var string
*/
- const MINIMUM_SUPPORTED = '16.6.0';
+ const MINIMUM_SUPPORTED = '16.7.0';
/**
* Holds the current version.
diff --git a/wp-content/plugins/wordpress-seo/css/dist/academy-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/academy-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/academy-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/academy-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/academy-2120.css b/wp-content/plugins/wordpress-seo/css/dist/academy-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/academy-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/academy-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/admin-global-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/admin-global-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/admin-global-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/admin-global-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/admin-global-2120.css b/wp-content/plugins/wordpress-seo/css/dist/admin-global-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/admin-global-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/admin-global-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css
deleted file mode 100755
index c51ee93cc..000000000
--- a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120-rtl.css
+++ /dev/null
@@ -1 +0,0 @@
-.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 3px 0 10px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 4px 0 0!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 4px 0 0!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-right:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:10px 0 10px 10px;box-shadow:-1px 1px 1px 1px grey;color:#fff;right:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{border-radius:9px;color:#fff;display:inline;padding:1px 6px 1px 7px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:100% 6px;background-repeat:no-repeat;background-size:20px;float:right;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 2px 0 10px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-right:-5px;margin-left:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}}
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css
deleted file mode 100755
index 937972332..000000000
--- a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2120.css
+++ /dev/null
@@ -1 +0,0 @@
-.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 10px 0 3px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 0 0 4px!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 0 0 4px!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-left:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:0 10px 10px 10px;box-shadow:1px 1px 1px 1px grey;color:#fff;left:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{border-radius:9px;color:#fff;display:inline;padding:1px 7px 1px 6px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:0 6px;background-repeat:no-repeat;background-size:20px;float:left;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 10px 0 2px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-left:-5px;margin-right:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}}
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css
new file mode 100755
index 000000000..e48c47610
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130-rtl.css
@@ -0,0 +1 @@
+.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 3px 0 10px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 4px 0 0!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 4px 0 0!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-right:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:10px 0 10px 10px;box-shadow:-1px 1px 1px 1px grey;color:#fff;right:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{background-color:#d63638;border-radius:9px;color:#fff;display:inline;padding:1px 6px 1px 7px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:100% 6px;background-repeat:no-repeat;background-size:20px;float:right;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 2px 0 10px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-right:-5px;margin-left:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}}
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css
new file mode 100755
index 000000000..b59ff2a1b
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/css/dist/adminbar-2130.css
@@ -0,0 +1 @@
+.wpseo-score-icon{background:#888;border-radius:50%!important;display:inline-block!important;height:12px!important;margin:3px 10px 0 3px;vertical-align:top;width:12px!important}.wpseo-score-icon.good{background-color:#7ad03a}.wpseo-score-icon.ok{background-color:#ee7c1b}.wpseo-score-icon.bad{background-color:#dc3232}.wpseo-score-icon.na{background-color:#888}.wpseo-score-icon.noindex{background-color:#1e8cbe}#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:10px 0 0 4px!important}#wp-admin-bar-wpseo-menu .wpseo-score-icon.adminbar-sub-menu-score{margin:11px 0 0 4px!important}#wp-admin-bar-wpseo-menu-default .ab-item{line-height:2.46153846!important}#wp-admin-bar-wpseo-menu .ab-submenu{margin-bottom:5px}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu #wp-admin-bar-wpseo-menu-default li#wp-admin-bar-wpseo-get-premium a{color:#fff!important;font-weight:700!important}#wpadminbar .quicklinks #wp-admin-bar-wpseo-menu .wpseo-focus-keyword{display:inline-block!important;max-width:100px!important;overflow:hidden;text-overflow:ellipsis!important;vertical-align:bottom;white-space:nowrap}#wpadminbar .yoast-badge{border-radius:8px;display:inline-block;font-weight:600;line-height:1.6;margin-left:4px;padding:0 8px}#wpadminbar .yoast-beta-badge{background-color:#cce5ff;color:#004973}#wpadminbar .yoast-premium-badge{background-color:#fff3cd;color:#674e00}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{background-color:#a4286a;border-radius:0 10px 10px 10px;box-shadow:1px 1px 1px 1px grey;color:#fff;left:0;padding:2px 12px;position:absolute;top:32px;white-space:nowrap}#wpadminbar .yoast-issue-added{display:none}#wpadminbar .yoast-issue-counter{background-color:#d63638;border-radius:9px;color:#fff;display:inline;padding:1px 7px 1px 6px!important}#wpadminbar .yoast-logo.svg{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJmaWxsOiM4Mjg3OGMiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjAzLjYgMzk1YzYuOC0xNy40IDYuOC0zNi42IDAtNTRsLTc5LjQtMjA0aDcwLjlsNDcuNyAxNDkuNCA3NC44LTIwNy42SDExNi40Yy00MS44IDAtNzYgMzQuMi03NiA3NlYzNTdjMCA0MS44IDM0LjIgNzYgNzYgNzZIMTczYzE2LTguOSAyNC42LTIyLjcgMzAuNi0zOHpNNDcxLjYgMTU0LjhjMC00MS44LTM0LjItNzYtNzYtNzZoLTNMMjg1LjcgMzY1Yy05LjYgMjYuNy0xOS40IDQ5LjMtMzAuMyA2OGgyMTYuMlYxNTQuOHoiLz48cGF0aCBkPSJtMzM4IDEuMy05My4zIDI1OS4xLTQyLjEtMTMxLjloLTg5LjFsODMuOCAyMTUuMmM2IDE1LjUgNiAzMi41IDAgNDgtNy40IDE5LTE5IDM3LjMtNTMgNDEuOWwtNy4yIDF2NzZoOC4zYzgxLjcgMCAxMTguOS01Ny4yIDE0OS42LTE0Mi45TDQzMS42IDEuM0gzMzh6TTI3OS40IDM2MmMtMzIuOSA5Mi02Ny42IDEyOC43LTEyNS43IDEzMS44di00NWMzNy41LTcuNSA1MS4zLTMxIDU5LjEtNTEuMSA3LjUtMTkuMyA3LjUtNDAuNyAwLTYwbC03NS0xOTIuN2g1Mi44bDUzLjMgMTY2LjggMTA1LjktMjk0aDU4LjFMMjc5LjQgMzYyeiIvPjwvc3ZnPg==");background-position:0 6px;background-repeat:no-repeat;background-size:20px;float:left;height:30px;width:26px}#wpadminbar #wp-admin-bar-wpseo-licenses .ab-item{color:#f18500}@media screen and (max-width:782px){#wp-admin-bar-wpseo-menu .wpseo-score-icon{margin:16px 10px 0 2px!important}#wpadminbar #wp-admin-bar-wpseo-menu{display:block;position:static}#wpadminbar .yoast-logo.svg{background-position:50% 8px;background-size:30px;height:46px;width:52px}#wpadminbar .yoast-logo+.yoast-issue-counter{margin-left:-5px;margin-right:10px}#wpadminbar .ab-sub-wrapper .yoast-issue-counter{position:relative;top:-5px;vertical-align:text-top}#wpadminbar .yoast-issue-added,#wpadminbar .yoast-issue-added:hover{line-height:1.8;top:46px;white-space:normal}#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-kwresearch,#wp-admin-bar-wpseo-menu.menupop .ab-sub-wrapper #wp-admin-bar-wpseo-settings{display:none}}
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120.css b/wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/ai-generator-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/ai-generator-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/alerts-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/alerts-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/alerts-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/alerts-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/alerts-2120.css b/wp-content/plugins/wordpress-seo/css/dist/alerts-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/alerts-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/alerts-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/dashboard-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/dashboard-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/dashboard-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/dashboard-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/dashboard-2120.css b/wp-content/plugins/wordpress-seo/css/dist/dashboard-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/dashboard-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/dashboard-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/edit-page-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/edit-page-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/edit-page-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/edit-page-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/edit-page-2120.css b/wp-content/plugins/wordpress-seo/css/dist/edit-page-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/edit-page-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/edit-page-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/elementor-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/elementor-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/elementor-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/elementor-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/elementor-2120.css b/wp-content/plugins/wordpress-seo/css/dist/elementor-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/elementor-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/elementor-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/featured-image-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/featured-image-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/featured-image-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/featured-image-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/featured-image-2120.css b/wp-content/plugins/wordpress-seo/css/dist/featured-image-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/featured-image-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/featured-image-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120.css b/wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/filter-explanation-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120.css b/wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/first-time-configuration-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/icons-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/icons-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/icons-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/icons-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/icons-2120.css b/wp-content/plugins/wordpress-seo/css/dist/icons-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/icons-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/icons-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120.css b/wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/inside-editor-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/inside-editor-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/introductions-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/introductions-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/introductions-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/introductions-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/introductions-2120.css b/wp-content/plugins/wordpress-seo/css/dist/introductions-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/introductions-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/introductions-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/metabox-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/metabox-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-2120.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/metabox-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/metabox-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120.css b/wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/metabox-primary-category-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/modal-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/modal-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/modal-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/modal-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/modal-2120.css b/wp-content/plugins/wordpress-seo/css/dist/modal-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/modal-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/modal-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/monorepo-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/monorepo-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/monorepo-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/monorepo-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/monorepo-2120.css b/wp-content/plugins/wordpress-seo/css/dist/monorepo-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/monorepo-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/monorepo-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/new-settings-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/new-settings-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/new-settings-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/new-settings-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/new-settings-2120.css b/wp-content/plugins/wordpress-seo/css/dist/new-settings-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/new-settings-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/new-settings-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/notifications-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/notifications-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/notifications-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/notifications-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/notifications-2120.css b/wp-content/plugins/wordpress-seo/css/dist/notifications-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/notifications-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/notifications-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/score_icon-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/score_icon-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/score_icon-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/score_icon-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/score_icon-2120.css b/wp-content/plugins/wordpress-seo/css/dist/score_icon-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/score_icon-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/score_icon-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120.css b/wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/structured-data-blocks-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/support-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/support-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/support-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/support-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/support-2120.css b/wp-content/plugins/wordpress-seo/css/dist/support-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/support-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/support-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/tailwind-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/tailwind-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/tailwind-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/tailwind-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/tailwind-2120.css b/wp-content/plugins/wordpress-seo/css/dist/tailwind-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/tailwind-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/tailwind-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120.css b/wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/toggle-switch-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/tooltips-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/tooltips-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/tooltips-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/tooltips-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/tooltips-2120.css b/wp-content/plugins/wordpress-seo/css/dist/tooltips-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/tooltips-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/tooltips-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/workouts-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/workouts-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/workouts-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/workouts-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/workouts-2120.css b/wp-content/plugins/wordpress-seo/css/dist/workouts-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/workouts-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/workouts-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120.css b/wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/wpseo-dismissible-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120.css b/wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/yoast-extensions-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120.css b/wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/yst_plugin_tools-2130.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120-rtl.css b/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130-rtl.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120-rtl.css
rename to wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130-rtl.css
diff --git a/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120.css b/wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130.css
similarity index 100%
rename from wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2120.css
rename to wp-content/plugins/wordpress-seo/css/dist/yst_seo_score-2130.css
diff --git a/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php b/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php
index 4ddbb5292..8a44822d7 100755
--- a/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php
+++ b/wp-content/plugins/wordpress-seo/inc/sitemaps/class-sitemaps.php
@@ -540,26 +540,6 @@ public function get_last_modified( $post_types ) {
return YoastSEO()->helpers->date->format( self::get_last_modified_gmt( $post_types ) );
}
- // phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Argument is kept for documentation purposes.
-
- /**
- * Notify search engines of the updated sitemap.
- *
- * @deprecated 19.2
- *
- * @codeCoverageIgnore
- *
- * @param string|null $url Optional URL to make the ping for.
- */
- public static function ping_search_engines( $url = null ) {
- _deprecated_function( __METHOD__, 'Yoast SEO 19.2', 'WPSEO_Sitemaps_Admin::ping_search_engines' );
-
- $admin = new WPSEO_Sitemaps_Admin();
- $admin->ping_search_engines();
- }
-
- // phpcs:enable
-
/**
* Get the maximum number of entries per XML sitemap.
*
diff --git a/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php b/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php
index a6367d890..936e105ad 100755
--- a/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php
+++ b/wp-content/plugins/wordpress-seo/inc/wpseo-functions-deprecated.php
@@ -5,17 +5,3 @@
* @package WPSEO\Deprecated
*/
-if ( ! function_exists( 'wpseo_cli_init' ) ) {
-
- /**
- * Initialize the WP-CLI integration.
- *
- * @deprecated 19.6.1
- * @codeCoverageIgnore
- *
- * @phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
- */
- function wpseo_cli_init() {
- _deprecated_function( __FUNCTION__, 'Yoast SEO 19.6.1' );
- }
-}
diff --git a/wp-content/plugins/wordpress-seo/js/dist/block-editor.js b/wp-content/plugins/wordpress-seo/js/dist/block-editor.js
index ba2672039..d8dc81156 100755
--- a/wp-content/plugins/wordpress-seo/js/dist/block-editor.js
+++ b/wp-content/plugins/wordpress-seo/js/dist/block-editor.js
@@ -497,7 +497,7 @@ Object(J.__)("Your %s is now protected via the blockchain!","wordpress-seo"),Obj
* %3$s translates to the Post type in singular form.
*/
"The %3$s will automatically be timestamped every time you %1$supdate%2$s or %1$spublish%2$s.","wordpress-seo"),""," ",Object(ne.a)("current_post_type")),{b:Object(Q.createElement)("b",null)})),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"primary",onClick:t},"Continue")))};ce.propTypes={closeModal:ie.a.func.isRequired};var le,de=ce;function ue(){return(ue=Object.assign||function(e){for(var t=1;t{const{closeModal:t}=e,a=Object(Q.useCallback)(e=>{t(),e.preventDefault(),Object(ne.c)()});return Object(Q.createElement)("div",null,Object(Q.createElement)("div",{className:"yoast-wordproof-modal-image"},Object(Q.createElement)(pe,{className:"yoast-wordproof-modal-svg__webhook-failed"})),Object(Q.createElement)("div",null,Object(J.__)("There was a connection problem. This could be because your third party connections are blocked.","wordpress-seo"),Object(Q.createElement)("br",null),Object(X.a)(Object(J.sprintf)(Object(J.__)("Find possible solutions in this %1$sArticle%2$s.","wordpress-seo"),""," "),"https://help.wordproof.com/en/articles/4823201-how-do-i-whitelist-wordproof-in-cloudflare")),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"secondary",onClick:a},Object(J.__)("Try again","wordpress-seo"))),Object(Q.createElement)("div",null,Object(X.a)(Object(J.sprintf)(// translators: %1$s and %2$s are replaced by opening and closing tags. %3$s expands to WordProof.
-Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo")," "," ","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var be=me,he=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),r=Object(Q.useCallback)(()=>{t("webhook:failed")}),n=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",n,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",r,!1),()=>{window.removeEventListener("wordproof:oauth:success",n,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",r,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(he.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(be,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var r=a(47),n=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(n.a)("popup_redirect_authentication_url"),c=Object(n.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-n/2,s=e.top.outerWidth/2+e.top.screenX-r/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${r},\n\t\theight=${n},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:r}=e;if(r===Object(n.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await b(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(r.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},b=async e=>{await Object(r.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(n.a)("origin")),!0},async()=>!1)},h=async e=>{await Object(r.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var r=a(5),n=a(8);t.a=Object(r.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(n.Warning)},,,,,,function(e,t,a){"use strict";var r=a(5),n=a(20),o=a(11),s=a.n(o),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),b=a(9),h=a.n(b),g=a(77),f=a(41),O=a(112),y=a(104),w=a(79),j=a(125);const E=h()(l)`
+Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),""," ","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var be=me,he=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),r=Object(Q.useCallback)(()=>{t("webhook:failed")}),n=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",n,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",r,!1),()=>{window.removeEventListener("wordproof:oauth:success",n,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",r,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(he.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(be,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var r=a(47),n=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(n.a)("popup_redirect_authentication_url"),c=Object(n.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-n/2,s=e.top.outerWidth/2+e.top.screenX-r/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${r},\n\t\theight=${n},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:r}=e;if(r===Object(n.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await b(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await p("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(r.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},b=async e=>{await Object(r.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(n.a)("origin")),!0},async()=>!1)},h=async e=>{await Object(r.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var r=a(5),n=a(8);t.a=Object(r.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(n.Warning)},,,,,,function(e,t,a){"use strict";var r=a(5),n=a(20),o=a(11),s=a.n(o),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),b=a(9),h=a.n(b),g=a(77),f=a(41),O=a(112),y=a(104),w=a(79),j=a(125);const E=h()(l)`
width: 18px;
height: 18px;
margin: 3px;
diff --git a/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js b/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js
index 153307419..ce02e7242 100755
--- a/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js
+++ b/wp-content/plugins/wordpress-seo/js/dist/classic-editor.js
@@ -491,7 +491,7 @@ Object(J.__)("Your %s is now protected via the blockchain!","wordpress-seo"),Obj
* %3$s translates to the Post type in singular form.
*/
"The %3$s will automatically be timestamped every time you %1$supdate%2$s or %1$spublish%2$s.","wordpress-seo"),""," ",Object(re.a)("current_post_type")),{b:Object(Q.createElement)("b",null)})),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"primary",onClick:t},"Continue")))};ce.propTypes={closeModal:ie.a.func.isRequired};var le,de=ce;function ue(){return(ue=Object.assign||function(e){for(var t=1;t{const{closeModal:t}=e,a=Object(Q.useCallback)(e=>{t(),e.preventDefault(),Object(re.c)()});return Object(Q.createElement)("div",null,Object(Q.createElement)("div",{className:"yoast-wordproof-modal-image"},Object(Q.createElement)(pe,{className:"yoast-wordproof-modal-svg__webhook-failed"})),Object(Q.createElement)("div",null,Object(J.__)("There was a connection problem. This could be because your third party connections are blocked.","wordpress-seo"),Object(Q.createElement)("br",null),Object(X.a)(Object(J.sprintf)(Object(J.__)("Find possible solutions in this %1$sArticle%2$s.","wordpress-seo"),""," "),"https://help.wordproof.com/en/articles/4823201-how-do-i-whitelist-wordproof-in-cloudflare")),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(oe.NewButton,{variant:"secondary",onClick:a},Object(J.__)("Try again","wordpress-seo"))),Object(Q.createElement)("div",null,Object(X.a)(Object(J.sprintf)(// translators: %1$s and %2$s are replaced by opening and closing tags. %3$s expands to WordProof.
-Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo")," "," ","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var n=a(5),r=a(8);t.a=Object(n.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(r.Warning)},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return ae}));var n=a(0),r=a(2),o=a.n(r),s=a(19),i=a(144),c=a(78);function l(e){let{theme:t}=e;return Object(n.createElement)(c.a,{theme:t,location:"metabox"},Object(n.createElement)(s.Slot,{name:"YoastMetabox"},e=>Object(i.a)(e)))}var d=a(5),u=a(20),p=a(1),m=a(14),h=a(145),b=a(155),g=a(182),f=a(62),y=a(92),O=a(49),w=a(146),j=a(147),E=a(156),v=a(148),_=a(157);const T=e=>{let{location:t}=e;const a=Object(d.useSelect)(e=>e("yoast-seo/editor").isFleschReadingEaseAvailable(),[]);return Object(n.createElement)(O.a,{title:Object(p.__)("Insights","wordpress-seo"),id:"yoast-insights-collapsible-"+t,className:"yoast-insights"},Object(n.createElement)(E.a,{location:t}),Object(n.createElement)("div",null,a&&Object(n.createElement)("div",{className:"yoast-insights-row"},Object(n.createElement)(j.a,null)),Object(n.createElement)("div",{className:"yoast-insights-row yoast-insights-row--columns"},Object(n.createElement)(w.a,null),Object(n.createElement)(v.a,null)),Object(y.isFeatureEnabled)("TEXT_FORMALITY")&&Object(n.createElement)(_.a,{location:t,name:"YoastTextFormalityMetabox"})))};T.propTypes={location:o.a.string},T.defaultProps={location:"metabox"};var k=T,x=a(33),S=a(152),R=a(9),C=a.n(R),I=a(132),L=a(123),P=a(86);const A=C.a.div`
+Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),""," ","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),o=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const s=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:o,additionalClassName:"yoast-wordproof-modal",title:s()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:o}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:o})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),o=a(120),s=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const o=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${o},\n\t\tleft=${s}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await p("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(o.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(s.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(s.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},,,,,function(e,t,a){"use strict";var n=a(5),r=a(8);t.a=Object(n.withSelect)(e=>{const{getWarningMessage:t}=e("yoast-seo/editor");return{message:t()}})(r.Warning)},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return ae}));var n=a(0),r=a(2),o=a.n(r),s=a(19),i=a(144),c=a(78);function l(e){let{theme:t}=e;return Object(n.createElement)(c.a,{theme:t,location:"metabox"},Object(n.createElement)(s.Slot,{name:"YoastMetabox"},e=>Object(i.a)(e)))}var d=a(5),u=a(20),p=a(1),m=a(14),h=a(145),b=a(155),g=a(182),f=a(62),y=a(92),O=a(49),w=a(146),j=a(147),E=a(156),v=a(148),_=a(157);const T=e=>{let{location:t}=e;const a=Object(d.useSelect)(e=>e("yoast-seo/editor").isFleschReadingEaseAvailable(),[]);return Object(n.createElement)(O.a,{title:Object(p.__)("Insights","wordpress-seo"),id:"yoast-insights-collapsible-"+t,className:"yoast-insights"},Object(n.createElement)(E.a,{location:t}),Object(n.createElement)("div",null,a&&Object(n.createElement)("div",{className:"yoast-insights-row"},Object(n.createElement)(j.a,null)),Object(n.createElement)("div",{className:"yoast-insights-row yoast-insights-row--columns"},Object(n.createElement)(w.a,null),Object(n.createElement)(v.a,null)),Object(y.isFeatureEnabled)("TEXT_FORMALITY")&&Object(n.createElement)(_.a,{location:t,name:"YoastTextFormalityMetabox"})))};T.propTypes={location:o.a.string},T.defaultProps={location:"metabox"};var k=T,x=a(33),S=a(152),R=a(9),C=a.n(R),I=a(132),L=a(123),P=a(86);const A=C.a.div`
padding: 16px;
`,M=e=>{let{useOpenGraphData:t,useTwitterData:a}=e;return Object(n.createElement)(n.Fragment,null,a&&t&&Object(n.createElement)(n.Fragment,null,Object(n.createElement)(O.a,{hasSeparator:!1
/* translators: Social media appearance refers to a preview of how a page will be represented on social media. */,title:Object(p.__)("Social media appearance","wordpress-seo"),initialIsOpen:!0},Object(n.createElement)(P.b,null,Object(p.__)("Determine how your post should look on social media like Facebook, Twitter, Instagram, WhatsApp, Threads, LinkedIn, Slack, and more.","wordpress-seo")),Object(n.createElement)(I.a,null),Object(n.createElement)(P.a,null,Object(p.__)("To customize the appearance of your post specifically for Twitter, please fill out the 'Twitter appearance' settings below. If you leave these settings untouched, the 'Social media appearance' settings mentioned above will also be applied for sharing on Twitter.","wordpress-seo"))),Object(n.createElement)(O.a,{title:Object(p.__)("Twitter appearance","wordpress-seo"),hasSeparator:!0,initialIsOpen:!1},Object(n.createElement)(L.a,null))),t&&!a&&Object(n.createElement)(A,null,Object(n.createElement)(P.b,null,Object(p.__)("Determine how your post should look on social media like Facebook, Twitter, Instagram, WhatsApp, Threads, LinkedIn, Slack, and more.","wordpress-seo")),Object(n.createElement)(I.a,null)),!t&&a&&Object(n.createElement)(A,null,Object(n.createElement)(P.b,null,Object(p.__)("To customize the appearance of your post specifically for Twitter, please fill out the 'Twitter appearance' settings below.","wordpress-seo")),Object(n.createElement)(L.a,null)))};M.propTypes={useOpenGraphData:o.a.bool.isRequired,useTwitterData:o.a.bool.isRequired};var F=M,q=Object(d.withSelect)(e=>{const{getPreferences:t}=e("yoast-seo/editor"),{useOpenGraphData:a,useTwitterData:n}=t();return{useOpenGraphData:a,useTwitterData:n}})(F),D=a(74);function N(e){let{target:t}=e;return Object(n.createElement)(D.a,{target:t},Object(n.createElement)(q,null))}N.propTypes={target:o.a.string.isRequired};var W=a(153),z=a(141),U=a(125),B=a(42),$=a(175),H=a(154),K=a(149),Y=a(16),V=a(88),G=a(11),Z=a.n(G),Q=a(89);const J=e=>{let{store:t="yoast-seo/editor",image:a=null,title:r,promoId:o,alertKey:s,children:i,...c}=e;const l=Object(d.select)(t).isPromotionActive(o);return!(()=>{var e,t;const a=Object(d.select)("yoast-seo/editor").getWarningMessage();return(null!==(e=null===(t=Object(d.select)("yoast-seo-premium/editor"))||void 0===t?void 0:t.getMetaboxWarning())&&void 0!==e?e:[]).length>0||a.length>0})()&&l&&Object(n.createElement)(Q.a,Z()({alertKey:s,store:t,id:s,title:r,image:a},c),i)};J.propTypes={store:o.a.string,image:o.a.elementType,title:o.a.string.isRequired,promoId:o.a.string.isRequired,alertKey:o.a.string.isRequired,children:o.a.node};const X=()=>{const e=Object(d.select)("yoast-seo/editor").selectLinkParams();return Object(n.createElement)(J,{title:Object(p.__)("Is your WooCommerce store ready for Black Friday?","wordpress-seo"),promoId:"black_friday_2023_checklist",alertKey:"black-friday-2023-product-editor-checklist",store:"yoast-seo/editor",image:V.a},Object(n.createInterpolateElement)(Object(p.sprintf)(
diff --git a/wp-content/plugins/wordpress-seo/js/dist/elementor.js b/wp-content/plugins/wordpress-seo/js/dist/elementor.js
index 54ae9e73f..9bb9b94c9 100755
--- a/wp-content/plugins/wordpress-seo/js/dist/elementor.js
+++ b/wp-content/plugins/wordpress-seo/js/dist/elementor.js
@@ -511,7 +511,7 @@ Object(J.__)("Your %s is now protected via the blockchain!","wordpress-seo"),Obj
* %3$s translates to the Post type in singular form.
*/
"The %3$s will automatically be timestamped every time you %1$supdate%2$s or %1$spublish%2$s.","wordpress-seo"),""," ",Object(re.a)("current_post_type")),{b:Object(Q.createElement)("b",null)})),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(se.NewButton,{variant:"primary",onClick:t},"Continue")))};ce.propTypes={closeModal:ie.a.func.isRequired};var le,de=ce;function ue(){return(ue=Object.assign||function(e){for(var t=1;t{const{closeModal:t}=e,a=Object(Q.useCallback)(e=>{t(),e.preventDefault(),Object(re.c)()});return Object(Q.createElement)("div",null,Object(Q.createElement)("div",{className:"yoast-wordproof-modal-image"},Object(Q.createElement)(pe,{className:"yoast-wordproof-modal-svg__webhook-failed"})),Object(Q.createElement)("div",null,Object(J.__)("There was a connection problem. This could be because your third party connections are blocked.","wordpress-seo"),Object(Q.createElement)("br",null),Object(X.a)(Object(J.sprintf)(Object(J.__)("Find possible solutions in this %1$sArticle%2$s.","wordpress-seo"),""," "),"https://help.wordproof.com/en/articles/4823201-how-do-i-whitelist-wordproof-in-cloudflare")),Object(Q.createElement)("div",{className:"yoast-wordproof-modal-action"},Object(Q.createElement)(se.NewButton,{variant:"secondary",onClick:a},Object(J.__)("Try again","wordpress-seo"))),Object(Q.createElement)("div",null,Object(X.a)(Object(J.sprintf)(// translators: %1$s and %2$s are replaced by opening and closing tags. %3$s expands to WordProof.
-Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo")," "," ","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),s=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const o=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:s,additionalClassName:"yoast-wordproof-modal",title:o()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:s}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:s})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),s=a(120),o=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const s=e.top.outerHeight/2+e.top.screenY-r/2,o=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${s},\n\t\tleft=${o}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(s.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(o.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(o.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},function(e,t,a){"use strict";a.r(t),a.d(t,"wistiaEmbedPermission",(function(){return o})),a.d(t,"DISMISS_ALERT",(function(){return r.DISMISS_ALERT})),a.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return s}));var n=a(25),r=a(138);function s(e){let{query:t,postId:a}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:a},t=>{e(t.meta)})})}const o=n.s[n.d]},,,,,,,,,,function(e,t,a){"use strict";var n=a(5),r=a(20),s=a(11),o=a.n(s),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),h=a(9),b=a.n(h),g=a(77),f=a(41),y=a(112),w=a(104),O=a(79),j=a(125);const E=b()(l)`
+Object(J.__)("Not working? %1$sContact %3$s support%2$s.","wordpress-seo"),""," ","WordProof"),"https://help.wordproof.com")))};me.propTypes={closeModal:ie.a.func.isRequired};var he=me,be=a(41);t.a=()=>{const[e,t]=Object(Q.useState)(null),a=Object(Q.useCallback)(()=>{t("oauth:failed")}),n=Object(Q.useCallback)(()=>{t("webhook:failed")}),r=Object(Q.useCallback)(()=>{t("oauth:success")}),s=Object(Q.useCallback)(()=>{t(null)});Object(Q.useEffect)(()=>(window.addEventListener("wordproof:oauth:success",r,!1),window.addEventListener("wordproof:oauth:failed",a,!1),window.addEventListener("wordproof:webhook:failed",n,!1),()=>{window.removeEventListener("wordproof:oauth:success",r,!1),window.removeEventListener("wordproof:oauth:failed",a,!1),window.removeEventListener("wordproof:webhook:failed",n,!1)}),[]);const o=Object(Q.useCallback)(()=>{switch(e){case"webhook:failed":return Object(J.__)("Connection failed","wordpress-seo");case"oauth:success":return Object(J.__)("Connected to WordProof","wordpress-seo");default:return Object(J.__)("WordProof authentication","wordpress-seo")}});return Object(Q.createElement)(Q.Fragment,null,e&&Object(Q.createElement)(be.a,{onRequestClose:s,additionalClassName:"yoast-wordproof-modal",title:o()},"oauth:success"===e&&Object(Q.createElement)(de,{closeModal:s}),"oauth:failed"===e&&Object(Q.createElement)(ee,null),"webhook:failed"===e&&Object(Q.createElement)(he,{closeModal:s})))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(47),r=a(40),s=a(120),o=a(54);const{dispatch:i}=wp.data;function c(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=i("wordproof"),a=Object(r.a)("popup_redirect_authentication_url"),c=Object(r.a)("popup_redirect_settings_url");let l=null;const d=(e,t)=>{l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const s=e.top.outerHeight/2+e.top.screenY-r/2,o=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,a,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${s},\n\t\tleft=${o}`)}(window,e,t),l&&l.focus(),window.addEventListener("message",u,!1)},u=async e=>{const{data:t,source:a,origin:n}=e;if(n===Object(r.a)("origin")&&l===a)switch(t.type){case"wordproof:oauth:granted":!1===await h(t)&&await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await p("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await p("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await p("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await p("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await p("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await p("wordproof:settings:updated"),await b(t);break;case"wordproof:oauth:destroy":await p("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await p("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":m()}},p=async function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;m(),Object(s.a)(t),!1===a&&(await Object(n.b)(),e(!1)),!0===a&&e(!0)},m=()=>{window.removeEventListener("message",u,!1),l.close()},h=async e=>{await Object(n.c)(()=>Object(o.e)(e),async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return l.postMessage(t,Object(r.a)("origin")),!0},async()=>!1)},b=async e=>{await Object(n.c)(()=>Object(o.f)(e),async()=>{const a=e.settings;return a.selectedPostTypes&&t(a.selectedPostTypes),!0},async()=>!1)};window.addEventListener("wordproof:open_authentication",e=>{e.preventDefault(),d(a,"WordProof_Authentication")},!1),window.addEventListener("wordproof:open_settings",e=>{e.preventDefault(),d(c,"WordProof_Settings")},!1)}},function(e,t,a){"use strict";a.r(t),a.d(t,"wistiaEmbedPermission",(function(){return o})),a.d(t,"DISMISS_ALERT",(function(){return r.DISMISS_ALERT})),a.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return s}));var n=a(25),r=a(138);function s(e){let{query:t,postId:a}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:a},t=>{e(t.meta)})})}const o=n.s[n.d]},,,,,,,,,,function(e,t,a){"use strict";var n=a(5),r=a(20),s=a(11),o=a.n(s),i=a(0),c=a(3),l=c.forwardRef((function(e,t){return c.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),c.createElement("path",{d:"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"}))})),d=a(1),u=a(256),p=a(2),m=a.n(p),h=a(9),b=a.n(h),g=a(77),f=a(41),y=a(112),w=a(104),O=a(79),j=a(125);const E=b()(l)`
width: 18px;
height: 18px;
margin: 3px;
diff --git a/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js b/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js
index 47acc16f9..4c237337e 100755
--- a/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js
+++ b/wp-content/plugins/wordpress-seo/js/dist/externals/analysis.js
@@ -1,10 +1,10 @@
-window.yoast=window.yoast||{},window.yoast.analysis=function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=396)}([,,function(e,t){e.exports=window.lodash},,function(e,t){e.exports=window.wp.i18n},,,,,,,,,,,,,,function(e,t,r){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&t._extend(n,r),T(n.showHidden)&&(n.showHidden=!1),T(n.depth)&&(n.depth=2),T(n.colors)&&(n.colors=!1),T(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,e,n.depth)}function l(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function c(e,t){return e}function u(e,r,n){if(e.customInspect&&r&&A(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var s=r.inspect(n,e);return _(s)||(s=u(e,s,n)),s}var i=function(e,t){if(T(t))return e.stylize("undefined","undefined");if(_(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):g(t)?e.stylize(""+t,"boolean"):f(t)?e.stylize("null","null"):void 0}(e,r);if(i)return i;var a=Object.keys(r),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),y(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(r);if(0===a.length){if(A(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(E(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return e.stylize(Date.prototype.toString.call(r),"date");if(y(r))return h(r)}var c,v="",O=!1,C=["{","}"];return p(r)&&(O=!0,C=["[","]"]),A(r)&&(v=" [Function"+(r.name?": "+r.name:"")+"]"),E(r)&&(v=" "+RegExp.prototype.toString.call(r)),b(r)&&(v=" "+Date.prototype.toUTCString.call(r)),y(r)&&(v=" "+h(r)),0!==a.length||O&&0!=r.length?n<0?E(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=O?function(e,t,r,n,s){for(var i=[],a=0,o=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,v,C)):C[0]+v+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,s,i){var a,o,l;if((l=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),k(n,s)||(a="["+s+"]"),o||(e.seen.indexOf(l.value)<0?(o=f(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(o=i?o.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+o.split("\n").map((function(e){return" "+e})).join("\n")):o=e.stylize("[Circular]","special")),T(a)){if(i&&s.match(/^\d+$/))return o;(a=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function p(e){return Array.isArray(e)}function g(e){return"boolean"==typeof e}function f(e){return null===e}function m(e){return"number"==typeof e}function _(e){return"string"==typeof e}function T(e){return void 0===e}function E(e){return v(e)&&"[object RegExp]"===O(e)}function v(e){return"object"==typeof e&&null!==e}function b(e){return v(e)&&"[object Date]"===O(e)}function y(e){return v(e)&&("[object Error]"===O(e)||e instanceof Error)}function A(e){return"function"==typeof e}function O(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(T(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;a[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else a[r]=function(){};return a[r]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=g,t.isNull=f,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=_,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=T,t.isRegExp=E,t.isObject=v,t.isDate=b,t.isError=y,t.isFunction=A,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(331);var w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var e=new Date,t=[C(e.getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":");return[e.getDate(),w[e.getMonth()],t].join(" ")}function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",S(),t.format.apply(t,arguments))},t.inherits=r(332),t._extend=function(e,t){if(!t||!v(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(N&&e[N]){var t;if("function"!=typeof(t=e[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,N,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),s=[],i=0;i1)for(var r=1;r1?1:a)+n[n.length-1].length};return{addRule:function(e,t){s.push({regex:e,type:t})},onText:function(e){for(var r=t+e,i=n(s,r);i&&i.max_index!==r.length;)o(r.substring(0,i.max_index),i.rule.type),r=r.substring(i.max_index),i=n(s,r);t=r},end:function(){if(0!==t.length){var e=r(s,t);if(!e){var n=new Error("unable to tokenize");throw n.tokenizer2={buffer:t,line:i,col:a},n}o(t,e.type)}}}}},,,,,,,,,,,function(e,t,r){r(159),e.exports=r(339)},function(e,t,r){e.exports=r(342)},function(e,t){e.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(e){return"tag"===e.type||"script"===e.type||"style"===e.type}}},,,,,,,function(e,t,r){(function(e,r){(function(){var n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")(),a=t&&!t.nodeType&&t,o=a&&"object"==typeof r&&r&&!r.nodeType&&r,l=/[&<>"']/g,c=RegExp(l.source);n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")();var u,h=(u={"&":"&","<":"<",">":">",'"':""","'":"'"},function(e){return null==u?void 0:u[e]}),d=Object.prototype,p=d.hasOwnProperty,g=d.toString,f=i.Symbol,m=f?f.toStringTag:void 0,_=f?f.prototype:void 0,T=_?_.toString:void 0;function E(e){if("string"==typeof e)return e;if(v(e))return function(e,t){for(var r=-1,n=null==e?0:e.length,s=Array(n);++r\n ',t)a+='\n \n \n ',t[l].marker&&(a+='\n \n ',r?a+=null==(i=n.disabledMarkText)?"":i:t[l].identifier===s?a+=null==(i=n.removeMarksInText)?"":i:a+=null==(i=n.markInText)?"":i,a+="\n \n "),a+='\n \n \n '+(null==(i=t[l].screenReaderText)?"":i)+' \n '+(null==(i=t[l].text)?"":i)+" \n \n ";return a+"\n\n"},hiddenSpan:function(e){e||(e={});const{whiteSpace:t,width:r}=e;var n="",s=b;return Array.prototype.join,n+='\n\n \n'},relevantWords:function(e){e||(e={});const{words:t}=e;var r,n="";for(var s in Array.prototype.join,n+="\n \n Word \n Density \n Occurrences \n Length \n Relevant word percentage \n Length bonus \n Multiplier \n Relevance \n \n ",t)n+="\n \n "+(null==(r=t[s].word)?"":r)+" \n "+(null==(r=t[s].density)?"":r)+" \n "+(null==(r=t[s].occurrences)?"":r)+" \n "+(null==(r=t[s].length)?"":r)+" \n "+(null==(r=t[s].relevantWordPercentage)?"":r)+" \n "+(null==(r=t[s].lengthBonus)?"":r)+" \n "+(null==(r=t[s].multiplier)?"":r)+" \n "+(null==(r=t[s].relevance)?"":r)+" \n \n ";return n+"\n
\n"},snippetEditor:function(e){e||(e={});const{i18n:t,rendered:r,metaDescriptionDate:n,raw:s,placeholder:i}=e;var a="",o=b;return Array.prototype.join,a+='\n\t
\n\t\t'+o(t.snippetPreview)+' \n\t'+o(t.snippetPreviewDescription)+'
\n\n\t\t\n\t\t\t
\n\t\t\t\t'+o(t.titleLabel)+' \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.title)+'\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.slugLabel)+' \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.baseUrl)+'\n\t\t\t\t\t \n\t\t\t\t\t\t'+o(r.snippetCite)+'\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.metaDescriptionLabel)+" \n\t\t\t\t",""!==n&&(a+='\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(n)+" -\n\t\t\t\t\t \n\t\t\t\t"),a+'\n\t\t\t\t\n\t\t\t\t\t'+o(r.meta)+"\n\t\t\t\t \n\t\t\t
\n\t\t
\n\n\t\t\n\t\t\t"+o(t.isScrollableHint)+' \n\t\t
\n\n\t\t\n\t\t\t \n\t\t\t \n\t\t
\n\t\t\n\t\t\t'+o(t.edit)+'\n\t\t \n\t \n\n\t
\n
\n"}};o?((o.exports=y).templates=y,a.templates=y):i.templates=y}).call(this)}).call(this,r(20),r(172)(e))},function(e,t,r){"use strict";var n=r(378),s=r(379);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=E,t.resolve=function(e,t){return E(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?E(e,!1,!0).resolveObject(t):t},t.format=function(e){return s.isString(e)&&(e=E(e)),e instanceof i?e.format():i.prototype.format.call(e)},t.Url=i;var a=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(c),h=["%","/","?",";","#"].concat(u),d=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,g=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,f={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},_={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},T=r(380);function E(e,t,r){if(e&&s.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}i.prototype.parse=function(e,t,r){if(!s.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),o=-1!==i&&i127?D+="x":D+=x[L];if(!D.match(p)){var P=R.slice(0,S),F=R.slice(S+1),j=x.match(g);j&&(P.push(j[1]),F.unshift(j[2])),F.length&&(E="/"+F.join(".")+E),this.hostname=P.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),N||(this.hostname=n.toASCII(this.hostname));var B=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+B,this.href+=this.host,N&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==E[0]&&(E="/"+E))}if(!f[y])for(S=0,I=u.length;S0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),r.search=e.search,r.query=e.query,s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!A.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var C=A.slice(-1)[0],w=(r.host||e.host||A.length>1)&&("."===C||".."===C)||""===C,S=0,k=A.length;k>=0;k--)"."===(C=A[k])?A.splice(k,1):".."===C?(A.splice(k,1),S++):S&&(A.splice(k,1),S--);if(!b&&!y)for(;S--;S)A.unshift("..");!b||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),w&&"/"!==A.join("/").substr(-1)&&A.push("");var N,R=""===A[0]||A[0]&&"/"===A[0].charAt(0);return O&&(r.hostname=r.host=R?"":A.length?A.shift():"",(N=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),(b=b||r.host&&A.length)&&!R&&A.unshift(""),A.length?r.pathname=A.join("/"):(r.pathname=null,r.path=null),s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},,,,,,,,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},function(e,t,r){"use strict";const n=r(384),s=r(103),i=r(385),a=r(104),o=s.CODE_POINTS,l=s.CODE_POINT_SEQUENCES,c={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},u="DATA_STATE";function h(e){return e===o.SPACE||e===o.LINE_FEED||e===o.TABULATION||e===o.FORM_FEED}function d(e){return e>=o.DIGIT_0&&e<=o.DIGIT_9}function p(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_Z}function g(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_Z}function f(e){return g(e)||p(e)}function m(e){return f(e)||d(e)}function _(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_F}function T(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_F}function E(e){return e+32}function v(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function b(e){return String.fromCharCode(E(e))}function y(e,t){const r=i[++e];let n=++e,s=n+r-1;for(;n<=s;){const e=n+s>>>1,a=i[e];if(at))return i[e+r];s=e-1}}return-1}class A{constructor(){this.preprocessor=new n,this.tokenQueue=[],this.allowCDATA=!1,this.state=u,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}_err(){}_errOnNextCodePoint(e){this._consume(),this._err(e),this._unconsume()}getNextToken(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}write(e,t){this.active=!0,this.preprocessor.write(e,t)}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:A.HIBERNATION_TOKEN}),!0}return!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}_reconsumeInState(e){this.state=e,this._unconsume()}_consumeSequenceIfMatch(e,t,r){let n=0,s=!0;const i=e.length;let a=0,l=t,c=void 0;for(;a0&&(l=this._consume(),n++),l===o.EOF){s=!1;break}if(c=e[a],l!==c&&(r||l!==E(c))){s=!1;break}}if(!s)for(;n--;)this._unconsume();return s}_isTempBufferEqualToScriptString(){if(this.tempBuff.length!==l.SCRIPT_STRING.length)return!1;for(let e=0;e0&&this._err(a.endTagWithAttributes),e.selfClosing&&this._err(a.endTagWithTrailingSolidus)),this.tokenQueue.push(e)}_emitCurrentCharacterToken(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}_emitEOFToken(){this._createEOFToken(),this._emitCurrentToken()}_appendCharToCurrentCharacterToken(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}_emitCodePoint(e){let t=A.CHARACTER_TOKEN;h(e)?t=A.WHITESPACE_CHARACTER_TOKEN:e===o.NULL&&(t=A.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(t,v(e))}_emitSeveralCodePoints(e){for(let t=0;t-1;){const e=i[n],s=e<7;s&&1&e&&(t=2&e?[i[++n],i[++n]]:[i[++n]],r=0);const a=this._consume();if(this.tempBuff.push(a),r++,a===o.EOF)break;n=s?4&e?y(n,a):-1:a===e?++n:-1}for(;r--;)this.tempBuff.pop(),this._unconsume();return t}_isCharacterReferenceInAttribute(){return"ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_UNQUOTED_STATE"===this.returnState}_isCharacterReferenceAttributeQuirk(e){if(!e&&this._isCharacterReferenceInAttribute()){const e=this._consume();return this._unconsume(),e===o.EQUALS_SIGN||m(e)}return!1}_flushCodePointsConsumedAsCharacterReference(){if(this._isCharacterReferenceInAttribute())for(let e=0;e")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE"):f(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE")):(this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))}SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE(e){f(e)?(this._createEndTagToken(),this._reconsumeInState("SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE")):(this._emitChars(""),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))}SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE(e){if(p(e))this.currentToken.tagName+=b(e),this.tempBuff.push(e);else if(g(e))this.currentToken.tagName+=v(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(h(e))return void(this.state="BEFORE_ATTRIBUTE_NAME_STATE");if(e===o.SOLIDUS)return void(this.state="SELF_CLOSING_START_TAG_STATE");if(e===o.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=u)}this._emitChars(""),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE")}}SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?"SCRIPT_DATA_DOUBLE_ESCAPED_STATE":"SCRIPT_DATA_ESCAPED_STATE",this._emitCodePoint(e)):p(e)?(this.tempBuff.push(E(e)),this._emitCodePoint(e)):g(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE")}SCRIPT_DATA_DOUBLE_ESCAPED_STATE(e){e===o.HYPHEN_MINUS?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",this._emitChars("-")):e===o.LESS_THAN_SIGN?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",this._emitChars("<")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):this._emitCodePoint(e)}SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE(e){e===o.HYPHEN_MINUS?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",this._emitChars("-")):e===o.LESS_THAN_SIGN?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",this._emitChars("<")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE(e){e===o.HYPHEN_MINUS?this._emitChars("-"):e===o.LESS_THAN_SIGN?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",this._emitChars("<")):e===o.GREATER_THAN_SIGN?(this.state="SCRIPT_DATA_STATE",this._emitChars(">")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",this._emitChars("/")):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?"SCRIPT_DATA_ESCAPED_STATE":"SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e)):p(e)?(this.tempBuff.push(E(e)),this._emitCodePoint(e)):g(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}BEFORE_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?this._reconsumeInState("AFTER_ATTRIBUTE_NAME_STATE"):e===o.EQUALS_SIGN?(this._err(a.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state="ATTRIBUTE_NAME_STATE"):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}ATTRIBUTE_NAME_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?(this._leaveAttrName("AFTER_ATTRIBUTE_NAME_STATE"),this._unconsume()):e===o.EQUALS_SIGN?this._leaveAttrName("BEFORE_ATTRIBUTE_VALUE_STATE"):p(e)?this.currentAttr.name+=b(e):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN?(this._err(a.unexpectedCharacterInAttributeName),this.currentAttr.name+=v(e)):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.name+=s.REPLACEMENT_CHARACTER):this.currentAttr.name+=v(e)}AFTER_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS?this.state="SELF_CLOSING_START_TAG_STATE":e===o.EQUALS_SIGN?this.state="BEFORE_ATTRIBUTE_VALUE_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}BEFORE_ATTRIBUTE_VALUE_STATE(e){h(e)||(e===o.QUOTATION_MARK?this.state="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE":e===o.APOSTROPHE?this.state="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.missingAttributeValue),this.state=u,this._emitCurrentToken()):this._reconsumeInState("ATTRIBUTE_VALUE_UNQUOTED_STATE"))}ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_UNQUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_UNQUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN||e===o.EQUALS_SIGN||e===o.GRAVE_ACCENT?(this._err(a.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=v(e)):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}AFTER_ATTRIBUTE_VALUE_QUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.SOLIDUS?this._leaveAttrValue("SELF_CLOSING_START_TAG_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.missingWhitespaceBetweenAttributes),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}SELF_CLOSING_START_TAG_STATE(e){e===o.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.unexpectedSolidusInTag),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}BOGUS_COMMENT_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):this.currentToken.data+=v(e)}MARKUP_DECLARATION_OPEN_STATE(e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state="COMMENT_START_STATE"):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state="DOCTYPE_STATE":this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state="CDATA_SECTION_STATE":(this._err(a.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state="BOGUS_COMMENT_STATE"):this._ensureHibernation()||(this._err(a.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState("BOGUS_COMMENT_STATE"))}COMMENT_START_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_START_DASH_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):this._reconsumeInState("COMMENT_STATE")}COMMENT_START_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_DASH_STATE":e===o.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state="COMMENT_LESS_THAN_SIGN_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=v(e)}COMMENT_LESS_THAN_SIGN_STATE(e){e===o.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state="COMMENT_LESS_THAN_SIGN_BANG_STATE"):e===o.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE":this._reconsumeInState("COMMENT_END_DASH_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE(e){e!==o.GREATER_THAN_SIGN&&e!==o.EOF&&this._err(a.nestedComment),this._reconsumeInState("COMMENT_END_STATE")}COMMENT_END_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EXCLAMATION_MARK?this.state="COMMENT_END_BANG_STATE":e===o.HYPHEN_MINUS?this.currentToken.data+="-":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_BANG_STATE(e){e===o.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state="COMMENT_END_DASH_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.incorrectlyClosedComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState("COMMENT_STATE"))}DOCTYPE_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingWhitespaceBeforeDoctypeName),this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"))}BEFORE_DOCTYPE_NAME_STATE(e){h(e)||(p(e)?(this._createDoctypeToken(b(e)),this.state="DOCTYPE_NAME_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._createDoctypeToken(s.REPLACEMENT_CHARACTER),this.state="DOCTYPE_NAME_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(v(e)),this.state="DOCTYPE_NAME_STATE"))}DOCTYPE_NAME_STATE(e){h(e)?this.state="AFTER_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):p(e)?this.currentToken.name+=b(e):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.name+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=v(e)}AFTER_DOCTYPE_NAME_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(l.PUBLIC_STRING,e,!1)?this.state="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE":this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE":this._ensureHibernation()||(this._err(a.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)?this.state="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}BOGUS_DOCTYPE_STATE(e){e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.NULL?this._err(a.unexpectedNullCharacter):e===o.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}CDATA_SECTION_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_BRACKET_STATE":e===o.EOF?(this._err(a.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}CDATA_SECTION_BRACKET_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_END_STATE":(this._emitChars("]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CDATA_SECTION_END_STATE(e){e===o.GREATER_THAN_SIGN?this.state=u:e===o.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CHARACTER_REFERENCE_STATE(e){this.tempBuff=[o.AMPERSAND],e===o.NUMBER_SIGN?(this.tempBuff.push(e),this.state="NUMERIC_CHARACTER_REFERENCE_STATE"):m(e)?this._reconsumeInState("NAMED_CHARACTER_REFERENCE_STATE"):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}NAMED_CHARACTER_REFERENCE_STATE(e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[o.AMPERSAND];else if(t){const e=this.tempBuff[this.tempBuff.length-1]===o.SEMICOLON;this._isCharacterReferenceAttributeQuirk(e)||(e||this._errOnNextCodePoint(a.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state="AMBIGUOS_AMPERSAND_STATE"}AMBIGUOS_AMPERSAND_STATE(e){m(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=v(e):this._emitCodePoint(e):(e===o.SEMICOLON&&this._err(a.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}NUMERIC_CHARACTER_REFERENCE_STATE(e){this.charRefCode=0,e===o.LATIN_SMALL_X||e===o.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE"):this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_START_STATE")}HEXADEMICAL_CHARACTER_REFERENCE_START_STATE(e){!function(e){return d(e)||_(e)||T(e)}(e)?(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState("HEXADEMICAL_CHARACTER_REFERENCE_STATE")}DECIMAL_CHARACTER_REFERENCE_START_STATE(e){d(e)?this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_STATE"):(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}HEXADEMICAL_CHARACTER_REFERENCE_STATE(e){_(e)?this.charRefCode=16*this.charRefCode+e-55:T(e)?this.charRefCode=16*this.charRefCode+e-87:d(e)?this.charRefCode=16*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}DECIMAL_CHARACTER_REFERENCE_STATE(e){d(e)?this.charRefCode=10*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}NUMERIC_CHARACTER_REFERENCE_END_STATE(){if(this.charRefCode===o.NULL)this._err(a.nullCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(a.characterReferenceOutsideUnicodeRange),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isSurrogate(this.charRefCode))this._err(a.surrogateCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isUndefinedCodePoint(this.charRefCode))this._err(a.noncharacterCharacterReference);else if(s.isControlCodePoint(this.charRefCode)||this.charRefCode===o.CARRIAGE_RETURN){this._err(a.controlCharacterReference);const e=c[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}A.CHARACTER_TOKEN="CHARACTER_TOKEN",A.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",A.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",A.START_TAG_TOKEN="START_TAG_TOKEN",A.END_TAG_TOKEN="END_TAG_TOKEN",A.COMMENT_TOKEN="COMMENT_TOKEN",A.DOCTYPE_TOKEN="DOCTYPE_TOKEN",A.EOF_TOKEN="EOF_TOKEN",A.HIBERNATION_TOKEN="HIBERNATION_TOKEN",A.MODE={DATA:u,RCDATA:"RCDATA_STATE",RAWTEXT:"RAWTEXT_STATE",SCRIPT_DATA:"SCRIPT_DATA_STATE",PLAINTEXT:"PLAINTEXT_STATE"},A.getTokenAttr=function(e,t){for(let r=e.attrs.length-1;r>=0;r--)if(e.attrs[r].name===t)return e.attrs[r].value;return null},e.exports=A},,,,,,,,,,,,,,,,,function(e,t,r){r(334),e.exports=r(160)},function(e,t){e.exports=function(e,t,r){var n="";if(n+=e.name||"Error",n+=": "+(e.message||""),r instanceof Array)for(var s in r)n+="\n # "+r[s];for(var i in t)n+="\n at "+t[i].toString();return n}},function(e,t,r){"use strict";const n=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="�",t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533},t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]},t.isSurrogate=function(e){return e>=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},function(e,t,r){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e,t){super(e),this.posTracker=null,this.onParseError=t.onParseError}_setErrorLocation(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}_reportError(e){const t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}_getOverriddenMethods(e){return{_err(t){e._reportError(t)}}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){e.exports=r(333)},function(e,t,r){r(101).check("es5")},function(e,t,r){var n=new(r(335)),s=function(e){return n.test(e)};s.define=function(e,t){n.define(e,t)},s.check=function(e){n.check(e)},s.test=s,e.exports=s},function(e,t,r){var n=r(162),s={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},i={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:{option:!0},optgroup:{optgroup:!0}},a={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},o={__proto__:null,math:!0,svg:!0},l={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},c=/\s|\//;function u(e,t){this._options=t||{},this._cbs=e||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(n=this._options.Tokenizer),this._tokenizer=new n(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}r(83)(u,r(353).EventEmitter),u.prototype._updatePosition=function(e){null===this.endIndex?this._tokenizer._sectionStart<=e?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},u.prototype.ontext=function(e){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(e)},u.prototype.onopentagname=function(e){if(this._lowerCaseTagNames&&(e=e.toLowerCase()),this._tagname=e,!this._options.xmlMode&&e in i)for(var t;(t=this._stack[this._stack.length-1])in i[e];this.onclosetag(t));!this._options.xmlMode&&e in a||(this._stack.push(e),e in o?this._foreignContext.push(!0):e in l&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(e),this._cbs.onopentag&&(this._attribs={})},u.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in a&&this._cbs.onclosetag(this._tagname),this._tagname=""},u.prototype.onclosetag=function(e){if(this._updatePosition(1),this._lowerCaseTagNames&&(e=e.toLowerCase()),(e in o||e in l)&&this._foreignContext.pop(),!this._stack.length||e in a&&!this._options.xmlMode)this._options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this._closeCurrentTag());else{var t=this._stack.lastIndexOf(e);if(-1!==t)if(this._cbs.onclosetag)for(t=this._stack.length-t;t--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=t;else"p"!==e||this._options.xmlMode||(this.onopentagname(e),this._closeCurrentTag())}},u.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},u.prototype._closeCurrentTag=function(){var e=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===e&&(this._cbs.onclosetag&&this._cbs.onclosetag(e),this._stack.pop())},u.prototype.onattribname=function(e){this._lowerCaseAttributeNames&&(e=e.toLowerCase()),this._attribname=e},u.prototype.onattribdata=function(e){this._attribvalue+=e},u.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},u.prototype._getInstructionName=function(e){var t=e.search(c),r=t<0?e:e.substr(0,t);return this._lowerCaseTagNames&&(r=r.toLowerCase()),r},u.prototype.ondeclaration=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("!"+t,"!"+e)}},u.prototype.onprocessinginstruction=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("?"+t,"?"+e)}},u.prototype.oncomment=function(e){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(e),this._cbs.oncommentend&&this._cbs.oncommentend()},u.prototype.oncdata=function(e){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(e),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+e+"]]")},u.prototype.onerror=function(e){this._cbs.onerror&&this._cbs.onerror(e)},u.prototype.onend=function(){if(this._cbs.onclosetag)for(var e=this._stack.length;e>0;this._cbs.onclosetag(this._stack[--e]));this._cbs.onend&&this._cbs.onend()},u.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},u.prototype.parseComplete=function(e){this.reset(),this.end(e)},u.prototype.write=function(e){this._tokenizer.write(e)},u.prototype.end=function(e){this._tokenizer.end(e)},u.prototype.pause=function(){this._tokenizer.pause()},u.prototype.resume=function(){this._tokenizer.resume()},u.prototype.parseChunk=u.prototype.write,u.prototype.done=u.prototype.end,e.exports=u},function(e,t,r){e.exports=me;var n=r(348),s=r(350),i=r(351),a=r(352),o=0,l=o++,c=o++,u=o++,h=o++,d=o++,p=o++,g=o++,f=o++,m=o++,_=o++,T=o++,E=o++,v=o++,b=o++,y=o++,A=o++,O=o++,C=o++,w=o++,S=o++,k=o++,N=o++,R=o++,I=o++,x=o++,D=o++,L=o++,M=o++,P=o++,F=o++,j=o++,B=o++,U=o++,H=o++,$=o++,K=o++,q=o++,G=o++,z=o++,W=o++,Y=o++,V=o++,Q=o++,X=o++,J=o++,Z=o++,ee=o++,te=o++,re=o++,ne=o++,se=o++,ie=o++,ae=o++,oe=o++,le=o++,ce=0,ue=ce++,he=ce++,de=ce++;function pe(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function ge(e,t,r){var n=e.toLowerCase();return e===n?function(e){e===n?this._state=t:(this._state=r,this._index--)}:function(s){s===n||s===e?this._state=t:(this._state=r,this._index--)}}function fe(e,t){var r=e.toLowerCase();return function(n){n===r||n===e?this._state=t:(this._state=u,this._index--)}}function me(e,t){this._state=l,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=l,this._special=ue,this._cbs=t,this._running=!0,this._ended=!1,this._xmlMode=!(!e||!e.xmlMode),this._decodeEntities=!(!e||!e.decodeEntities)}me.prototype._stateText=function(e){"<"===e?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=c,this._sectionStart=this._index):this._decodeEntities&&this._special===ue&&"&"===e&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=l,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeTagName=function(e){"/"===e?this._state=d:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||pe(e)?this._state=l:"!"===e?(this._state=y,this._sectionStart=this._index+1):"?"===e?(this._state=O,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:j,this._sectionStart=this._index)},me.prototype._stateInTagName=function(e){("/"===e||">"===e||pe(e))&&(this._emitToken("onopentagname"),this._state=f,this._index--)},me.prototype._stateBeforeCloseingTagName=function(e){pe(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=B:(this._state=l,this._index--):(this._state=p,this._sectionStart=this._index))},me.prototype._stateInCloseingTagName=function(e){(">"===e||pe(e))&&(this._emitToken("onclosetag"),this._state=g,this._index--)},me.prototype._stateAfterCloseingTagName=function(e){">"===e&&(this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeAttributeName=function(e){">"===e?(this._cbs.onopentagend(),this._state=l,this._sectionStart=this._index+1):"/"===e?this._state=h:pe(e)||(this._state=m,this._sectionStart=this._index)},me.prototype._stateInSelfClosingTag=function(e){">"===e?(this._cbs.onselfclosingtag(),this._state=l,this._sectionStart=this._index+1):pe(e)||(this._state=f,this._index--)},me.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||pe(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=_,this._index--)},me.prototype._stateAfterAttributeName=function(e){"="===e?this._state=T:"/"===e||">"===e?(this._cbs.onattribend(),this._state=f,this._index--):pe(e)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},me.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=E,this._sectionStart=this._index+1):"'"===e?(this._state=v,this._sectionStart=this._index+1):pe(e)||(this._state=b,this._sectionStart=this._index,this._index--)},me.prototype._stateInAttributeValueDoubleQuotes=function(e){'"'===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueSingleQuotes=function(e){"'"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueNoQuotes=function(e){pe(e)||">"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f,this._index--):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeDeclaration=function(e){this._state="["===e?N:"-"===e?C:A},me.prototype._stateInDeclaration=function(e){">"===e&&(this._cbs.ondeclaration(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateInProcessingInstruction=function(e){">"===e&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeComment=function(e){"-"===e?(this._state=w,this._sectionStart=this._index+1):this._state=A},me.prototype._stateInComment=function(e){"-"===e&&(this._state=S)},me.prototype._stateAfterComment1=function(e){this._state="-"===e?k:w},me.prototype._stateAfterComment2=function(e){">"===e?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"-"!==e&&(this._state=w)},me.prototype._stateBeforeCdata1=ge("C",R,A),me.prototype._stateBeforeCdata2=ge("D",I,A),me.prototype._stateBeforeCdata3=ge("A",x,A),me.prototype._stateBeforeCdata4=ge("T",D,A),me.prototype._stateBeforeCdata5=ge("A",L,A),me.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=M,this._sectionStart=this._index+1):(this._state=A,this._index--)},me.prototype._stateInCdata=function(e){"]"===e&&(this._state=P)},me.prototype._stateAfterCdata1=function(e){this._state="]"===e?F:M},me.prototype._stateAfterCdata2=function(e){">"===e?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"]"!==e&&(this._state=M)},me.prototype._stateBeforeSpecial=function(e){"c"===e||"C"===e?this._state=U:"t"===e||"T"===e?this._state=Q:(this._state=u,this._index--)},me.prototype._stateBeforeSpecialEnd=function(e){this._special!==he||"c"!==e&&"C"!==e?this._special!==de||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=G},me.prototype._stateBeforeScript1=fe("R",H),me.prototype._stateBeforeScript2=fe("I",$),me.prototype._stateBeforeScript3=fe("P",K),me.prototype._stateBeforeScript4=fe("T",q),me.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||pe(e))&&(this._special=he),this._state=u,this._index--},me.prototype._stateAfterScript1=ge("R",z,l),me.prototype._stateAfterScript2=ge("I",W,l),me.prototype._stateAfterScript3=ge("P",Y,l),me.prototype._stateAfterScript4=ge("T",V,l),me.prototype._stateAfterScript5=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-6,this._index--):this._state=l},me.prototype._stateBeforeStyle1=fe("Y",X),me.prototype._stateBeforeStyle2=fe("L",J),me.prototype._stateBeforeStyle3=fe("E",Z),me.prototype._stateBeforeStyle4=function(e){("/"===e||">"===e||pe(e))&&(this._special=de),this._state=u,this._index--},me.prototype._stateAfterStyle1=ge("Y",te,l),me.prototype._stateAfterStyle2=ge("L",re,l),me.prototype._stateAfterStyle3=ge("E",ne,l),me.prototype._stateAfterStyle4=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-5,this._index--):this._state=l},me.prototype._stateBeforeEntity=ge("#",ie,ae),me.prototype._stateBeforeNumericEntity=ge("X",le,oe),me.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(t=6);t>=2;){var r=this._buffer.substr(e,t);if(i.hasOwnProperty(r))return this._emitPartial(i[r]),void(this._sectionStart+=t+1);t--}},me.prototype._stateInNamedEntity=function(e){";"===e?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(e<"A"||e>"Z")&&(e<"0"||e>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==l?"="!==e&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},me.prototype._decodeNumericEntity=function(e,t){var r=this._sectionStart+e;if(r!==this._index){var s=this._buffer.substring(r,this._index),i=parseInt(s,t);this._emitPartial(n(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},me.prototype._stateInNumericEntity=function(e){";"===e?(this._decodeNumericEntity(2,10),this._sectionStart++):(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},me.prototype._stateInHexEntity=function(e){";"===e?(this._decodeNumericEntity(3,16),this._sectionStart++):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},me.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===l?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},me.prototype.write=function(e){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=e,this._parse()},me.prototype._parse=function(){for(;this._index","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"","InvisibleTimes":"","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"","NegativeThickSpace":"","NegativeThinSpace":"","NegativeVeryThinSpace":"","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":" ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"","zwnj":""}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var s=u(n(r(168)).default),i=h(s);t.encodeXML=m(s);var a,o,l=u(n(r(167)).default),c=h(l);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function h(e){for(var t=[],r=[],n=0,s=Object.keys(e);n1?p(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var f=new RegExp(i.source+"|"+d.source,"g");function m(e){return function(t){return t.replace(f,(function(t){return e[t]||g(t)}))}}t.escape=function(e){return e.replace(f,g)},t.escapeUTF8=function(e){return e.replace(i,g)}},function(e,t,r){e.exports=o;var n=r(161),s=r(370).Writable,i=r(371).StringDecoder,a=r(171).Buffer;function o(e,t){var r=this._parser=new n(e,t),a=this._decoder=new i;s.call(this,{decodeStrings:!1}),this.once("finish",(function(){r.end(a.end())}))}r(83)(o,s),o.prototype._write=function(e,t,r){e instanceof a&&(e=this._decoder.write(e)),this._parser.write(e),r()}},function(e,t,r){"use strict";(function(e){var n=r(373),s=r(374),i=r(375);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function g(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return U(e).length;default:if(n)return B(e).length;t=(""+t).toLowerCase(),n=!0}}function f(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return w(this,t,r);case"ascii":return S(this,t,r);case"latin1":case"binary":return k(this,t,r);case"base64":return C(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function _(e,t,r,n,s){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:T(e,t,r,n,s);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):T(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function T(e,t,r,n,s){var i,a=1,o=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(s){var u=-1;for(i=r;io&&(r=o-l),i=r;i>=0;i--){for(var h=!0,d=0;ds&&(n=s):n=s;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a>8,s=r%256,i.push(s),i.push(n);return i}(t,e.length-r),e,r,n)}function C(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function w(e,t,r){r=Math.min(e.length,r);for(var n=[],s=t;s239?4:c>223?3:c>191?2:1;if(s+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=e[s+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=e[s+1],a=e[s+2],128==(192&i)&&128==(192&a)&&(l=(15&c)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[s+1],a=e[s+2],o=e[s+3],128==(192&i)&&128==(192&a)&&128==(192&o)&&(l=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),s+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;ns)&&(r=s);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,r,n,s,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function D(e,t,r,n){t<0&&(t=65535+t+1);for(var s=0,i=Math.min(e.length-r,2);s>>8*(n?s:1-s)}function L(e,t,r,n){t<0&&(t=4294967295+t+1);for(var s=0,i=Math.min(e.length-r,4);s>>8*(n?s:3-s)&255}function M(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P(e,t,r,n,i){return i||M(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return i||M(e,0,r,8),s.write(e,t,r,n,52,8),r+8}t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return c(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return u(t),t<=0?o(null,t):void 0!==r?"string"==typeof n?o(null,t).fill(r,n):o(null,t).fill(r):o(null,t)}(0,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,s=0,i=Math.min(r,n);s0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,s){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(s>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),o=Math.min(i,a),c=this.slice(n,s),u=e.slice(t,r),h=0;hs)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return E(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return b(this,e,t,r);case"latin1":case"binary":return y(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(s*=256);)n+=this[e+--t]*s;return n},l.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],s=1,i=0;++i=(s*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,s=1,i=this[e+--n];n>0&&(s*=256);)i+=this[e+--n]*s;return i>=(s*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||x(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+s]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=0,a=1,o=0;for(this[t]=255&e;++i>0)-o&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return P(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return P(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--s)e[s+t]=this[s+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=65536+(s-55296<<10|r-56320)}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function U(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}}).call(this,r(20))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return o}));var n=r(200);let s;function i(){return null===s.yoast.shortlinker&&(s.yoast.shortlinker=new n.a),s.yoast.shortlinker}function a(e){i().configure(e)}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i().createAnchorOpeningTag(e,t)}s="undefined"==typeof window?"undefined"==typeof self?e:self:window,s.yoast=s.yoast||{},s.yoast.shortlinker=s.yoast.shortlinker||null}).call(this,r(20))},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(175);e.exports=class extends n{constructor(e){super(e),this.tokenizer=e,this.posTracker=n.install(e.preprocessor,i),this.currentAttrLocation=null,this.ctLoc=null}_getCurrentLocation(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}_attachCurrentAttrLocationInfo(){this.currentAttrLocation.endLine=this.posTracker.line,this.currentAttrLocation.endCol=this.posTracker.col,this.currentAttrLocation.endOffset=this.posTracker.offset;const e=this.tokenizer.currentToken,t=this.tokenizer.currentAttr;e.location.attrs||(e.location.attrs=Object.create(null)),e.location.attrs[t.name]=this.currentAttrLocation}_getOverriddenMethods(e,t){const r={_createStartTagToken(){t._createStartTagToken.call(this),this.currentToken.location=e.ctLoc},_createEndTagToken(){t._createEndTagToken.call(this),this.currentToken.location=e.ctLoc},_createCommentToken(){t._createCommentToken.call(this),this.currentToken.location=e.ctLoc},_createDoctypeToken(r){t._createDoctypeToken.call(this,r),this.currentToken.location=e.ctLoc},_createCharacterToken(r,n){t._createCharacterToken.call(this,r,n),this.currentCharacterToken.location=e.ctLoc},_createEOFToken(){t._createEOFToken.call(this),this.currentToken.location=e._getCurrentLocation()},_createAttr(r){t._createAttr.call(this,r),e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName(r){t._leaveAttrName.call(this,r),e._attachCurrentAttrLocationInfo()},_leaveAttrValue(r){t._leaveAttrValue.call(this,r),e._attachCurrentAttrLocationInfo()},_emitCurrentToken(){const r=this.currentToken.location;this.currentCharacterToken&&(this.currentCharacterToken.location.endLine=r.startLine,this.currentCharacterToken.location.endCol=r.startCol,this.currentCharacterToken.location.endOffset=r.startOffset),this.currentToken.type===s.EOF_TOKEN?(r.endLine=r.startLine,r.endCol=r.startCol,r.endOffset=r.startOffset):(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col+1,r.endOffset=e.posTracker.offset+1),t._emitCurrentToken.call(this)},_emitCurrentCharacterToken(){const r=this.currentCharacterToken&&this.currentCharacterToken.location;r&&-1===r.endOffset&&(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col,r.endOffset=e.posTracker.offset),t._emitCurrentCharacterToken.call(this)}};return Object.keys(s.MODE).forEach(n=>{const i=s.MODE[n];r[i]=function(r){e.ctLoc=e._getCurrentLocation(),t[i].call(this,r)}}),r}}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e){super(e),this.preprocessor=e,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.offset=0,this.col=0,this.line=1}_getOverriddenMethods(e,t){return{advance(){const r=this.pos+1,n=this.html[r];return e.isEol&&(e.isEol=!1,e.line++,e.lineStartPos=r),("\n"===n||"\r"===n&&"\n"!==this.html[r+1])&&(e.isEol=!0),e.col=r-e.lineStartPos+1,e.offset=e.droppedBufferSize+r,t.advance.call(this)},retreat(){t.retreat.call(this),e.isEol=!1,e.col=this.pos-e.lineStartPos+1},dropParsedChunk(){const r=this.pos;t.dropParsedChunk.call(this);const n=r-this.pos;e.lineStartPos-=n,e.droppedBufferSize+=n,e.offset=e.droppedBufferSize+this.pos}}}}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48);t.createDocument=function(){return{nodeName:"#document",mode:n.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};const s=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},a=t.insertBefore=function(e,t,r){const n=e.childNodes.indexOf(r);e.childNodes.splice(n,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,r,n){let s=null;for(let t=0;t(Object.keys(t).forEach(r=>{e[r]=t[r]}),e),Object.create(null))}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48),s=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],i=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),a=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],o=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],l=o.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function c(e){const t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function u(e,t){for(let r=0;r-1)return n.QUIRKS;let e=null===t?i:s;if(u(r,e))return n.QUIRKS;if(e=null===t?o:l,u(r,e))return n.LIMITED_QUIRKS}return n.NO_QUIRKS},t.serializeContent=function(e,t,r){let n="!DOCTYPE ";return e&&(n+=e),t?n+=" PUBLIC "+c(t):r&&(n+=" SYSTEM"),null!==r&&(n+=" "+c(r)),n}},,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=window.yoast.featureFlag},function(e,t,r){var n,s;!function(i,a){"use strict";void 0===(s="function"==typeof(n=function(){var e=function(){},t="undefined"!=typeof window&&void 0!==window.navigator&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"];function n(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(t){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function i(r){return"debug"===r&&(r="log"),"undefined"!=typeof console&&("trace"===r&&t?s:void 0!==console[r]?n(console,r):void 0!==console.log?n(console,"log"):e)}function a(t,n){for(var s=0;s=0&&t<=i.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(s=t,!1!==n&&function(e){var t=(r[e]||"silent").toUpperCase();if("undefined"!=typeof window&&o){try{return void(window.localStorage[o]=t)}catch(e){}try{window.document.cookie=encodeURIComponent(o)+"="+t+";"}catch(e){}}}(t),a.call(i,t,e),"undefined"==typeof console&&t0&&void 0!==arguments[0]?arguments[0]:{};this.configure(e)}configure(e){this._config={params:{},...e}}static createQueryString(e){return Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=encodeURI(e);const s=n.createQueryString({...this._config.params,...t});return""!==s&&(r+="?"+s),r}createAnchorOpeningTag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return``}}},function(e,t,r){"use strict";const n=r(383),s=r(394);t.parse=function(e,t){return new n(t).parse(e)},t.parseFragment=function(e,t,r){return"string"==typeof e&&(r=t,t=e,e=null),new n(r).parseFragment(t,e)},t.serialize=function(e,t){return new s(e,t).serialize()}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){r(159);var n,s=r(101);n=s("Error.captureStackTrace")?r(336):s("Error.prototype.stack")?r(337):r(347),e.exports=n()},function(e,t,r){var n=r(160),s=n.define,i=n.test;s("strict mode",(function(){return void 0===this})),s("arguments.callee.caller",(function(){try{return function(){return arguments.callee.caller}()===arguments.callee}catch(e){return!1}})),s("es5",(function(){return i("Array.prototype.forEach")&&i("Array.prototype.map")&&i("Function.prototype.bind")&&i("Object.create")&&i("Object.defineProperties")&&i("Object.defineProperty")&&i("Object.prototype.hasOwnProperty")})),s("Array.prototype.forEach",(function(){return Array.prototype.forEach})),s("Array.prototype.map",(function(){return Array.prototype.map})),s("Function.prototype.bind",(function(){return Function.prototype.bind})),s("Object.create",(function(){return Object.create})),s("Object.defineProperties",(function(){return Object.defineProperties})),s("Object.defineProperty",(function(){return Object.defineProperty})),s("Object.prototype.hasOwnProperty",(function(){return Object.prototype.hasOwnProperty})),s("Error.captureStackTrace",(function(){return Error.captureStackTrace})),s("Error.prototype.stack",(function(){try{throw new Error}catch(e){return e.stack||e.stacktrace}}))},function(e,t){var r=function(){this.tests={},this.cache={}};r.prototype={constructor:r,define:function(e,t){if("string"!=typeof e||!(t instanceof Function))throw new Error("Invalid capability definition.");if(this.tests[e])throw new Error('Duplicated capability definition by "'+e+'".');this.tests[e]=t},check:function(e){if(!this.test(e))throw new Error('The current environment does not support "'+e+'", therefore we cannot continue.')},test:function(e){if(void 0!==this.cache[e])return this.cache[e];if(!this.tests[e])throw new Error('Unknown capability with name "'+e+'".');var t=this.tests[e];return this.cache[e]=!!t(),this.cache[e]}},e.exports=r},function(e,t,r){var n=r(102);e.exports=function(){return Error.getStackTrace=function(e){return e.stack},{prepareStackTrace:n}}},function(e,t,r){var n=r(338),s=r(345),i=r(62).cache,a=r(102);e.exports=function(){return Error.captureStackTrace=function e(t,r){var o=[e];r&&o.push(r);var l=n.getInstance().captureFrameStrings(o);Object.defineProperties(t,{stack:{configurable:!0,get:i((function(){var e=s.getInstance().getFrames(l.frameStrings,l.functionValues);return(Error.prepareStackTrace||a)(t,e,void 0)}))},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})},Error.getStackTrace=function(e){if(e.cachedStack)return e.stack;var t,r=n.getInstance().getFrameStrings(e),i=[];r?i=s.getInstance().getFrames(r,[]):t=["The stack is not readable by unthrown errors in this environment."];var o=(Error.prepareStackTrace||a)(e,i,t);if(r)try{Object.defineProperties(e,{stack:{configurable:!0,writable:!0,enumerable:!1,value:o},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})}catch(e){}return o},{prepareStackTrace:a}}},function(e,t,r){var n=r(61).Class,s=r(61).abstractMethod,i=r(62).eachCombination,a=r(62).cache,o=r(101),l=n(Object,{prototype:{captureFrameStrings:function(e){var t=this.createError();e.unshift(this.captureFrameStrings),e.unshift(this.createError);var r=this.getFrameStrings(t),n=r.slice(e.length),s=[];if(o("arguments.callee.caller")){var i=[this.createError,this.captureFrameStrings];try{for(var a=arguments.callee;a=a.caller;)i.push(a)}catch(e){}s=i.slice(e.length)}return{frameStrings:n,functionValues:s}},getFrameStrings:function(e){var t=e.message||"",r=e.name||"",n=this.getStackString(e);if(void 0!==n){var s=n.split("\n"),i=0,a=s.length;return this.hasHeader&&(i+=r.split("\n").length+t.split("\n").length-1),this.hasFooter&&(a-=1),s.slice(i,a)}},createError:s,getStackString:s,hasHeader:void 0,hasFooter:void 0}}),c=n(Object,{prototype:{calibrateClass:function(e){return this.calibrateMethods(e)&&this.calibrateEnvelope(e)},calibrateMethods:function(e){try{i([[function(e){return new Error(e)},function(e){try{throw new Error(e)}catch(e){return e}}],[function(e){return e.stack},function(e){return e.stacktrace}]],(function(e,t){if(t(e()))throw{getStackString:t,createError:e}}))}catch(t){return n.merge.call(e,{prototype:t}),!0}return!1},calibrateEnvelope:function(e){var t=(0,e.prototype.getStackString)((0,e.prototype.createError)("marker")).split("\n");return n.merge.call(e,{prototype:{hasHeader:/marker/.test(t[0]),hasFooter:""===t[t.length-1]}}),!0}}});e.exports={getClass:a((function(){var e;if(e)return e;if(e=n(l,{}),!(new c).calibrateClass(e))throw new Error("Cannot read Error.prototype.stack in this environment.");return e})),getInstance:a((function(){return new(this.getClass())}))}},function(e,t,r){e.exports={Class:r(340),abstractMethod:r(341)}},function(e,t){var r=function(){var e=Object.create({Source:Object,config:{},buildArgs:[]});function t(t){var r="config";if(t instanceof Function)r="Source";else if(t instanceof Array)r="buildArgs";else{if(!(t instanceof Object))throw new Error("Invalid configuration option.");r="config"}if(e.hasOwnProperty(r))throw new Error("Duplicated configuration option: "+r+".");e[r]=t}for(var n=0,s=arguments.length;n=55296&&e<=57343||e>1114111)return"�";e in n&&(e=n[e]);var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"","InvisibleTimes":"","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"","NegativeThickSpace":"","NegativeThinSpace":"","NegativeVeryThinSpace":"","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":" ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"","zwnj":""}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n,s="object"==typeof Reflect?Reflect:null,i=s&&"function"==typeof s.apply?s.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function s(r){e.removeListener(t,i),n(r)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",s),r([].slice.call(arguments))}_(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&_(e,"error",t,{once:!0})}(e,s)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function h(e,t,r,n){var s,i,a,o;if(c(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),void 0===a)a=i[t]=r,++e._eventsCount;else if("function"==typeof a?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(s=u(e))>0&&a.length>s&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,o=l,console&&console.warn&&console.warn(o)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=d.bind(n);return s.listener=r,n.wrapFn=s,s}function g(e,t,r){var n=e._events;if(void 0===n)return[];var s=n[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var o=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw o.context=a,o}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,s=i;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return g(this,e,!0)},o.prototype.rawListeners=function(e){return g(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},o.prototype.listenerCount=f,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){var n=r(164),s=e.exports=Object.create(n),i={tagName:"name"};Object.keys(i).forEach((function(e){var t=i[e];Object.defineProperty(s,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})}))},function(e,t,r){var n=r(163),s=r(165);function i(e,t){this.init(e,t)}function a(e,t){return s.getElementsByTagName(e,t,!0)}function o(e,t){return s.getElementsByTagName(e,t,!0,1)[0]}function l(e,t,r){return s.getText(s.getElementsByTagName(e,t,r,1)).trim()}function c(e,t,r,n,s){var i=l(r,n,s);i&&(e[t]=i)}r(83)(i,n),i.prototype.init=n;var u=function(e){return"rss"===e||"feed"===e||"rdf:RDF"===e};i.prototype.onend=function(){var e,t,r={},s=o(u,this.dom);s&&("feed"===s.name?(t=s.children,r.type="atom",c(r,"id","id",t),c(r,"title","title",t),(e=o("link",t))&&(e=e.attribs)&&(e=e.href)&&(r.link=e),c(r,"description","subtitle",t),(e=l("updated",t))&&(r.updated=new Date(e)),c(r,"author","email",t,!0),r.items=a("entry",t).map((function(e){var t,r={};return c(r,"id","id",e=e.children),c(r,"title","title",e),(t=o("link",e))&&(t=t.attribs)&&(t=t.href)&&(r.link=t),(t=l("summary",e)||l("content",e))&&(r.description=t),(t=l("updated",e))&&(r.pubDate=new Date(t)),r}))):(t=o("channel",s.children).children,r.type=s.name.substr(0,3),r.id="",c(r,"title","title",t),c(r,"link","link",t),c(r,"description","description",t),(e=l("lastBuildDate",t))&&(r.updated=new Date(e)),c(r,"author","managingEditor",t,!0),r.items=a("item",s.children).map((function(e){var t,r={};return c(r,"id","guid",e=e.children),c(r,"title","title",e),c(r,"link","link",e),c(r,"description","description",e),(t=l("pubDate",e))&&(r.pubDate=new Date(t)),r})))),this.dom=r,n.prototype._handleCallback.call(this,s?null:Error("couldn't find root of feed"))},e.exports=i},function(e,t,r){var n=r(63),s=r(357),i=n.isTag;e.exports={getInnerHTML:function(e,t){return e.children?e.children.map((function(e){return s(e,t)})).join(""):""},getOuterHTML:s,getText:function e(t){return Array.isArray(t)?t.map(e).join(""):i(t)?"br"===t.name?"\n":e(t.children):t.type===n.CDATA?e(t.children):t.type===n.Text?t.data:""}}},function(e,t,r){var n=r(358),s=r(359),i=r(363);i.elementNames.__proto__=null,i.attributeNames.__proto__=null;var a={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0},o={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},l=e.exports=function(e,t){Array.isArray(e)||e.cheerio||(e=[e]),t=t||{};for(var r="",s=0;s=0&&(t=Object.assign({},t,{xmlMode:!1}))),!t.xmlMode&&["svg","math"].indexOf(e.name)>=0&&(t=Object.assign({},t,{xmlMode:"foreign"}));var r="<"+e.name,n=function(e,t){if(e){var r,n="";for(var a in e)r=e[a],n&&(n+=" "),"foreign"===t.xmlMode&&(a=i.attributeNames[a]||a),n+=a,(null!==r&&""!==r||t.xmlMode)&&(n+='="'+(t.decodeEntities?s.encodeXML(r):r.replace(/\"/g,"""))+'"');return n}}(e.attribs,t);return n&&(r+=" "+n),!t.xmlMode||e.children&&0!==e.children.length?(r+=">",e.children&&(r+=l(e.children,t)),o[e.name]&&!t.xmlMode||(r+=""+e.name+">")):r+="/>",r}function h(e){return"<"+e.data+">"}function d(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in a||(r=s.encodeXML(r)),r}function p(e){return""}function g(e){return"\x3c!--"+e.data+"--\x3e"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=void 0,t.isTag=function(e){return"tag"===e.type||"script"===e.type||"style"===e.type},t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(166),s=r(169);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?s.encodeXML:s.encodeHTML)(e)};var i=r(169);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return i.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return i.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return i.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return i.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return i.encodeHTML}});var a=r(166);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(r(362)),i=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in s.default&&(e=s.default[e]),i(e))}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"elementNames":{"altglyph":"altGlyph","altglyphdef":"altGlyphDef","altglyphitem":"altGlyphItem","animatecolor":"animateColor","animatemotion":"animateMotion","animatetransform":"animateTransform","clippath":"clipPath","feblend":"feBlend","fecolormatrix":"feColorMatrix","fecomponenttransfer":"feComponentTransfer","fecomposite":"feComposite","feconvolvematrix":"feConvolveMatrix","fediffuselighting":"feDiffuseLighting","fedisplacementmap":"feDisplacementMap","fedistantlight":"feDistantLight","fedropshadow":"feDropShadow","feflood":"feFlood","fefunca":"feFuncA","fefuncb":"feFuncB","fefuncg":"feFuncG","fefuncr":"feFuncR","fegaussianblur":"feGaussianBlur","feimage":"feImage","femerge":"feMerge","femergenode":"feMergeNode","femorphology":"feMorphology","feoffset":"feOffset","fepointlight":"fePointLight","fespecularlighting":"feSpecularLighting","fespotlight":"feSpotLight","fetile":"feTile","feturbulence":"feTurbulence","foreignobject":"foreignObject","glyphref":"glyphRef","lineargradient":"linearGradient","radialgradient":"radialGradient","textpath":"textPath"},"attributeNames":{"definitionurl":"definitionURL","attributename":"attributeName","attributetype":"attributeType","basefrequency":"baseFrequency","baseprofile":"baseProfile","calcmode":"calcMode","clippathunits":"clipPathUnits","diffuseconstant":"diffuseConstant","edgemode":"edgeMode","filterunits":"filterUnits","glyphref":"glyphRef","gradienttransform":"gradientTransform","gradientunits":"gradientUnits","kernelmatrix":"kernelMatrix","kernelunitlength":"kernelUnitLength","keypoints":"keyPoints","keysplines":"keySplines","keytimes":"keyTimes","lengthadjust":"lengthAdjust","limitingconeangle":"limitingConeAngle","markerheight":"markerHeight","markerunits":"markerUnits","markerwidth":"markerWidth","maskcontentunits":"maskContentUnits","maskunits":"maskUnits","numoctaves":"numOctaves","pathlength":"pathLength","patterncontentunits":"patternContentUnits","patterntransform":"patternTransform","patternunits":"patternUnits","pointsatx":"pointsAtX","pointsaty":"pointsAtY","pointsatz":"pointsAtZ","preservealpha":"preserveAlpha","preserveaspectratio":"preserveAspectRatio","primitiveunits":"primitiveUnits","refx":"refX","refy":"refY","repeatcount":"repeatCount","repeatdur":"repeatDur","requiredextensions":"requiredExtensions","requiredfeatures":"requiredFeatures","specularconstant":"specularConstant","specularexponent":"specularExponent","spreadmethod":"spreadMethod","startoffset":"startOffset","stddeviation":"stdDeviation","stitchtiles":"stitchTiles","surfacescale":"surfaceScale","systemlanguage":"systemLanguage","tablevalues":"tableValues","targetx":"targetX","targety":"targetY","textlength":"textLength","viewbox":"viewBox","viewtarget":"viewTarget","xchannelselector":"xChannelSelector","ychannelselector":"yChannelSelector","zoomandpan":"zoomAndPan"}}')},function(e,t){var r=t.getChildren=function(e){return e.children},n=t.getParent=function(e){return e.parent};t.getSiblings=function(e){var t=n(e);return t?r(t):[e]},t.getAttributeValue=function(e,t){return e.attribs&&e.attribs[t]},t.hasAttrib=function(e,t){return!!e.attribs&&hasOwnProperty.call(e.attribs,t)},t.getName=function(e){return e.name}},function(e,t){t.removeElement=function(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}},t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var s=t.parent=e.parent;if(s){var i=s.children;i[i.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(t.parent=e,1!==e.children.push(t)){var r=e.children[e.children.length-2];r.next=t,t.prev=r,t.next=null}},t.append=function(e,t){var r=e.parent,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){var s=r.children;s.splice(s.lastIndexOf(n),0,t)}}else r&&r.children.push(t)},t.prepend=function(e,t){var r=e.parent;if(r){var n=r.children;n.splice(n.lastIndexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}},function(e,t,r){var n=r(63).isTag;function s(e,t,r,n){for(var i,a=[],o=0,l=t.length;o0&&(i=s(e,i,r,n),a=a.concat(i),(n-=i.length)<=0)));o++);return a}e.exports={filter:function(e,t,r,n){return Array.isArray(t)||(t=[t]),"number"==typeof n&&isFinite(n)||(n=1/0),s(e,t,!1!==r,n)},find:s,findOneChild:function(e,t){for(var r=0,n=t.length;r0&&(s=e(t,r[i].children)));return s},existsOne:function e(t,r){for(var s=0,i=r.length;s0&&e(t,r[s].children)))return!0;return!1},findAll:function(e,t){for(var r=[],s=t.slice();s.length;){var i=s.shift();n(i)&&(i.children&&i.children.length>0&&s.unshift.apply(s,i.children),e(i)&&r.push(i))}return r}}},function(e,t,r){var n=r(63),s=t.isTag=n.isTag;t.testElement=function(e,t){for(var r in e)if(e.hasOwnProperty(r))if("tag_name"===r){if(!s(t)||!e.tag_name(t.name))return!1}else if("tag_type"===r){if(!e.tag_type(t.type))return!1}else if("tag_contains"===r){if(s(t)||!e.tag_contains(t.data))return!1}else if(!t.attribs||!e[r](t.attribs[r]))return!1;return!0};var i={tag_name:function(e){return"function"==typeof e?function(t){return s(t)&&e(t.name)}:"*"===e?s:function(t){return s(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return!s(t)&&e(t.data)}:function(t){return!s(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return r.attribs&&t(r.attribs[e])}:function(r){return r.attribs&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}t.getElements=function(e,t,r,n){var s=Object.keys(e).map((function(t){var r=e[t];return t in i?i[t](r):a(t,r)}));return 0===s.length?[]:this.filter(s.reduce(o),t,r,n)},t.getElementById=function(e,t,r){return Array.isArray(t)||(t=[t]),this.findOne(a("id",e),t,!1!==r)},t.getElementsByTagName=function(e,t,r,n){return this.filter(i.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return this.filter(i.tag_type(e),t,r,n)}},function(e,t){t.removeSubsets=function(e){for(var t,r,n,s=e.length;--s>-1;){for(t=r=e[s],e[s]=null,n=!0;r;){if(e.indexOf(r)>-1){n=!1,e.splice(s,1);break}r=r.parent}n&&(e[s]=t)}return e};var r=t.compareDocumentPosition=function(e,t){var r,n,s,i,a,o,l=[],c=[];if(e===t)return 0;for(r=e;r;)l.unshift(r),r=r.parent;for(r=t;r;)c.unshift(r),r=r.parent;for(o=0;l[o]===c[o];)o++;return 0===o?1:(s=(n=l[o-1]).children,i=l[o],a=c[o],s.indexOf(i)>s.indexOf(a)?n===t?20:4:n===e?10:2)};t.uniqueSort=function(e){var t,n,s=e.length;for(e=e.slice();--s>-1;)t=e[s],(n=e.indexOf(t))>-1&&n>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(s>0&&(e.lastNeed=s-1),s):--n=0?(s>0&&(e.lastNeed=s-2),s):--n=0?(s>0&&(2===s?s=0:e.lastNeed=s-3),s):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){var n=r(171),s=n.Buffer;function i(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return s(e,t,r)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?e.exports=n:(i(n,t),t.Buffer=a),a.prototype=Object.create(s.prototype),i(s,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return s(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=s(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return s(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],o=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),u=0,h=o>0?a-4:a;for(r=0;r>16&255,l[u++]=t>>8&255,l[u++]=255&t;return 2===o&&(t=s[e.charCodeAt(r)]<<2|s[e.charCodeAt(r+1)]>>4,l[u++]=255&t),1===o&&(t=s[e.charCodeAt(r)]<<10|s[e.charCodeAt(r+1)]<<4|s[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t),l},t.fromByteArray=function(e){for(var t,r=e.length,s=r%3,i=[],a=0,o=r-s;ao?o:a+16383));return 1===s?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),i.join("")};for(var n=[],s=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var s,i,a=[],o=t;o>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,s){var i,a,o=8*s-n-1,l=(1<>1,u=-7,h=r?s-1:0,d=r?-1:1,p=e[t+h];for(h+=d,i=p&(1<<-u)-1,p>>=-u,u+=o;u>0;i=256*i+e[t+h],h+=d,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===i)i=1-c;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=c}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,s,i){var a,o,l,c=8*i-s-1,u=(1<>1,d=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,g=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*l-1)*Math.pow(2,s),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,s),a=0));s>=8;e[r+p]=255&o,p+=g,o/=256,s-=8);for(a=a<0;e[r+p]=255&a,p+=g,a/=256,c-=8);e[r+p-g]|=128*f}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){function n(e){this._cbs=e||{}}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this._cbs[e]&&this._cbs[e](t,r)}}}))},function(e,t,r){function n(e){this._cbs=e||{},this.events=[]}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this.events.push([e]),this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this.events.push([e,t]),this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this.events.push([e,t,r]),this._cbs[e]&&this._cbs[e](t,r)}}})),n.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},n.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var e=0,t=this.events.length;e= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,g=String.fromCharCode;function f(e){throw new RangeError(d[e])}function m(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function _(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+m((e=e.replace(h,".")).split("."),t).join(".")}function T(e){for(var t,r,n=[],s=0,i=e.length;s=55296&&t<=56319&&s65535&&(t+=g((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+g(e)})).join("")}function v(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function b(e,t,r){var n=0;for(e=r?p(e/700):e>>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))}function y(e){var t,r,n,s,i,a,o,c,u,h,d,g=[],m=e.length,_=0,T=128,v=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&f("not-basic"),g.push(e.charCodeAt(n));for(s=r>0?r+1:0;s=m&&f("invalid-input"),((c=(d=e.charCodeAt(s++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>p((l-_)/a))&&f("overflow"),_+=c*a,!(c<(u=o<=v?1:o>=v+26?26:o-v));o+=36)a>p(l/(h=36-u))&&f("overflow"),a*=h;v=b(_-i,t=g.length+1,0==i),p(_/t)>l-T&&f("overflow"),T+=p(_/t),_%=t,g.splice(_++,0,T)}return E(g)}function A(e){var t,r,n,s,i,a,o,c,u,h,d,m,_,E,y,A=[];for(m=(e=T(e)).length,t=128,r=0,i=72,a=0;a=t&&dp((l-r)/(_=n+1))&&f("overflow"),r+=(o-t)*_,t=o,a=0;al&&f("overflow"),d==t){for(c=r,u=36;!(c<(h=u<=i?1:u>=i+26?26:u-i));u+=36)y=c-h,E=36-h,A.push(g(v(h+y%E,0))),c=p(y/E);A.push(g(v(c,0))),i=b(r,_,n==s),r=0,++n}++r,++t}return A.join("")}o={version:"1.4.1",ucs2:{decode:T,encode:E},decode:y,encode:A,toASCII:function(e){return _(e,(function(e){return u.test(e)?"xn--"+A(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?y(e.slice(4).toLowerCase()):e}))}},void 0===(s=function(){return o}.call(t,r,t,e))||(e.exports=s)}()}).call(this,r(172)(e),r(20))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(381),t.encode=t.stringify=r(382)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,i){t=t||"&",r=r||"=";var a={};if("string"!=typeof e||0===e.length)return a;var o=/\+/g;e=e.split(t);var l=1e3;i&&"number"==typeof i.maxKeys&&(l=i.maxKeys);var c=e.length;l>0&&c>l&&(c=l);for(var u=0;u=0?(h=f.substr(0,m),d=f.substr(m+1)):(h=f,d=""),p=decodeURIComponent(h),g=decodeURIComponent(d),n(a,p)?s(a[p])?a[p].push(g):a[p]=[a[p],g]:a[p]=g}return a};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,o){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),(function(a){var o=encodeURIComponent(n(a))+r;return s(e[a])?i(e[a],(function(e){return o+encodeURIComponent(n(e))})).join(t):o+encodeURIComponent(n(e[a]))})).join(t):o?encodeURIComponent(n(o))+r+encodeURIComponent(n(e)):""};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n=0;n--){const s=e.openElements.items[n];if(s===t.element)break;e._isSpecialElement(s)&&(r=s)}return r||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),r}function w(e,t,r){let n=t,s=e.openElements.getCommonAncestor(t);for(let i=0,a=s;a!==r;i++,a=s){s=e.openElements.getCommonAncestor(a);const r=e.activeFormattingElements.getElementEntry(a),o=r&&i>=3;!r||o?(o&&e.activeFormattingElements.removeEntry(r),e.openElements.remove(a)):(a=S(e,r),n===t&&(e.activeFormattingElements.bookmark=r),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function S(e,t){const r=e.treeAdapter.getNamespaceURI(t.element),n=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);return e.openElements.replace(t.element,n),t.element=n,n}function k(e,t,r){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(r);else{const n=e.treeAdapter.getTagName(t),s=e.treeAdapter.getNamespaceURI(t);n===m.TEMPLATE&&s===_.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,r)}}function N(e,t,r){const n=e.treeAdapter.getNamespaceURI(r.element),s=r.token,i=e.treeAdapter.createElement(s.tagName,n,s.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,r.token),e.activeFormattingElements.removeEntry(r),e.openElements.remove(r.element),e.openElements.insertAfter(t,i)}function R(e,t){let r;for(let n=0;n<8&&(r=O(e,t),r);n++){const t=C(e,r);if(!t)break;e.activeFormattingElements.bookmark=r;const n=w(e,t,r.element),s=e.openElements.getCommonAncestor(r.element);e.treeAdapter.detachNode(n),k(e,s,n),N(e,t,r)}}function I(){}function x(e){e._err(p.misplacedDoctype)}function D(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function L(e,t){e._appendCommentNode(t,e.document)}function M(e,t){e._insertCharacters(t)}function P(e){e.stopped=!0}function F(e,t){e._err(p.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,f.DOCUMENT_MODE.QUIRKS),e.insertionMode="BEFORE_HTML_MODE",e._processToken(t)}function j(e,t){e._insertFakeRootElement(),e.insertionMode="BEFORE_HEAD_MODE",e._processToken(t)}function B(e,t){e._insertFakeElement(m.HEAD),e.headElement=e.openElements.current,e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function U(e,t){const r=t.tagName;r===m.HTML?ne(e,t):r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.TITLE?e._switchToTextParsing(t,n.MODE.RCDATA):r===m.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,n.MODE.RAWTEXT):(e._insertElement(t,_.HTML),e.insertionMode="IN_HEAD_NO_SCRIPT_MODE"):r===m.NOFRAMES||r===m.STYLE?e._switchToTextParsing(t,n.MODE.RAWTEXT):r===m.SCRIPT?e._switchToTextParsing(t,n.MODE.SCRIPT_DATA):r===m.TEMPLATE?(e._insertTemplate(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode="IN_TEMPLATE_MODE",e._pushTmplInsertionMode("IN_TEMPLATE_MODE")):r===m.HEAD?e._err(p.misplacedStartTagForHeadElement):$(e,t)}function H(e,t){const r=t.tagName;r===m.HEAD?(e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE"):r===m.BODY||r===m.BR||r===m.HTML?$(e,t):r===m.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==m.TEMPLATE&&e._err(p.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(p.endTagWithoutMatchingOpenElement)}function $(e,t){e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE",e._processToken(t)}function K(e,t){const r=t.type===n.EOF_TOKEN?p.openElementsLeftAfterEof:p.disallowedContentInNoscriptInHead;e._err(r),e.openElements.pop(),e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function q(e,t){e._insertFakeElement(m.BODY),e.insertionMode="IN_BODY_MODE",e._processToken(t)}function G(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function z(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function W(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}function Y(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function V(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Q(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function X(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function J(e,t){e._appendElement(t,_.HTML),t.ackSelfClosing=!0}function Z(e,t){e._switchToTextParsing(t,n.MODE.RAWTEXT)}function ee(e,t){e.openElements.currentTagName===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function te(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,_.HTML)}function re(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function ne(e,t){const r=t.tagName;switch(r.length){case 1:r===m.I||r===m.S||r===m.B||r===m.U?V(e,t):r===m.P?W(e,t):r===m.A?function(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(m.A);r&&(R(e,t),e.openElements.remove(r.element),e.activeFormattingElements.removeEntry(r)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):re(e,t);break;case 2:r===m.DL||r===m.OL||r===m.UL?W(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement();const r=e.openElements.currentTagName;r!==m.H1&&r!==m.H2&&r!==m.H3&&r!==m.H4&&r!==m.H5&&r!==m.H6||e.openElements.pop(),e._insertElement(t,_.HTML)}(e,t):r===m.LI||r===m.DD||r===m.DT?function(e,t){e.framesetOk=!1;const r=t.tagName;for(let t=e.openElements.stackTop;t>=0;t--){const n=e.openElements.items[t],s=e.treeAdapter.getTagName(n);let i=null;if(r===m.LI&&s===m.LI?i=m.LI:r!==m.DD&&r!==m.DT||s!==m.DD&&s!==m.DT||(i=s),i){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(s!==m.ADDRESS&&s!==m.DIV&&s!==m.P&&e._isSpecialElement(n))break}e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r===m.EM||r===m.TT?V(e,t):r===m.BR?X(e,t):r===m.HR?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._appendElement(t,_.HTML),e.framesetOk=!1,e.ackSelfClosing=!0}(e,t):r===m.RB?te(e,t):r===m.RT||r===m.RP?function(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(m.RTC),e._insertElement(t,_.HTML)}(e,t):r!==m.TH&&r!==m.TD&&r!==m.TR&&re(e,t);break;case 3:r===m.DIV||r===m.DIR||r===m.NAV?W(e,t):r===m.PRE?Y(e,t):r===m.BIG?V(e,t):r===m.IMG||r===m.WBR?X(e,t):r===m.XMP?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SVG?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenSVGAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.SVG):e._insertElement(t,_.SVG),t.ackSelfClosing=!0}(e,t):r===m.RTC?te(e,t):r!==m.COL&&re(e,t);break;case 4:r===m.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):r===m.BASE||r===m.LINK||r===m.META?U(e,t):r===m.BODY?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();r&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(r,t.attrs))}(e,t):r===m.MAIN||r===m.MENU?W(e,t):r===m.FORM?function(e,t){const r=e.openElements.tmplCount>0;e.formElement&&!r||(e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),r||(e.formElement=e.openElements.current))}(e,t):r===m.CODE||r===m.FONT?V(e,t):r===m.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(R(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):r===m.AREA?X(e,t):r===m.MATH?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenMathMLAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.MATHML):e._insertElement(t,_.MATHML),t.ackSelfClosing=!0}(e,t):r===m.MENU?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r!==m.HEAD&&re(e,t);break;case 5:r===m.STYLE||r===m.TITLE?U(e,t):r===m.ASIDE?W(e,t):r===m.SMALL?V(e,t):r===m.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==f.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode=v}(e,t):r===m.EMBED?X(e,t):r===m.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML);const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):r===m.PARAM||r===m.TRACK?J(e,t):r===m.IMAGE?function(e,t){t.tagName=m.IMG,X(e,t)}(e,t):r!==m.FRAME&&r!==m.TBODY&&r!==m.TFOOT&&r!==m.THEAD&&re(e,t);break;case 6:r===m.SCRIPT?U(e,t):r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?W(e,t):r===m.BUTTON?function(e,t){e.openElements.hasInScope(m.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1}(e,t):r===m.STRIKE||r===m.STRONG?V(e,t):r===m.APPLET||r===m.OBJECT?Q(e,t):r===m.KEYGEN?X(e,t):r===m.SOURCE?J(e,t):r===m.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode===v||"IN_CAPTION_MODE"===e.insertionMode||"IN_TABLE_BODY_MODE"===e.insertionMode||"IN_ROW_MODE"===e.insertionMode||"IN_CELL_MODE"===e.insertionMode?e.insertionMode="IN_SELECT_IN_TABLE_MODE":e.insertionMode="IN_SELECT_MODE"}(e,t):r===m.OPTION?ee(e,t):re(e,t);break;case 7:r===m.BGSOUND?U(e,t):r===m.DETAILS||r===m.ADDRESS||r===m.ARTICLE||r===m.SECTION||r===m.SUMMARY?W(e,t):r===m.LISTING?Y(e,t):r===m.MARQUEE?Q(e,t):r===m.NOEMBED?Z(e,t):r!==m.CAPTION&&re(e,t);break;case 8:r===m.BASEFONT?U(e,t):r===m.FRAMESET?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&r&&(e.treeAdapter.detachNode(r),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,_.HTML),e.insertionMode="IN_FRAMESET_MODE")}(e,t):r===m.FIELDSET?W(e,t):r===m.TEXTAREA?function(e,t){e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.tokenizer.state=n.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode="TEXT_MODE"}(e,t):r===m.TEMPLATE?U(e,t):r===m.NOSCRIPT?e.options.scriptingEnabled?Z(e,t):re(e,t):r===m.OPTGROUP?ee(e,t):r!==m.COLGROUP&&re(e,t);break;case 9:r===m.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.tokenizer.state=n.MODE.PLAINTEXT}(e,t):re(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?W(e,t):re(e,t);break;default:re(e,t)}}function se(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function ie(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function ae(e,t){const r=t.tagName;for(let t=e.openElements.stackTop;t>0;t--){const n=e.openElements.items[t];if(e.treeAdapter.getTagName(n)===r){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilElementPopped(n);break}if(e._isSpecialElement(n))break}}function oe(e,t){const r=t.tagName;switch(r.length){case 1:r===m.A||r===m.B||r===m.I||r===m.S||r===m.U?R(e,t):r===m.P?function(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(m.P),e._closePElement()}(e):ae(e,t);break;case 2:r===m.DL||r===m.UL||r===m.OL?se(e,t):r===m.LI?function(e){e.openElements.hasInListItemScope(m.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(m.LI),e.openElements.popUntilTagNamePopped(m.LI))}(e):r===m.DD||r===m.DT?function(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r))}(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):r===m.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(m.BR),e.openElements.pop(),e.framesetOk=!1}(e):r===m.EM||r===m.TT?R(e,t):ae(e,t);break;case 3:r===m.BIG?R(e,t):r===m.DIR||r===m.DIV||r===m.NAV||r===m.PRE?se(e,t):ae(e,t);break;case 4:r===m.BODY?function(e){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE")}(e):r===m.HTML?function(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE",e._processToken(t))}(e,t):r===m.FORM?function(e){const t=e.openElements.tmplCount>0,r=e.formElement;t||(e.formElement=null),(r||t)&&e.openElements.hasInScope(m.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(m.FORM):e.openElements.remove(r))}(e):r===m.CODE||r===m.FONT||r===m.NOBR?R(e,t):r===m.MAIN||r===m.MENU?se(e,t):ae(e,t);break;case 5:r===m.ASIDE?se(e,t):r===m.SMALL?R(e,t):ae(e,t);break;case 6:r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?se(e,t):r===m.APPLET||r===m.OBJECT?ie(e,t):r===m.STRIKE||r===m.STRONG?R(e,t):ae(e,t);break;case 7:r===m.ADDRESS||r===m.ARTICLE||r===m.DETAILS||r===m.SECTION||r===m.SUMMARY||r===m.LISTING?se(e,t):r===m.MARQUEE?ie(e,t):ae(e,t);break;case 8:r===m.FIELDSET?se(e,t):r===m.TEMPLATE?H(e,t):ae(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?se(e,t):ae(e,t);break;default:ae(e,t)}}function le(e,t){e.tmplInsertionModeStackTop>-1?_e(e,t):e.stopped=!0}function ce(e,t){const r=e.openElements.currentTagName;r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode="IN_TABLE_TEXT_MODE",e._processToken(t)):de(e,t)}function ue(e,t){const r=t.tagName;switch(r.length){case 2:r===m.TD||r===m.TH||r===m.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.TBODY),e.insertionMode="IN_TABLE_BODY_MODE",e._processToken(t)}(e,t):de(e,t);break;case 3:r===m.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.COLGROUP),e.insertionMode="IN_COLUMN_GROUP_MODE",e._processToken(t)}(e,t):de(e,t);break;case 4:r===m.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,_.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):de(e,t);break;case 5:r===m.TABLE?function(e,t){e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):r===m.STYLE?U(e,t):r===m.TBODY||r===m.TFOOT||r===m.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_TABLE_BODY_MODE"}(e,t):r===m.INPUT?function(e,t){const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()?e._appendElement(t,_.HTML):de(e,t),t.ackSelfClosing=!0}(e,t):de(e,t);break;case 6:r===m.SCRIPT?U(e,t):de(e,t);break;case 7:r===m.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,_.HTML),e.insertionMode="IN_CAPTION_MODE"}(e,t):de(e,t);break;case 8:r===m.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_COLUMN_GROUP_MODE"}(e,t):r===m.TEMPLATE?U(e,t):de(e,t);break;default:de(e,t)}}function he(e,t){const r=t.tagName;r===m.TABLE?e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode()):r===m.TEMPLATE?H(e,t):r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP&&r!==m.HTML&&r!==m.TBODY&&r!==m.TD&&r!==m.TFOOT&&r!==m.TH&&r!==m.THEAD&&r!==m.TR&&de(e,t)}function de(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=r}function pe(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken)for(;r0?(e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function Te(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}function Ee(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}e.exports=class{constructor(e){this.options=u(E,e),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&l.install(this,a),this.options.onParseError&&l.install(this,o,{onParseError:this.options.onParseError})}parse(e){const t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}parseFragment(e,t){t||(t=this.treeAdapter.createElement(m.TEMPLATE,_.HTML,[]));const r=this.treeAdapter.createElement("documentmock",_.HTML,[]);this._bootstrap(r,t),this.treeAdapter.getTagName(t)===m.TEMPLATE&&this._pushTmplInsertionMode("IN_TEMPLATE_MODE"),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);const n=this.treeAdapter.getFirstChild(r),s=this.treeAdapter.createDocumentFragment();return this._adoptNodes(n,s),s}_bootstrap(e,t){this.tokenizer=new n(this.options),this.stopped=!1,this.insertionMode="INITIAL_MODE",this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new s(this.document,this.treeAdapter),this.activeFormattingElements=new i(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}_err(){}_runParsingLoop(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();const t=this.tokenizer.getNextToken();if(t.type===n.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===n.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}runParsingLoopForCurrentChunk(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){const e=this.pendingScript;return this.pendingScript=null,void t(e)}e&&e()}_setupTokenizerCDATAMode(){const e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==_.HTML&&!this._isIntegrationPoint(e)}_switchToTextParsing(e,t){this._insertElement(e,_.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode="TEXT_MODE"}switchToPlaintextParsing(){this.insertionMode="TEXT_MODE",this.originalInsertionMode="IN_BODY_MODE",this.tokenizer.state=n.MODE.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===m.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}_initTokenizerForFragmentParsing(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===_.HTML){const e=this.treeAdapter.getTagName(this.fragmentContext);e===m.TITLE||e===m.TEXTAREA?this.tokenizer.state=n.MODE.RCDATA:e===m.STYLE||e===m.XMP||e===m.IFRAME||e===m.NOEMBED||e===m.NOFRAMES||e===m.NOSCRIPT?this.tokenizer.state=n.MODE.RAWTEXT:e===m.SCRIPT?this.tokenizer.state=n.MODE.SCRIPT_DATA:e===m.PLAINTEXT&&(this.tokenizer.state=n.MODE.PLAINTEXT)}}_setDocumentType(e){const t=e.name||"",r=e.publicId||"",n=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,r,n)}_attachElementToTree(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r)}_insertElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r),this.openElements.push(r)}_insertFakeElement(e){const t=this.treeAdapter.createElement(e,_.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,_.HTML,e.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,r),this._attachElementToTree(t),this.openElements.push(t)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(m.HTML,_.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}_appendCommentNode(e,t){const r=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,r)}_insertCharacters(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}_adoptNodes(e,t){for(let r=this.treeAdapter.getFirstChild(e);r;r=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(t,r)}_shouldProcessTokenInForeignContent(e){const t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;const r=this.treeAdapter.getNamespaceURI(t);if(r===_.HTML)return!1;if(this.treeAdapter.getTagName(t)===m.ANNOTATION_XML&&r===_.MATHML&&e.type===n.START_TAG_TOKEN&&e.tagName===m.SVG)return!1;const s=e.type===n.CHARACTER_TOKEN||e.type===n.NULL_CHARACTER_TOKEN||e.type===n.WHITESPACE_CHARACTER_TOKEN;return!((e.type===n.START_TAG_TOKEN&&e.tagName!==m.MGLYPH&&e.tagName!==m.MALIGNMARK||s)&&this._isIntegrationPoint(t,_.MATHML)||(e.type===n.START_TAG_TOKEN||s)&&this._isIntegrationPoint(t,_.HTML)||e.type===n.EOF_TOKEN)}_processToken(e){A[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){A.IN_BODY_MODE[e.type](this,e)}_processTokenInForeignContent(e){e.type===n.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===n.NULL_CHARACTER_TOKEN?function(e,t){t.chars=g.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===n.WHITESPACE_CHARACTER_TOKEN?M(this,e):e.type===n.COMMENT_TOKEN?D(this,e):e.type===n.START_TAG_TOKEN?function(e,t){if(d.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==_.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{const r=e._getAdjustedCurrentElement(),n=e.treeAdapter.getNamespaceURI(r);n===_.MATHML?d.adjustTokenMathMLAttrs(t):n===_.SVG&&(d.adjustTokenSVGTagName(t),d.adjustTokenSVGAttrs(t)),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,n):e._insertElement(t,n),t.ackSelfClosing=!0}}(this,e):e.type===n.END_TAG_TOKEN&&function(e,t){for(let r=e.openElements.stackTop;r>0;r--){const n=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(n)===_.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(n).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(n);break}}}(this,e)}_processInputToken(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===n.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(p.nonVoidHtmlElementStartTagWithTrailingSolidus)}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e),s=this.treeAdapter.getAttrList(e);return d.isIntegrationPoint(r,n,s,t)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.length;if(e){let t=e,r=null;do{if(t--,r=this.activeFormattingElements.entries[t],r.type===i.MARKER_ENTRY||this.openElements.contains(r.element)){t++;break}}while(t>0);for(let n=t;n=0;e--){let r=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(r=this.fragmentContext));const n=this.treeAdapter.getTagName(r),s=b[n];if(s){this.insertionMode=s;break}if(!(t||n!==m.TD&&n!==m.TH)){this.insertionMode="IN_CELL_MODE";break}if(!t&&n===m.HEAD){this.insertionMode="IN_HEAD_MODE";break}if(n===m.SELECT){this._resetInsertionModeForSelect(e);break}if(n===m.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(n===m.HTML){this.insertionMode=this.headElement?"AFTER_HEAD_MODE":"BEFORE_HEAD_MODE";break}if(t){this.insertionMode="IN_BODY_MODE";break}}}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.items[t],r=this.treeAdapter.getTagName(e);if(r===m.TEMPLATE)break;if(r===m.TABLE)return void(this.insertionMode="IN_SELECT_IN_TABLE_MODE")}this.insertionMode="IN_SELECT_MODE"}_pushTmplInsertionMode(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}_popTmplInsertionMode(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}_isElementCausesFosterParenting(e){const t=this.treeAdapter.getTagName(e);return t===m.TABLE||t===m.TBODY||t===m.TFOOT||t===m.THEAD||t===m.TR}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}_findFosterParentingLocation(){const e={parent:null,beforeElement:null};for(let t=this.openElements.stackTop;t>=0;t--){const r=this.openElements.items[t],n=this.treeAdapter.getTagName(r),s=this.treeAdapter.getNamespaceURI(r);if(n===m.TEMPLATE&&s===_.HTML){e.parent=this.treeAdapter.getTemplateContent(r);break}if(n===m.TABLE){e.parent=this.treeAdapter.getParentNode(r),e.parent?e.beforeElement=r:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_fosterParentText(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}_isSpecialElement(e){const t=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e);return f.SPECIAL_ELEMENTS[r][t]}}},function(e,t,r){"use strict";const n=r(103),s=r(104),i=n.CODE_POINTS;e.exports=class{constructor(){this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}_err(){}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.lastCharPos){const t=this.html.charCodeAt(this.pos+1);if(n.isSurrogatePair(t))return this.pos++,this._addGap(),n.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,i.EOF;return this._err(s.surrogateInInputStream),e}dropParsedChunk(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}write(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}advance(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,i.EOF;let e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===i.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===i.CARRIAGE_RETURN?(this.skipNextNewLine=!0,i.LINE_FEED):(this.skipNextNewLine=!1,n.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===i.LINE_FEED||e===i.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){n.isControlCodePoint(e)?this._err(s.controlCharacterInInputStream):n.isUndefinedCodePoint(e)&&this._err(s.noncharacterInInputStream)}retreat(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}},function(e,t,r){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},function(e,t,r){"use strict";const n=r(48),s=n.TAG_NAMES,i=n.NAMESPACES;function a(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI;case 3:return e===s.RTC;case 6:return e===s.OPTION;case 8:return e===s.OPTGROUP}return!1}function o(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI||e===s.TD||e===s.TH||e===s.TR;case 3:return e===s.RTC;case 5:return e===s.TBODY||e===s.TFOOT||e===s.THEAD;case 6:return e===s.OPTION;case 7:return e===s.CAPTION;case 8:return e===s.OPTGROUP||e===s.COLGROUP}return!1}function l(e,t){switch(e.length){case 2:if(e===s.TD||e===s.TH)return t===i.HTML;if(e===s.MI||e===s.MO||e===s.MN||e===s.MS)return t===i.MATHML;break;case 4:if(e===s.HTML)return t===i.HTML;if(e===s.DESC)return t===i.SVG;break;case 5:if(e===s.TABLE)return t===i.HTML;if(e===s.MTEXT)return t===i.MATHML;if(e===s.TITLE)return t===i.SVG;break;case 6:return(e===s.APPLET||e===s.OBJECT)&&t===i.HTML;case 7:return(e===s.CAPTION||e===s.MARQUEE)&&t===i.HTML;case 8:return e===s.TEMPLATE&&t===i.HTML;case 13:return e===s.FOREIGN_OBJECT&&t===i.SVG;case 14:return e===s.ANNOTATION_XML&&t===i.MATHML}return!1}e.exports=class{constructor(e,t){this.stackTop=-1,this.items=[],this.current=e,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=t}_indexOf(e){let t=-1;for(let r=this.stackTop;r>=0;r--)if(this.items[r]===e){t=r;break}return t}_isInTemplate(){return this.currentTagName===s.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===i.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}push(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}pop(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}replace(e,t){const r=this._indexOf(e);this.items[r]=t,r===this.stackTop&&this._updateCurrentElement()}insertAfter(e,t){const r=this._indexOf(e)+1;this.items.splice(r,0,t),r===++this.stackTop&&this._updateCurrentElement()}popUntilTagNamePopped(e){for(;this.stackTop>-1;){const t=this.currentTagName,r=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&r===i.HTML)break}}popUntilElementPopped(e){for(;this.stackTop>-1;){const t=this.current;if(this.pop(),t===e)break}}popUntilNumberedHeaderPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.H1||e===s.H2||e===s.H3||e===s.H4||e===s.H5||e===s.H6&&t===i.HTML)break}}popUntilTableCellPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.TD||e===s.TH&&t===i.HTML)break}}popAllUpToHtmlElement(){this.stackTop=0,this._updateCurrentElement()}clearBackToTableContext(){for(;this.currentTagName!==s.TABLE&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableBodyContext(){for(;this.currentTagName!==s.TBODY&&this.currentTagName!==s.TFOOT&&this.currentTagName!==s.THEAD&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableRowContext(){for(;this.currentTagName!==s.TR&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}remove(e){for(let t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}tryPeekProperlyNestedBodyElement(){const e=this.items[1];return e&&this.treeAdapter.getTagName(e)===s.BODY?e:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e);return--t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.currentTagName===s.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(l(r,n))return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]),r=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===s.H1||t===s.H2||t===s.H3||t===s.H4||t===s.H5||t===s.H6)&&r===i.HTML)return!0;if(l(t,r))return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if((r===s.UL||r===s.OL)&&n===i.HTML||l(r,n))return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(r===s.BUTTON&&n===i.HTML||l(r,n))return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r===s.TABLE||r===s.TEMPLATE||r===s.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===i.HTML){if(t===s.TBODY||t===s.THEAD||t===s.TFOOT)return!0;if(t===s.TABLE||t===s.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r!==s.OPTION&&r!==s.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;a(this.currentTagName);)this.pop()}generateImpliedEndTagsThoroughly(){for(;o(this.currentTagName);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;a(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}},function(e,t,r){"use strict";class n{constructor(e){this.length=0,this.entries=[],this.treeAdapter=e,this.bookmark=null}_getNoahArkConditionCandidates(e){const t=[];if(this.length>=3){const r=this.treeAdapter.getAttrList(e).length,s=this.treeAdapter.getTagName(e),i=this.treeAdapter.getNamespaceURI(e);for(let e=this.length-1;e>=0;e--){const a=this.entries[e];if(a.type===n.MARKER_ENTRY)break;const o=a.element,l=this.treeAdapter.getAttrList(o);this.treeAdapter.getTagName(o)===s&&this.treeAdapter.getNamespaceURI(o)===i&&l.length===r&&t.push({idx:e,attrs:l})}}return t.length<3?[]:t}_ensureNoahArkCondition(e){const t=this._getNoahArkConditionCandidates(e);let r=t.length;if(r){const n=this.treeAdapter.getAttrList(e),s=n.length,i=Object.create(null);for(let e=0;e=2;e--)this.entries.splice(t[e].idx,1),this.length--}}insertMarker(){this.entries.push({type:n.MARKER_ENTRY}),this.length++}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.push({type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}insertElementAfterBookmark(e,t){let r=this.length-1;for(;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}removeEntry(e){for(let t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}clearToLastMarker(){for(;this.length;){const e=this.entries.pop();if(this.length--,e.type===n.MARKER_ENTRY)break}}getElementEntryInScopeWithTagName(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===e)return r}return null}getElementEntry(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.ELEMENT_ENTRY&&r.element===e)return r}return null}}n.MARKER_ENTRY="MARKER_ENTRY",n.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=n},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(174),a=r(389),o=r(48).TAG_NAMES;e.exports=class extends n{constructor(e){super(e),this.parser=e,this.treeAdapter=this.parser.treeAdapter,this.posTracker=null,this.lastStartTagToken=null,this.lastFosterParentingLocation=null,this.currentToken=null}_setStartLocation(e){let t=null;this.lastStartTagToken&&(t=Object.assign({},this.lastStartTagToken.location),t.startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}_setEndLocation(e,t){const r=this.treeAdapter.getNodeSourceCodeLocation(e);if(r&&t.location){const n=t.location,i=this.treeAdapter.getTagName(e);t.type===s.END_TAG_TOKEN&&i===t.tagName?(r.endTag=Object.assign({},n),r.endLine=n.endLine,r.endCol=n.endCol,r.endOffset=n.endOffset):(r.endLine=n.startLine,r.endCol=n.startCol,r.endOffset=n.startOffset)}}_getOverriddenMethods(e,t){return{_bootstrap(r,s){t._bootstrap.call(this,r,s),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;const o=n.install(this.tokenizer,i);e.posTracker=o.posTracker,n.install(this.openElements,a,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop(r){t._runParsingLoop.call(this,r);for(let t=this.openElements.stackTop;t>=0;t--)e._setEndLocation(this.openElements.items[t],e.currentToken)},_processTokenInForeignContent(r){e.currentToken=r,t._processTokenInForeignContent.call(this,r)},_processToken(r){if(e.currentToken=r,t._processToken.call(this,r),r.type===s.END_TAG_TOKEN&&(r.tagName===o.HTML||r.tagName===o.BODY&&this.openElements.hasInScope(o.BODY)))for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];if(this.treeAdapter.getTagName(n)===r.tagName){e._setEndLocation(n,r);break}}},_setDocumentType(e){t._setDocumentType.call(this,e);const r=this.treeAdapter.getChildNodes(this.document),n=r.length;for(let t=0;t0;t--)e.onItemPop(this.items[t]);t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current),t.remove.call(this,r)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(391),i=r(174),a=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.opts=t,this.ctLoc=null,this.locBeforeToken=!1}_setErrorLocation(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}_getOverriddenMethods(e,t){return{_bootstrap(r,n){t._bootstrap.call(this,r,n),a.install(this.tokenizer,s,e.opts),a.install(this.tokenizer,i)},_processInputToken(r){e.ctLoc=r.location,t._processInputToken.call(this,r)},_err(t,r){e.locBeforeToken=r&&r.beforeToken,e._reportError(t)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(392),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,s,t);this.posTracker=r.posTracker}}},function(e,t,r){"use strict";const n=r(105),s=r(175),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.posTracker=i.install(e,s),this.lastErrOffset=-1}_reportError(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,super._reportError(e))}}},function(e,t,r){"use strict";const n=r(84),s=r(48),i=s.TAG_NAMES,a=s.NAMESPACES,o=s.ATTRS,l={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},c={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:a.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:a.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:a.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:a.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:a.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:a.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:a.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:a.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:a.XML},"xml:space":{prefix:"xml",name:"space",namespace:a.XML},xmlns:{prefix:"",name:"xmlns",namespace:a.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:a.XMLNS}},u=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},h={[i.B]:!0,[i.BIG]:!0,[i.BLOCKQUOTE]:!0,[i.BODY]:!0,[i.BR]:!0,[i.CENTER]:!0,[i.CODE]:!0,[i.DD]:!0,[i.DIV]:!0,[i.DL]:!0,[i.DT]:!0,[i.EM]:!0,[i.EMBED]:!0,[i.H1]:!0,[i.H2]:!0,[i.H3]:!0,[i.H4]:!0,[i.H5]:!0,[i.H6]:!0,[i.HEAD]:!0,[i.HR]:!0,[i.I]:!0,[i.IMG]:!0,[i.LI]:!0,[i.LISTING]:!0,[i.MENU]:!0,[i.META]:!0,[i.NOBR]:!0,[i.OL]:!0,[i.P]:!0,[i.PRE]:!0,[i.RUBY]:!0,[i.S]:!0,[i.SMALL]:!0,[i.SPAN]:!0,[i.STRONG]:!0,[i.STRIKE]:!0,[i.SUB]:!0,[i.SUP]:!0,[i.TABLE]:!0,[i.TT]:!0,[i.U]:!0,[i.UL]:!0,[i.VAR]:!0};t.causesExit=function(e){const t=e.tagName;return!(t!==i.FONT||null===n.getTokenAttr(e,o.COLOR)&&null===n.getTokenAttr(e,o.SIZE)&&null===n.getTokenAttr(e,o.FACE))||h[t]},t.adjustTokenMathMLAttrs=function(e){for(let t=0;t/g;class f{constructor(e,t){this.options=s(c,t),this.treeAdapter=this.options.treeAdapter,this.html="",this.startNode=e}serialize(){return this._serializeChildNodes(this.startNode),this.html}_serializeChildNodes(e){const t=this.treeAdapter.getChildNodes(e);if(t)for(let e=0,r=t.length;e",t!==o.AREA&&t!==o.BASE&&t!==o.BASEFONT&&t!==o.BGSOUND&&t!==o.BR&&t!==o.COL&&t!==o.EMBED&&t!==o.FRAME&&t!==o.HR&&t!==o.IMG&&t!==o.INPUT&&t!==o.KEYGEN&&t!==o.LINK&&t!==o.META&&t!==o.PARAM&&t!==o.SOURCE&&t!==o.TRACK&&t!==o.WBR){const n=t===o.TEMPLATE&&r===l.HTML?this.treeAdapter.getTemplateContent(e):e;this._serializeChildNodes(n),this.html+=""+t+">"}}_serializeAttributes(e){const t=this.treeAdapter.getAttrList(e);for(let e=0,r=t.length;e"}}f.escapeString=function(e,t){return e=e.replace(u,"&").replace(h," "),t?e.replace(d,"""):e.replace(p,"<").replace(g,">")},e.exports=f},,function(e,t,r){"use strict";r.r(t),r.d(t,"App",(function(){return Zc})),r.d(t,"Assessor",(function(){return fa})),r.d(t,"ContentAssessor",(function(){return ja})),r.d(t,"SeoAssessor",(function(){return ka})),r.d(t,"TaxonomyAssessor",(function(){return Ua})),r.d(t,"Pluggable",(function(){return Sc})),r.d(t,"SnippetPreview",(function(){return Yc})),r.d(t,"Paper",(function(){return Ka})),r.d(t,"AssessmentResult",(function(){return wi})),r.d(t,"Assessment",(function(){return yi})),r.d(t,"AnalysisWebWorker",(function(){return gc})),r.d(t,"AnalysisWorkerWrapper",(function(){return mc})),r.d(t,"createWorker",(function(){return Tc})),r.d(t,"assessments",(function(){return h})),r.d(t,"bundledPlugins",(function(){return d})),r.d(t,"config",(function(){return g})),r.d(t,"helpers",(function(){return c})),r.d(t,"markers",(function(){return p})),r.d(t,"interpreters",(function(){return u})),r.d(t,"languageProcessing",(function(){return l})),r.d(t,"values",(function(){return f})),r.d(t,"DIFFICULTY",(function(){return Tn})),r.d(t,"Factory",(function(){return tu}));var n={};r.r(n),r.d(n,"doesWordMatchRegex",(function(){return ni})),r.d(n,"searchAndReplaceWithRegex",(function(){return si})),r.d(n,"applyAllReplacements",(function(){return ii}));var s={};r.r(s),r.d(s,"checkIfWordEndingIsOnExceptionList",(function(){return ai})),r.d(s,"checkIfWordIsOnListThatCanHavePrefix",(function(){return oi})),r.d(s,"checkExceptionListWithTwoStems",(function(){return li}));var i={};r.r(i),r.d(i,"removeSuffixesFromFullForm",(function(){return ci})),r.d(i,"removeSuffixFromFullForm",(function(){return ui}));var a={};r.r(a),r.d(a,"Clause",(function(){return di})),r.d(a,"ProminentWord",(function(){return jn})),r.d(a,"Sentence",(function(){return Dn}));var o={};r.r(o),r.d(o,"matchStringWithRegex",(function(){return bt})),r.d(o,"normalize",(function(){return Xt})),r.d(o,"removeHtmlBlocks",(function(){return kr}));var l={};r.r(l),r.d(l,"AbstractResearcher",(function(){return Us})),r.d(l,"transliterate",(function(){return Ke})),r.d(l,"replaceDiacritics",(function(){return y})),r.d(l,"createRegexFromArray",(function(){return vt})),r.d(l,"imageInText",(function(){return At})),r.d(l,"stripSpaces",(function(){return Ve})),r.d(l,"baseStemmer",(function(){return Ot})),r.d(l,"getWords",(function(){return It})),r.d(l,"flattenSortLength",(function(){return Hs})),r.d(l,"indices",(function(){return Ws})),r.d(l,"buildFormRule",(function(){return Ys})),r.d(l,"createRulesFromArrays",(function(){return Qs})),r.d(l,"createSingleRuleFromArray",(function(){return Vs})),r.d(l,"matchRegularParticiples",(function(){return Xs})),r.d(l,"directPrecedenceException",(function(){return Js})),r.d(l,"precedenceException",(function(){return Zs})),r.d(l,"nonDirectPrecedenceException",(function(){return ti})),r.d(l,"findMatchingEndingInArray",(function(){return ri})),r.d(l,"regexHelpers",(function(){return n})),r.d(l,"exceptionListHelpers",(function(){return s})),r.d(l,"stemHelpers",(function(){return i})),r.d(l,"areWordsInSentence",(function(){return pi})),r.d(l,"values",(function(){return a})),r.d(l,"getClauses",(function(){return _i})),r.d(l,"getClausesSplitOnStopWords",(function(){return Ti})),r.d(l,"stripHTMLTags",(function(){return mt})),r.d(l,"stripBlockTagsAtStartEnd",(function(){return ft})),r.d(l,"countMetaDescriptionLength",(function(){return Cs})),r.d(l,"sanitizeString",(function(){return Et})),r.d(l,"removePunctuation",(function(){return Nt})),r.d(l,"getLanguage",(function(){return A})),r.d(l,"getSentences",(function(){return vr})),r.d(l,"getFieldsToMark",(function(){return vi})),r.d(l,"unifyAllSpaces",(function(){return Tt})),r.d(l,"normalizeHTML",(function(){return Ei})),r.d(l,"collectMarkingsInSentence",(function(){return ms})),r.d(l,"normalizeSingle",(function(){return Qt})),r.d(l,"parseSynonyms",(function(){return zr})),r.d(l,"mergeListItems",(function(){return bi})),r.d(l,"findWordFormsInString",(function(){return er})),r.d(l,"markWordsInSentences",(function(){return _s})),r.d(l,"helpers",(function(){return o}));var c={};r.r(c),r.d(c,"measureTextWidth",(function(){return Pi})),r.d(c,"getLanguagesWithWordFormSupport",(function(){return Fi})),r.d(c,"formatNumber",(function(){return ji})),r.d(c,"getLanguagesWithWordComplexity",(function(){return Bi})),r.d(c,"createAnchorOpeningTag",(function(){return Ai.b}));var u={};r.r(u),r.d(u,"scoreToRating",(function(){return Pa}));var h={};r.r(h),r.d(h,"readability",(function(){return Ec})),r.d(h,"seo",(function(){return vc})),r.d(h,"inclusiveLanguage",(function(){return bc}));var d={};r.r(d),r.d(d,"usedKeywords",(function(){return Ac}));var p={};r.r(p),r.d(p,"addMark",(function(){return Ca})),r.d(p,"removeMarks",(function(){return Oc}));var g={};r.r(g),r.d(g,"presenter",(function(){return Cc}));var f={};r.r(f),r.d(f,"AssessmentResult",(function(){return wi})),r.d(f,"Mark",(function(){return gs})),r.d(f,"Paper",(function(){return Ka}));var m=r(198),_=r(4),T=r(2),E=r(199),v=r(18),b=r.n(v),y=function(e){const t=[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];for(let r=0;r1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";t="id_ID"===i?'[ \\u00a0\\n\\r\\t.,()”“〝〞〟‟„"+;!¡?¿:/»«‹›'+s+"<>":'[ \\u00a0\\u2014\\u06d4\\u061f\\u060C\\u061B\\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+s+"<>";const a="(^|"+t+"'‘’‛`])";return r=n?"($|((?="+t+"]))|((['‘’‛`])("+t+"])))":"($|("+t+"])|((['‘’‛`])("+t+"])))",a+e+r};const Ge=new RegExp("().*?(
)","igs");function ze(e){return e.replace(Ge,"")}const We=new RegExp("",wt=Ct.split(""),St=new RegExp("^["+Ct+"]+"),kt=new RegExp("["+Ct+"]+$");var Nt=function(e){e=(e=_t(e)).replace("&","");const t=new RegExp("(\\\\)","g");return(e=(e=e.replace(t,"")).replace(St,"")).replace(kt,"")};const Rt=new RegExp(`([${Ct}])`,"g");var It=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(""===(e=Et(e)))return[];let r=e.split(/\s/g);return r=t?r.map(Nt):Object(T.flatMap)(r,e=>e.replace(Rt," $1 ").split(" ")),Object(T.filter)(r,(function(e){return""!==e.trim()}))};function xt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}r(158),b.a.inherits(xt,Error);var Dt=xt;function Lt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}b.a.inherits(Lt,Error);var Mt=Lt,Pt=function(e){let t="";return"img"===e.name&&(t=Ve(e.attributes.alt||""),t=t.replace(/"/g,'"'),t=t.replace(/'/g,"'")),t},Ft=function(e){return e=e.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""),Ve(e)};const jt=[{letter:/[\u00A3]/g,alternative:""},{letter:/[\u20AC]/g,alternative:"E"},{letter:/[\u00AA]/g,alternative:"a"},{letter:/[\u00BA]/g,alternative:"o"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u00C3]/g,alternative:"A"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00C5]/g,alternative:"A"},{letter:/[\u00C6]/g,alternative:"AE"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00C8]/g,alternative:"E"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00CA]/g,alternative:"E"},{letter:/[\u00CB]/g,alternative:"E"},{letter:/[\u00CC]/g,alternative:"I"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00CE]/g,alternative:"I"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00D2]/g,alternative:"O"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00D5]/g,alternative:"O"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u00D8]/g,alternative:"O"},{letter:/[\u00D9]/g,alternative:"U"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00DB]/g,alternative:"U"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00DE]/g,alternative:"TH"},{letter:/[\u00DF]/g,alternative:"s"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00E3]/g,alternative:"a"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00E5]/g,alternative:"a"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00E8]/g,alternative:"e"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00EA]/g,alternative:"e"},{letter:/[\u00EB]/g,alternative:"e"},{letter:/[\u00EC]/g,alternative:"i"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00EE]/g,alternative:"i"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00F2]/g,alternative:"o"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00F5]/g,alternative:"o"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00F8]/g,alternative:"o"},{letter:/[\u00F9]/g,alternative:"u"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00FB]/g,alternative:"u"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0102]/g,alternative:"A"},{letter:/[\u0103]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0108]/g,alternative:"C"},{letter:/[\u0109]/g,alternative:"c"},{letter:/[\u010A]/g,alternative:"C"},{letter:/[\u010B]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0114]/g,alternative:"E"},{letter:/[\u0115]/g,alternative:"e"},{letter:/[\u0116]/g,alternative:"E"},{letter:/[\u0117]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u011A]/g,alternative:"E"},{letter:/[\u011B]/g,alternative:"e"},{letter:/[\u011C]/g,alternative:"G"},{letter:/[\u011D]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u0120]/g,alternative:"G"},{letter:/[\u0121]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0124]/g,alternative:"H"},{letter:/[\u0125]/g,alternative:"h"},{letter:/[\u0126]/g,alternative:"H"},{letter:/[\u0127]/g,alternative:"h"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012C]/g,alternative:"I"},{letter:/[\u012D]/g,alternative:"i"},{letter:/[\u012E]/g,alternative:"I"},{letter:/[\u012F]/g,alternative:"i"},{letter:/[\u0130]/g,alternative:"I"},{letter:/[\u0131]/g,alternative:"i"},{letter:/[\u0132]/g,alternative:"IJ"},{letter:/[\u0133]/g,alternative:"ij"},{letter:/[\u0134]/g,alternative:"J"},{letter:/[\u0135]/g,alternative:"j"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0138]/g,alternative:"k"},{letter:/[\u0139]/g,alternative:"L"},{letter:/[\u013A]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013D]/g,alternative:"L"},{letter:/[\u013E]/g,alternative:"l"},{letter:/[\u013F]/g,alternative:"L"},{letter:/[\u0140]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0149]/g,alternative:"n"},{letter:/[\u014A]/g,alternative:"N"},{letter:/[\u014B]/g,alternative:"n"},{letter:/[\u014C]/g,alternative:"O"},{letter:/[\u014D]/g,alternative:"o"},{letter:/[\u014E]/g,alternative:"O"},{letter:/[\u014F]/g,alternative:"o"},{letter:/[\u0150]/g,alternative:"O"},{letter:/[\u0151]/g,alternative:"o"},{letter:/[\u0152]/g,alternative:"OE"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0156]/g,alternative:"R"},{letter:/[\u0157]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015C]/g,alternative:"S"},{letter:/[\u015D]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0162]/g,alternative:"T"},{letter:/[\u0163]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0166]/g,alternative:"T"},{letter:/[\u0167]/g,alternative:"t"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016C]/g,alternative:"U"},{letter:/[\u016D]/g,alternative:"u"},{letter:/[\u016E]/g,alternative:"U"},{letter:/[\u016F]/g,alternative:"u"},{letter:/[\u0170]/g,alternative:"U"},{letter:/[\u0171]/g,alternative:"u"},{letter:/[\u0172]/g,alternative:"U"},{letter:/[\u0173]/g,alternative:"u"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0176]/g,alternative:"Y"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u0179]/g,alternative:"Z"},{letter:/[\u017A]/g,alternative:"z"},{letter:/[\u017B]/g,alternative:"Z"},{letter:/[\u017C]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017F]/g,alternative:"s"},{letter:/[\u01A0]/g,alternative:"O"},{letter:/[\u01A1]/g,alternative:"o"},{letter:/[\u01AF]/g,alternative:"U"},{letter:/[\u01B0]/g,alternative:"u"},{letter:/[\u01CD]/g,alternative:"A"},{letter:/[\u01CE]/g,alternative:"a"},{letter:/[\u01CF]/g,alternative:"I"},{letter:/[\u01D0]/g,alternative:"i"},{letter:/[\u01D1]/g,alternative:"O"},{letter:/[\u01D2]/g,alternative:"o"},{letter:/[\u01D3]/g,alternative:"U"},{letter:/[\u01D4]/g,alternative:"u"},{letter:/[\u01D5]/g,alternative:"U"},{letter:/[\u01D6]/g,alternative:"u"},{letter:/[\u01D7]/g,alternative:"U"},{letter:/[\u01D8]/g,alternative:"u"},{letter:/[\u01D9]/g,alternative:"U"},{letter:/[\u01DA]/g,alternative:"u"},{letter:/[\u01DB]/g,alternative:"U"},{letter:/[\u01DC]/g,alternative:"u"},{letter:/[\u0218]/g,alternative:"S"},{letter:/[\u0219]/g,alternative:"s"},{letter:/[\u021A]/g,alternative:"T"},{letter:/[\u021B]/g,alternative:"t"},{letter:/[\u0251]/g,alternative:"a"},{letter:/[\u1EA0]/g,alternative:"A"},{letter:/[\u1EA1]/g,alternative:"a"},{letter:/[\u1EA2]/g,alternative:"A"},{letter:/[\u1EA3]/g,alternative:"a"},{letter:/[\u1EA4]/g,alternative:"A"},{letter:/[\u1EA5]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EA7]/g,alternative:"a"},{letter:/[\u1EA8]/g,alternative:"A"},{letter:/[\u1EA9]/g,alternative:"a"},{letter:/[\u1EAA]/g,alternative:"A"},{letter:/[\u1EAB]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EAD]/g,alternative:"a"},{letter:/[\u1EAE]/g,alternative:"A"},{letter:/[\u1EAF]/g,alternative:"a"},{letter:/[\u1EB0]/g,alternative:"A"},{letter:/[\u1EB1]/g,alternative:"a"},{letter:/[\u1EB2]/g,alternative:"A"},{letter:/[\u1EB3]/g,alternative:"a"},{letter:/[\u1EB4]/g,alternative:"A"},{letter:/[\u1EB5]/g,alternative:"a"},{letter:/[\u1EB6]/g,alternative:"A"},{letter:/[\u1EB7]/g,alternative:"a"},{letter:/[\u1EB8]/g,alternative:"E"},{letter:/[\u1EB9]/g,alternative:"e"},{letter:/[\u1EBA]/g,alternative:"E"},{letter:/[\u1EBB]/g,alternative:"e"},{letter:/[\u1EBC]/g,alternative:"E"},{letter:/[\u1EBD]/g,alternative:"e"},{letter:/[\u1EBE]/g,alternative:"E"},{letter:/[\u1EBF]/g,alternative:"e"},{letter:/[\u1EC0]/g,alternative:"E"},{letter:/[\u1EC1]/g,alternative:"e"},{letter:/[\u1EC2]/g,alternative:"E"},{letter:/[\u1EC3]/g,alternative:"e"},{letter:/[\u1EC4]/g,alternative:"E"},{letter:/[\u1EC5]/g,alternative:"e"},{letter:/[\u1EC6]/g,alternative:"E"},{letter:/[\u1EC7]/g,alternative:"e"},{letter:/[\u1EC8]/g,alternative:"I"},{letter:/[\u1EC9]/g,alternative:"i"},{letter:/[\u1ECA]/g,alternative:"I"},{letter:/[\u1ECB]/g,alternative:"i"},{letter:/[\u1ECC]/g,alternative:"O"},{letter:/[\u1ECD]/g,alternative:"o"},{letter:/[\u1ECE]/g,alternative:"O"},{letter:/[\u1ECF]/g,alternative:"o"},{letter:/[\u1ED0]/g,alternative:"O"},{letter:/[\u1ED1]/g,alternative:"o"},{letter:/[\u1ED2]/g,alternative:"O"},{letter:/[\u1ED3]/g,alternative:"o"},{letter:/[\u1ED4]/g,alternative:"O"},{letter:/[\u1ED5]/g,alternative:"o"},{letter:/[\u1ED6]/g,alternative:"O"},{letter:/[\u1ED7]/g,alternative:"o"},{letter:/[\u1ED8]/g,alternative:"O"},{letter:/[\u1ED9]/g,alternative:"o"},{letter:/[\u1EDA]/g,alternative:"O"},{letter:/[\u1EDB]/g,alternative:"o"},{letter:/[\u1EDC]/g,alternative:"O"},{letter:/[\u1EDD]/g,alternative:"o"},{letter:/[\u1EDE]/g,alternative:"O"},{letter:/[\u1EDF]/g,alternative:"o"},{letter:/[\u1EE0]/g,alternative:"O"},{letter:/[\u1EE1]/g,alternative:"o"},{letter:/[\u1EE2]/g,alternative:"O"},{letter:/[\u1EE3]/g,alternative:"o"},{letter:/[\u1EE4]/g,alternative:"U"},{letter:/[\u1EE5]/g,alternative:"u"},{letter:/[\u1EE6]/g,alternative:"U"},{letter:/[\u1EE7]/g,alternative:"u"},{letter:/[\u1EE8]/g,alternative:"U"},{letter:/[\u1EE9]/g,alternative:"u"},{letter:/[\u1EEA]/g,alternative:"U"},{letter:/[\u1EEB]/g,alternative:"u"},{letter:/[\u1EEC]/g,alternative:"U"},{letter:/[\u1EED]/g,alternative:"u"},{letter:/[\u1EEE]/g,alternative:"U"},{letter:/[\u1EEF]/g,alternative:"u"},{letter:/[\u1EF0]/g,alternative:"U"},{letter:/[\u1EF1]/g,alternative:"u"},{letter:/[\u1EF2]/g,alternative:"Y"},{letter:/[\u1EF3]/g,alternative:"y"},{letter:/[\u1EF4]/g,alternative:"Y"},{letter:/[\u1EF5]/g,alternative:"y"},{letter:/[\u1EF6]/g,alternative:"Y"},{letter:/[\u1EF7]/g,alternative:"y"},{letter:/[\u1EF8]/g,alternative:"Y"},{letter:/[\u1EF9]/g,alternative:"y"}],Bt=[{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u1E9E]/g,alternative:"SS"},{letter:/[\u00DF]/g,alternative:"ss"}],Ut=[{letter:/[\u00C6]/g,alternative:"Ae"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E5]/g,alternative:"aa"}],Ht=[{letter:/[\u00B7]/g,alternative:"ll"}],$t=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}];function Kt(e,t){const r=[];if(e.indexOf(t)>-1)for(let n=0;nqe(e)).join("|"),"ig")}const s=e.match(n)||[];e=e.replace(n,"");const i=Ke(t,r),a=Yt(i,r),o=e.match(a)||[];let l=s.concat(o);const c=function(e,t){const r=function(e){if(Object(T.isUndefined)(e))return[];let t=jt;return t=t.concat(function(e){switch(e){case"de":return Bt;case"da":return Ut;case"ca":return Ht;case"sr":case"bs":return $t;default:return[]}}(A(e))),t}(t);for(let t=r.length-1;t>=0;t--)e=e.replace(r[t].letter,r[t].alternative);return e}(t,r);if(c!==i){const t=Yt(c,r),n=e.match(t)||[];l=l.concat(n)}return Object(T.map)(l,(function(e){return Ve(e)}))};function Qt(e){return e.replace(/[‘’‛`‹›]/g,"'")}function Xt(e){return function(e){return e.replace(/[“”〝〞〟‟„『』«»]/g,'"')}(Qt(e))}var Jt=function(e,t,r,n){e=Ft(e),e=Xt(e=Tt(e)),t=Xt(t);let s=n?n(e,t):Vt(e,t,r);s=Object(T.map)(s,(function(e){return Ve(Nt(e))}));const i=Object(T.map)(s,(function(t){return e.indexOf(t)}));return{count:s.length,matches:s,position:0===i.length?-1:Math.min(...i)}},Zt=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en_EN",n=arguments.length>3?arguments[3]:void 0,s=0,i=[],a=[];return Object(T.uniq)(t).forEach((function(t){const o=Jt(e,t,r,n);s+=o.count,i=i.concat(o.matches),a.push(o.position)})),a=a.filter(e=>e>=0),{count:s,matches:i,position:0===a.length?-1:Math.min(...a)}};const er=function(e,t,r,n){const s=e.length,i=Array(s);let a=[];for(let o=0;o0?1:0,a.push(s.position)}const o=Object(T.sum)(i),l={countWordMatches:o,percentWordMatches:0};return s>0&&(l.percentWordMatches=Math.round(o/s*100)),a=a.filter(e=>e>=0),l.position=0===a.length?-1:Math.min(...a),l},tr=function(e,t,r,n,s){let i=er(e.keyphraseForms,t,n,s);if(i.keyphraseOrSynonym="keyphrase",100===i.percentWordMatches||!1===r||Object(T.isEmpty)(e.synonymsForms))return i;const a=[];for(let r=0;re.percentWordMatches),l=o.indexOf(Math.max(...o));return i.percentWordMatches>=a[l].percentWordMatches||(i=a[l],i.keyphraseOrSynonym="synonym"),i};var rr=function(e){const t=e.getTree();return t?t.findAll(e=>"img"===e.name):[]};function nr(e,t){const r=rr(e),n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper");return function(e,t,r,n){const s={noAlt:0,withAlt:0,withAltKeyword:0,withAltNonKeyword:0};return e.forEach(e=>{const i=Pt(e);""!==i?Object(T.isEmpty)(t.keyphraseForms)?s.withAlt++:tr(t,i,!0,r,n).percentWordMatches>=50?s.withAltKeyword++:s.withAltNonKeyword++:s.noAlt++}),s}(r,n,e.getLocale(),s)}const sr=new RegExp("^[.]$"),ir=/^<[^><]*$/,ar=/^<([^>\s/]+)[^>]*>$/im,or=/^<\/([^>\s]+)[^>]*>$/im,lr=/^\s*[[({]\s*$/,cr=/^\s*[\])}]\s*$/,ur=["A.D.","Adm.","Adv.","B.C.","Br.","Brig.","Cmrd.","Col.","Cpl.","Cpt.","Dr.","Esq.","Fr.","Gen.","Gov.","Hon.","Jr.","Lieut.","Lt.","Maj.","Mr.","Mrs.","Ms.","Msgr.","Mx.","No.","Pfc.","Pr.","Prof.","Pvt.","Rep.","Reps.","Rev.","Rt. Hon.","Sen.","Sens.","Sgt.","Sps.","Sr.","St.","vs.","i.e.","e.g.","viz.","Mt."].map(e=>e.replace(".","\\.")),hr=vt(ur),dr="(^|$|["+[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"].map(e=>"\\"+e).join("")+"])",pr=new RegExp(dr+"[A-Za-z]$"),gr=/<\/?([^\s]+?)(\s|>)/,fr=["p","div","h1","h2","h3","h4","h5","h6","span","li","main"];class mr{constructor(){this.sentenceDelimiters='”〞〟„』›»’‛`"?!…۔؟'}getSentenceDelimiters(){return this.sentenceDelimiters}isNumber(e){return!Object(T.isNaN)(parseInt(e,10))}isBreakTag(e){return/<\/?br/.test(e)}isQuotation(e){return"'"===(e=Xt(e))||'"'===e}endsWithOrdinalDot(){return!1}isPunctuation(e){return"¿"===e||"¡"===e}removeDuplicateWhitespace(e){return e.replace(/\s+/," ")}isCapitalLetter(e){return e!==e.toLocaleLowerCase()}isSmallerThanSign(e){return"<"===e}getNextTwoCharacters(e){let t="";return Object(T.isUndefined)(e[0])||(t+=e[0].src),Object(T.isUndefined)(e[1])||(t+=e[1].src),t=this.removeDuplicateWhitespace(t),t}isLetterFromSpecificLanguage(e){return[/^[\u0590-\u05fe]+$/i,/^[\u0600-\u06FF]+$/i,/^[\uFB8A\u067E\u0686\u06AF]+$/i].some(t=>t.test(e))}isValidSentenceBeginning(e){return this.isCapitalLetter(e)||this.isLetterFromSpecificLanguage(e)||this.isNumber(e)||this.isQuotation(e)||this.isPunctuation(e)||this.isSmallerThanSign(e)}isSentenceStart(e){return!Object(T.isUndefined)(e)&&("html-start"===e.type||"html-end"===e.type||"block-start"===e.type)}isSentenceEnding(e){return!Object(T.isUndefined)(e)&&("full-stop"===e.type||"sentence-delimiter"===e.type)}isPartOfPersonInitial(e,t,r,n){return!Object(T.isUndefined)(e)&&!Object(T.isUndefined)(r)&&!Object(T.isUndefined)(n)&&!Object(T.isUndefined)(t)&&"full-stop"===e.type&&"sentence"===t.type&&pr.test(t.src)&&"sentence"===r.type&&1===r.src.trim().length&&"full-stop"===n.type}tokenizeSmallerThanContent(e,t,r){const n=e.src.substring(1),s=this.createTokenizer();this.tokenize(s.tokenizer,n);const i=this.getSentencesFromTokens(s.tokens,!1);if(i[0]=Object(T.isUndefined)(i[0])?"<":"<"+i[0],this.isValidSentenceBeginning(i[0])&&(t.push(r),r=""),r+=i[0],i.length>1){t.push(r),r="",i.shift();const e=i.pop();i.forEach(e=>{t.push(e)});const n=new RegExp("[."+this.getSentenceDelimiters()+"]$");e.match(n)?t.push(e):r=e}return{tokenSentences:t,currentSentence:r}}createTokenizer(){const e=new RegExp("^["+this.getSentenceDelimiters()+"]$"),t=new RegExp("^[^."+this.getSentenceDelimiters()+"<\\(\\)\\[\\]]+$"),r=[],n=Xe()((function(e){r.push(e)}));return n.addRule(sr,"full-stop"),n.addRule(ir,"smaller-than-sign-content"),n.addRule(ar,"html-start"),n.addRule(or,"html-end"),n.addRule(lr,"block-start"),n.addRule(cr,"block-end"),n.addRule(e,"sentence-delimiter"),n.addRule(t,"sentence"),{tokenizer:n,tokens:r}}tokenize(e,t){e.onText(t);try{e.end()}catch(e){console.error("Tokenizer end error:",e,e.tokenizer2)}}endsWithAbbreviation(e){const t=e.match(hr);if(!t)return!1;const r=t.pop();return e.endsWith(r)}isValidTagPair(e,t){const r=e.src,n=t.src,s=r.match(gr)[1];return s===n.match(gr)[1]&&fr.includes(s)}getSentencesFromTokens(e){let t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=[],i="";do{r=!1;const t=e[0],n=e[e.length-1];t&&n&&"html-start"===t.type&&"html-end"===n.type&&this.isValidTagPair(t,n)&&(e=e.slice(1,e.length-1),r=!0)}while(r&&e.length>1);return e.forEach((r,n)=>{let a,o,l;const c=e[n+1],u=e[n-1],h=e[n+2];switch(o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",r.type){case"html-start":case"html-end":this.isBreakTag(r.src)?(s.push(i),i=""):i+=r.src;break;case"smaller-than-sign-content":l=this.tokenizeSmallerThanContent(r,s,i),s=l.tokenSentences,i=l.currentSentence;break;case"sentence":i+=r.src;break;case"sentence-delimiter":if(i+=r.src,!Object(T.isUndefined)(c)&&"block-end"!==c.type&&"sentence-delimiter"!==c.type&&this.isCharacterASpace(c.src[0])){if(this.isQuotation(r.src)&&u&&"."!==u.src)break;this.isQuotation(r.src)||"…"===r.src?i=this.getValidSentence(a,t,o,c,s,i):(s.push(i),i="")}break;case"full-stop":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",this.endsWithAbbreviation(i))break;if(a&&this.isNumber(o[0]))break;if(this.isPartOfPersonInitial(r,u,c,h))break;if(this.endsWithOrdinalDot(i))break;i=this.getValidSentence(a,t,o,c,s,i);break;case"block-start":i+=r.src;break;case"block-end":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[0]:"",a&&this.isNumber(o[0])||this.isSentenceEnding(u)&&!this.isValidSentenceBeginning(t)&&!this.isSentenceStart(c))break;this.isSentenceEnding(u)&&(this.isSentenceStart(c)||this.isValidSentenceBeginning(t))&&(s.push(i),i="")}}),""!==i&&s.push(i),n&&(s=Object(T.map)(s,(function(e){return e.trim()}))),s}getValidSentence(e,t,r,n,s,i){return(e&&this.isValidSentenceBeginning(t)&&this.isCharacterASpace(r[0])||this.isSentenceStart(n))&&(s.push(i),i=""),i}isCharacterASpace(e){return/\s/.test(e)}}var _r=Object(T.memoize)((function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=new mr,{tokenizer:n,tokens:s}=r.createTokenizer();return r.tokenize(n,e),0===s.length?[]:r.getSentencesFromTokens(s,t)}),(function(){for(var e=arguments.length,t=new Array(e),r=0;r|
)$");var vr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_r;e=Ye(e=ze(e)),e=(e=_t(e)).replace(yt,"");let r=ht(e);r=Object(T.flatMap)(r,(function(e){return e.split(Tr)})),r=r.filter(e=>!Er.test(e));let n=r.map(e=>t(e)).flat();return n=n.map(e=>ft(e).trim()),Object(T.filter)(n,Object(T.negate)(T.isEmpty))},br=function(e){return It(e).length},yr=r(49),Ar=r.n(yr);let Or,Cr=!1;const wr=["script","style","code","pre","blockquote","textarea"],Sr=new Ar.a.Parser({onopentag:function(e,t){if(Cr)return;if(Object(T.includes)(wr,e))return void(Cr=!0);const r=Object.keys(t);let n="";r.forEach((function(e){n+=" "+e+"='"+t[e]+"'"})),Or.push("<"+e+n+">")},ontext:function(e){Cr||Or.push(e)},onclosetag:function(e){Object(T.includes)(wr,e)?Cr=!1:Cr||Or.push(""+e+">")}},{decodeEntities:!0});var kr=function(e){return Or=[],Sr.write(e),Sr.parseComplete(),Or.join("")},Nr=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),function(e,t){const r=[];return Object(T.forEach)(e,(function(e){const n=mt(e),s=t.getHelper("customCountLength"),i=s?s(n):br(n);i<=0||r.push({sentence:e,sentenceLength:i})})),r}(vr(n,r),t)},Rr=function(e,t){const r=t.getResearch("getParagraphs")[0],n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper"),i=e.getLocale(),a={foundInOneSentence:!1,foundInParagraph:!1,keyphraseOrSynonym:""};if(Object(T.isEmpty)(r))return a;const o=r.sentences.map(e=>e.text);if(!Object(T.isEmpty)(o)){const e=o.map(e=>tr(n,e,!0,i,s)).find(e=>100===e.percentWordMatches);if(e)return a.foundInOneSentence=!0,a.foundInParagraph=!0,a.keyphraseOrSynonym=e.keyphraseOrSynonym,a;const t=tr(n,r.innerText(),!0,i,s);if(100===t.percentWordMatches)return a.foundInParagraph=!0,a.keyphraseOrSynonym=t.keyphraseOrSynonym,a}return a},Ir=["“","”","〝","〞","〟","‟","„",'"',"「","」","『","』"];function xr(e){const t={exactMatchRequested:!1,keyphrase:e};return Ir.includes(e[0])&&Ir.includes(e[e.length-1])&&(t.keyphrase=e.substring(1,e.length-1),t.exactMatchRequested=!0),t}let Dr=[];const Lr=function(e,t){return 0===t||0===Dr.length?t:function(e){e=e.toLocaleLowerCase();let t=It(e.toLocaleLowerCase());return t=Object(T.filter)(t,(function(e){return!Object(T.includes)(Dr,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(t)}(e.substr(0,t))?0:t};var Mr=function(e,t){Dr=t.getConfig("functionWords");let r=Object(T.escapeRegExp)(e.getKeyword());const n=e.getTitle(),s=e.getLocale(),i={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},a=xr(r);a.exactMatchRequested&&(r=a.keyphrase,i.exactMatchKeyphrase=!0);const o=Jt(n,r,s,!1);if(o.count>0)return i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,o.position),i;if(!o){const e=r;return e.count>0&&(i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,e.position)),i}const l=t.getResearch("morphology");return 100===tr(l,n,!1,s,!1).percentWordMatches&&(i.allWordsFound=!0),i};const Pr=[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"],Fr=function(e){return Object(T.includes)(Pr,e)},jr=function(e,t){e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase();const r=qe(Object(T.escapeRegExp)(e));let n=t.search(new RegExp(r,"ig"));if(-1===n)return!1;n>0&&(n+=1);const s=n+e.length,i=Fr(t[n-1])||0===n,a=Fr(t[s])||s===t.length;return i&&a};let Br=null,Ur="";const Hr=function(e,t){e=Qt(e);const r=function(e){const t=Object(T.flattenDeep)(e).join("");return Ur===t&&null!==Br||(Ur=t,Br=function(e){const t="("+(e=e.map((function(e){return function(e){return(e=e.map((function(e){return qe(e)}))).join("(.*?)")}(e)}))).join(")|(")+")";return new RegExp(t,"ig")}(e)),Br}(t);return e.match(r)};var $r=function(e,t){const r=t.getHelper("matchTransitionWordsHelper"),n=t.getConfig("transitionWords"),s=t.getConfig("twoPartTransitionWords"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a);const o=vr(a,i),l=function(e,t,r,n){const s=[];return e.forEach(e=>{if(r){const t=Hr(e,r);if(null!==t)return void s.push({sentence:e,transitionWords:t})}const i=n?n(e,t):function(e,t){return e=Qt(e),t.filter(t=>jr(t,e))}(e,t);0!==i.length&&s.push({sentence:e,transitionWords:i})}),s}(o,n,s,r);return{totalSentences:o.length,sentenceResults:l,transitionWordSentences:l.length}},Kr=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getWordsCustomHelper"),s=e.getKeyword();if(xr(s).exactMatchRequested)return!1;let i=n?n(s):It(s);return i=Object(T.filter)(i,(function(e){return!Object(T.includes)(r,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(i)};const qr=new RegExp("^[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+"),Gr=new RegExp("[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+$");var zr=function(e){let t=e.split(",");return t=t.map(e=>Ve(e).replace(qr,"").replace(Gr,"")).filter(e=>e),t},Wr=r(71),Yr=r.n(Wr);const Vr=/href=(["'])([^"']+)\1/i;function Qr(e){return e.split("#")[0]}function Xr(e){return e.split("?")[0]}function Jr(e){return e.replace(/\/$/,"")}function Zr(e){return Jr(e)+"/"}var en=function(e){const t=Vr.exec(e);return null===t?"":t[2]},tn=function(e,t){return e=Xr(Qr(e)),t=Xr(Qr(t)),Zr(e)===Zr(t)},rn=function(e){return Yr.a.parse(e).protocol},nn=function(e,t){const r=Yr.a.parse(e,!1,!0).hostname;return-1===e.indexOf("//")&&0===e.indexOf("/")||0!==e.indexOf("#")&&(!r||r===t||r===Yr.a.parse(t).hostname)},sn=function(e){return!!e&&("http:"===e||"https:"===e)},an=function(e){return 0===e.indexOf("#")};let on=[];var ln=function(e,t){on=t.getConfig("functionWords");const r={anchorsWithKeyphrase:[],anchorsWithKeyphraseCount:0};if(""===e.getText())return r;const n=e.getKeyword();if(""===n)return r;const s=zr(e.getSynonyms());s.push(n);let i=e.getTree().findAll(e=>"a"===e.name);if(i=function(e,t){const r=e.map((function(e){const r=e.attributes.href;return!!r&&function(e,t){return Boolean(tn(e,t)||an(e))}(r,t)}));return e.filter((e,t)=>!r[t])}(i,e.getPermalink()),0===i.length)return r;const a=e.getLocale(),o=t.getResearch("morphology"),l={matchWordCustomHelper:t.getHelper("matchWordCustomHelper"),getWordsCustomHelper:t.getHelper("getWordsCustomHelper")};return i=function(e,t,r,n){const s=e.map((function(e){const s=e.innerText();return 100===tr(t,s,!0,r,n).percentWordMatches}));return e.filter((e,t)=>s[t])}(i,o,a,l.matchWordCustomHelper),0===i.length?r:(i=function(e,t,r,n,s){const i=n.matchWordCustomHelper,a=n.getWordsCustomHelper,o=[Object(T.flatten)(t.keyphraseForms)];t.synonymsForms.forEach(e=>o.push(Object(T.flatten)(e)));const l=[];return e.forEach((function(e){const t=e.innerText();let n=Object(T.uniq)(a?a(t):It(t));const c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Object(T.filter)(e,(function(e){return!Object(T.includes)(t,e.trim().toLocaleLowerCase())}))}(n,on);c.length>0&&(n=c),s.forEach(e=>{e.exactMatchRequested&&n.every(t=>e.keyphrase.includes(t))&&l.push(!0)});for(let e=0;eZt(e,t,r,i).count>0)){l.push(!0);break}}})),e.filter((e,t)=>l[t])}(i,o,a,l,s.map(e=>xr(e))),{anchorsWithKeyphrase:i,anchorsWithKeyphraseCount:i.length})};const cn=function(e){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(e)};cn.prototype.hasRegex=function(){return this._hasRegex},cn.prototype.createRegex=function(e){Object(T.isUndefined)(e)||Object(T.isUndefined)(e.fragments)||(this._hasRegex=!0,this._regex=vt(e.fragments,!0),this._multiplier=e.countModifier)},cn.prototype.getRegex=function(){return this._regex},cn.prototype.countSyllables=function(e){return this._hasRegex?(e.match(this._regex)||[]).length*this._multiplier:0};var un=cn;const hn=function(e){this.countSteps=[],Object(T.isUndefined)(e)||this.createSyllableCountSteps(e.deviations.vowels)};hn.prototype.createSyllableCountSteps=function(e){Object(T.forEach)(e,function(e){this.countSteps.push(new un(e))}.bind(this))},hn.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},hn.prototype.countSyllables=function(e){let t=0;return Object(T.forEach)(this.countSteps,(function(r){t+=r.countSyllables(e)})),t};var dn=hn;function pn(e){this._location=e.location,this._fragment=e.word,this._syllables=e.syllables,this._regex=null,this._options=Object(T.pick)(e,["notFollowedBy","alsoFollowedBy"])}pn.prototype.createRegex=function(){let e="";const t=this._options;let r=this._fragment;switch(Object(T.isUndefined)(t.notFollowedBy)||(r+="(?!["+t.notFollowedBy.join("")+"])"),Object(T.isUndefined)(t.alsoFollowedBy)||(r+="["+t.alsoFollowedBy.join("")+"]?"),this._location){case"atBeginning":e="^"+r;break;case"atEnd":e=r+"$";break;case"atBeginningOrEnd":e="(^"+r+")|("+r+"$)";break;default:e=r}this._regex=new RegExp(e)},pn.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},pn.prototype.occursIn=function(e){return this.getRegex().test(e)},pn.prototype.removeFrom=function(e){return e.replace(this._fragment," ")},pn.prototype.getSyllables=function(){return this._syllables};var gn=pn;const fn=Object(T.memoize)((function(e){let t=[];const r=e.deviations;return t=Object(T.flatMap)(r.words.fragments,(function(e,t){return Object(T.map)(e,(function(e){return e.location=t,new gn(e)}))})),t})),mn=function(e,t){let r=0;if(!Object(T.isUndefined)(t.deviations)&&!Object(T.isUndefined)(t.deviations.words)){if(!Object(T.isUndefined)(t.deviations.words.full)){const r=function(e,t){const r=t.deviations.words.full,n=Object(T.find)(r,(function(t){return t.word===e}));return Object(T.isUndefined)(n)?0:n.syllables}(e,t);if(0!==r)return r}if(!Object(T.isUndefined)(t.deviations.words.fragments)){const n=function(e,t){const r=fn(t);let n=e,s=0;return Object(T.forEach)(r,(function(e){e.occursIn(n)&&(n=e.removeFrom(n),s+=e.getSyllables())})),{word:n,syllableCount:s}}(e,t);e=n.word,r+=n.syllableCount}}return r+=function(e,t){let r=0;return r+=function(e,t){let r=0;const n=new RegExp("[^"+t.vowels+"]","ig"),s=e.split(n);return r+=Object(T.filter)(s,(function(e){return""!==e})).length,r}(e,t),Object(T.isUndefined)(t.deviations)||Object(T.isUndefined)(t.deviations.vowels)||(r+=function(e,t){return new dn(t).countSyllables(e)}(e,t)),r}(e,t),r};const Tn={NO_DATA:-1,VERY_EASY:0,EASY:1,FAIRLY_EASY:2,OKAY:3,FAIRLY_DIFFICULT:4,DIFFICULT:5,VERY_DIFFICULT:6};var En=function(e,t){const r=t.getConfig("syllables"),n=t.getHelper("memoizedTokenizer"),s=function(e){return e.getConfig("fleschReadingEaseScores")||{borders:{veryEasy:90,easy:80,fairlyEasy:70,okay:60,fairlyDifficult:50,difficult:30,veryDifficult:0},scores:{veryEasy:9,easy:9,fairlyEasy:9,okay:9,fairlyDifficult:6,difficult:3,veryDifficult:3}}}(t);let i=e.getText();if(""===i)return{score:-1,difficulty:Tn.NO_DATA};i=function(e){return e=e.replace(/\b[0-9]+\b/g,""),"."===(e=Ve(e))&&(e=""),e}(i);const a=function(e,t){const r=vr(e,t);let n=0;for(let e=0;e=t.borders.veryEasy?Tn.VERY_EASY:Object(T.inRange)(e,t.borders.easy,t.borders.veryEasy)?Tn.EASY:Object(T.inRange)(e,t.borders.fairlyEasy,t.borders.easy)?Tn.FAIRLY_EASY:Object(T.inRange)(e,t.borders.okay,t.borders.fairlyEasy)?Tn.OKAY:Object(T.inRange)(e,t.borders.fairlyDifficult,t.borders.okay)?Tn.FAIRLY_DIFFICULT:Object(T.inRange)(e,t.borders.difficult,t.borders.fairlyDifficult)?Tn.DIFFICULT:Tn.VERY_DIFFICULT}(h,s)}},vn=function(e,t){const r=t.getHelper("getWordsCustomHelper");let n=e.getText();n=kr(n);let s=br(n);return r&&(s=r(e.getText()).length),0===s?0:t.getResearch("keywordCount").count/s*100},bn=function(e){let t;return t=e.match(/]+)>((?:.|[\n\r\u2028\u2029])*?)<\/a>/gi),null===t&&(t=[]),t},yn=function(e){const t=bn(e.getText());return Object(T.map)(t,en)},An=function(e){let t="Dofollow";const r=new Ar.a.Parser({onopentag:function(e,r){"a"===e&&r.rel&&r.rel.toLowerCase().split(/\s/).includes("nofollow")&&(t="Nofollow")}});return r.write(e),r.end(),t},On=function(e,t){const r=en(e),n=rn(r);return n&&!sn(n)||an(r)?"other":nn(r,t)?"internal":"external"},Cn=function(e){const t=bn(e.getText()),r=e.getPermalink(),n={total:t.length,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.name=e,this.attributes=t,this.childNodes=r,Object(T.isEmpty)(n)||(this.sourceCodeLocation=new class{constructor(e){e.startTag&&(this.startTag={startOffset:e.startTag.startOffset,endOffset:e.startTag.endOffset}),e.endTag&&(this.endTag={startOffset:e.endTag.startOffset,endOffset:e.endTag.endOffset}),this.startOffset=e.startOffset,this.endOffset=e.endOffset}}(n))}findAll(e){return function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=[];return t.childNodes?(t.childNodes.forEach(t=>{r(t)?(s.push(t),n&&s.push(...e(t,r,n))):s.push(...e(t,r,n))}),s):s}(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}innerText(){return function e(t){let r="";return Object(T.isEmpty)(t.childNodes)||t.childNodes.forEach(t=>{"#text"===t.name?r+=t.value:r+=e(t)}),r}(this)}},Sn=class extends wn{constructor(e){super("h"+e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),this.level=e}};class kn extends wn{constructor(){let e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super("p",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),this.isImplicit=e}static createImplicit(){return new kn(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},!0)}}var Nn=kn,Rn=function(e){let t=e.getTree().findAll(e=>e instanceof Nn);return t=Object(T.reject)(t,e=>0===e.sentences.length),t=Object(T.reject)(t,e=>e.childNodes.every(e=>"a"===e.name)),t},In=function(e,t){let r=e.getText();r=kr(r),r=ze(r),r=Ye(r),r=r.replace(yt,""),r=function(e){return e.replace(/\s*<.*?br.*?>/gm,"
")}(r);const n=function(e){let t=function(e){let t=[];const r=/
]+)?>(.*?)<\/p>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t=Object(T.map)(t,(function(e){return e[1]})),t.filter(e=>e.length>0)}(e);if(t.length>0)return t;let r=ht(e);return r=Object(T.filter)(r,(function(e){return 0!==e.indexOf("0?t:[e]}(r),s=[],i=t.getHelper("customCountLength");return n.map((function(e){s.push({countLength:i?i(e):br(e),text:e})})),Object(T.filter)(s,(function(e){return e.countLength>0}))};class xn{constructor(e){this._sentenceText=e||"",this._isPassive=!1,this._clauses=[]}getSentenceText(){return this._sentenceText}isPassive(){return this._isPassive}setPassive(e){this._isPassive=e}getClauses(){return this._clauses}setClauses(e){this._clauses=e,this.setSentencePassiveness()}setSentencePassiveness(){const e=this.getClauses().filter(e=>!0===e.isPassive());this.setPassive(e.length>0)}serialize(){return{_parseClass:"Sentence",sentenceText:this._sentenceText,isPassive:this._isPassive,clauses:this._clauses}}parse(e){const t=new xn(e.sentenceText);return t.setClauses(e.clauses),t.setPassive(e.isPassive),t}}var Dn=xn;const Ln=function(e,t){const r=t.getHelper("isPassiveSentence");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Dn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase();e.setPassive(r(t)),!0===e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}},Mn=function(e,t){const r=t.getHelper("getClauses");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Dn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase(),n=r(t);e.setClauses(n),e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}};function Pn(e,t){const r=t.getConfig("passiveConstructionType");return"periphrastic"===r?Mn(e,t):"morphological"===r?Ln(e,t):function(e,t){const r=Ln(e,t),n=Mn(e,t).passives;return{total:r.total,passives:n.concat(r.passives)}}(e,t)}function Fn(e,t,r){this._word=e,this._stem=t||e,this._occurrences=r||0}Fn.prototype.setWord=function(e){this._word=e},Fn.prototype.getWord=function(){return this._word},Fn.prototype.getStem=function(){return this._stem},Fn.prototype.setOccurrences=function(e){this._occurrences=e},Fn.prototype.getOccurrences=function(){return this._occurrences},Fn.prototype.serialize=function(){return{_parseClass:"ProminentWord",word:this._word,stem:this._stem,occurrences:this._occurrences}},Fn.parse=function(e){return new Fn(e.word,e.stem,e.occurrences)};var jn=Fn;const Bn=/[1234567890‘’“”"'.…?!:;,¿¡«»&*@#±^%$|~=+§`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\s]/g;function Un(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return e.filter((function(e){return e.getOccurrences()>=t&&""!==e.getWord().replace(Bn,"")}))}function Hn(e){e.sort((function(e,t){const r=t.getOccurrences()-e.getOccurrences();return 0!==r?r:e.getStem().localeCompare(t.getStem())}))}function $n(e){if(0===e.length)return[];e.sort((function(e,t){return e.getStem().localeCompare(t.getStem())}));const t=[];let r=new jn(e[0].getWord(),e[0].getStem(),e[0].getOccurrences());for(let n=1;n1&&e.length<5&&e===e.toLocaleUpperCase()&&r.push(e.toLocaleLowerCase())})),Object(T.uniq)(r)}function qn(e,t,r,n){if(0===e.length)return[];const s=Object(T.uniq)(e.filter(e=>!n.includes(e.trim()))),i=[];return s.forEach((function(n){t.includes(n)?i.push(new jn(n.toLocaleUpperCase(),n,e.filter(e=>e===n).length)):i.push(new jn(n,r(n),e.filter(e=>e===n).length))})),$n(i)}const Gn=Object(T.memoize)((e,t,r,n)=>qn(e,t,r,n),(e,t)=>e.join(",")+","+t.join(","));function zn(e,t,r,n,s){if(""===e)return[];const i=s?s(Qt(e).toLocaleLowerCase()):It(Qt(e).toLocaleLowerCase());return Gn(i,t,r,n)}const Wn=new RegExp("(ftp|http(s)?:\\/\\/.)(www\\\\.)?[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)|www\\.[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)","igm");var Yn=function(e){return e.replace(Wn,"")};const Vn=new RegExp("[^\\s@]+@[^\\s@]+\\.[^\\s@]+","igm");var Qn=function(e){return e.replace(Vn,"")},Xn=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper");let a=e.getText();a=Yn(a),a=Qn(a);const o=$n(zn(a,i?[]:Kn(a),s,r,i));return Hn(o),Object(T.take)(Un(o,5),20)};function Jn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}function Zn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}const es=function(e){return e=Yn(e),Qn(e)};var ts=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper"),a=t.getHelper("customCountLength"),o=es(e.getText()),l=es(e.getDescription()),c=es(e.getTitle()),u={};if(u.hasMetaDescription=""!==l,u.hasTitle=""!==c,u.prominentWords=[],a){if(a(o)<200)return u}else if(br(o)<100)return u;const h=Zn(o).map(e=>e[2]),d=[e.getKeyword(),e.getSynonyms(),c,l,h.join(" ")],p=i?[]:Kn(o.concat(d.join(" "))),g=zn(function(e){return e.replace(/]+)?>(.*?)<\/h\1>/gi,"")}(o),p,s,r,i),f=function(e,t,r,n,s){return qn(s?s(e.join(" ").toLocaleLowerCase()):It(e.join(" ").toLocaleLowerCase()),t,r,n)}(d,p,s,r,i);f.forEach(e=>e.setOccurrences(3*e.getOccurrences()));const m=$n(f.concat(g));Hn(m);let _=4;return s===Ot&&(_=2),u.prominentWords=Object(T.take)(Un(m,_),100),u};var rs=function(e,t){const r=t.getConfig("firstWordExceptions"),n=t.getConfig("secondWordExceptions"),s=t.getHelper("getWordsCustomHelper"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a),a=a.replace(/[\s\n]+/g," "),a=a.replace(/.*<\/figure>/gs,""),a=a.replace(/]+)?>(.*?)<\/li>/gi,"");let o=vr(a,i),l=o.map((function(e){return function(e,t,r,n){const s=mt(Ve(e)),i=n?n(s):It(s);if(0===i.length)return"";let a=i[0].toLocaleLowerCase();return t.indexOf(a)>-1&&i.length>1&&(a=a+" "+i[1],r&&r.includes(i[1])&&(a=a+" "+i[2])),a}(e,r,n,s)}));return o=o.filter((function(e){const t=Ve(e);return(s?s(t):It(t)).length>0})),l=Object(T.filter)(l),function(e,t){const r=[];let n=[],s=1;return Object(T.forEach)(e,(function(i,a){const o=i,l=e[a+1];n.push(t[a]),function(e,t){return!Object(T.isEmpty)(e)&&e===t}(o,l)?s++:(r.push({word:o,count:s,sentences:n}),s=1,n=[])})),r}(l,o)},ns=function(e,t){let r=e.getText();r=kr(r),r=ze(r);const n=function(e){const t=[...e.matchAll(new RegExp("]+)?>(.*?)<\\/h\\1>","ig"))],r=[];return t.forEach((e,n)=>{const s=e[0],i=e.index,a=t[n+1];let o;o=Object(T.isUndefined)(a)?e.input.length:a.index;const l=e.input.slice(i+s.length,o);r.push({subheading:s,text:l,index:i})}),r}(r),s=t.getHelper("customCountLength"),i=[];Object(T.forEach)(n,(function(e){i.push({subheading:e.subheading,text:e.text,countLength:s?s(e.text):br(e.text),index:e.index})}));let a=0,o="";if(i.length>0){const e=i[0];o=r.slice(0,e.index),a=s?s(o):br(o)}return a>0&&""!==o&&i.unshift({subheading:"",text:o,countLength:a}),i};const ss=/(.*?)<\/h1>/,is=function(e){return"
"===(e=e.trim())||""===e};var as=function(e){const t=e.getText();let r=ht(t);r=Object(T.reject)(r,is);const n=[];return r.forEach((e,t)=>{const r=ss.exec(e);r&&n.push({tag:"h1",content:r[1],position:t})}),n};function os(e){return rr(e).length}var ls=function(e,t){const r=t.getResearch("morphology"),n=t.getConfig("functionWords");return{keyphraseLength:r.keyphraseForms.length,functionWords:n}};const cs="[ \\u00a0\\u06d4\\u061f\\u060C\\u061B \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",us=new RegExp("^("+cs+"+)","ig"),hs=new RegExp("("+cs+"+$)","ig");var ds=function(e){const t=function(e){return e.replace(us,"")}(e);let r="",n="";if(t!==e){const n=e.search(Object(T.escapeRegExp)(t));r=e.substr(0,n)}const s=function(e){return e.replace(hs,"")}(t);if(s!==t){const e=t.search(Object(T.escapeRegExp)(s))+s.length;n=t.substr(e)}return r+""+s+" "+n};function ps(e){Object(T.defaults)(e,{original:"",marked:"",fieldsToMark:[]}),this._properties=e,this.isValid()}ps.prototype.getOriginal=function(){return this._properties.original},ps.prototype.getMarked=function(){return this._properties.marked},ps.prototype.getFieldsToMark=function(){return this._properties.fieldsToMark},ps.prototype.getPositionStart=function(){return this._properties.position&&this._properties.position.startOffset},ps.prototype.getPositionEnd=function(){return this._properties.position&&this._properties.position.endOffset},ps.prototype.applyWithReplace=function(e){return e.split(this._properties.original).join(this._properties.marked)},ps.prototype.applyWithPosition=function(e){const t="",r=this.getPositionEnd()+t.length;return(e=e.substring(0,this.getPositionStart())+t+e.substring(this.getPositionStart())).substring(0,r)+" "+e.substring(r)},ps.prototype.serialize=function(){return{_parseClass:"Mark",...this._properties}},ps.prototype.isValid=function(){if(!Object(T.isUndefined)(this.getPositionStart())&&this.getPositionStart()<0)throw new RangeError("positionStart should be larger or equal than 0.");if(!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionEnd()<=0)throw new RangeError("positionEnd should be larger than 0.");if(!Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionStart()>=this.getPositionEnd())throw new RangeError("The positionStart should be smaller than the positionEnd.");if(Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())||Object(T.isUndefined)(this.getPositionEnd())&&!Object(T.isUndefined)(this.getPositionStart()))throw new Error("A mark object should either have start and end defined or start and end undefined.")},ps.prototype.hasPosition=function(){return!!this.getPositionStart&&this.getPositionStart()},ps.parse=function(e){return delete e._parseClass,new ps(e)};var gs=ps;const fs=/(]+>)([^]*?)(<\/a>)/,ms=function(e,t,r){t=t.map(e=>Object(T.escapeRegExp)(e));const n=r?vt(t,!0):vt(t),{anchors:s,markedAnchors:i}=function(e,t){const r=bn(e),n=r.map(e=>{const{openTag:r,content:n}=function(e){const[,t,r]=e.match(fs);return{openTag:t,content:r}}(e);return function(e,t){return`${e}${t} `}(r,n.replace(t,e=>ds(e)))});return{anchors:r,markedAnchors:n}}(e,n);let a=e.replace(n,(function(e){return ds(e)}));if(s.length>0){const e=bn(a);for(let t=0;t ","ig")," ")};function _s(e,t,r,n){let s=[],i=[];return t.forEach((function(t){s=Zt(t,e,r,n).matches,s.length>0&&(i=i.concat(new gs({original:t,marked:ms(t,s,n)})))})),i}var Ts=function(e,t){const r=t.getResearch("morphology"),n=t.getHelper("memoizedTokenizer"),s=t.getHelper("matchWordCustomHelper");let i=e.getText();i=kr(i);const a=e.getLocale(),o=vr(i,n),l={count:0,matches:[],sentencesWithKeywords:[]};o.forEach(e=>{const t=r.keyphraseForms.map(t=>Zt(e,t,a,s));if(t.every(e=>e.count>0)){const r=t.map(e=>e.count),n=Object(T.flattenDeep)(t.map(e=>e.matches));l.count+=Math.min(...r),l.matches.push(n),l.sentencesWithKeywords.push(e)}});const c=Object(T.uniq)(Object(T.flattenDeep)(l.matches)).sort((e,t)=>t.length-e.length),u=Object(T.flattenDeep)(r.keyphraseForms);return{count:l.count,matches:c,markings:_s(u,l.sentencesWithKeywords,a,s),length:r.keyphraseForms.length}},Es=function(e){return e.replace(/[-_]/gi," ")};function vs(e,t){const r=function(e){let t=[];return e.keyphraseForms.forEach((function(e){-1!==e[0].indexOf("-")?t=1===e.length?function(e,t){return e.forEach((function(e){e.split("-").forEach(e=>t.push([e]))})),t}(e,t):function(e,t){const r=e[0].split("-").length;for(let e=0;ee[0])}(s);return 0!==l.length&&(o.count=l.length,o.matches=function(e,t,r,n,s,i){return t.filter(t=>{const r=tr(e,t,!0,n,i);return 0===s.length?100===r.percentWordMatches:r.percentWordMatches>50}).length}(i,l,0,a,r,n),o.percentReflectingTopic=o.matches/o.count*100),o}const As=function(e,t,r){return t.forEach(t=>t.matches.slice(0,r).forEach(t=>{e=e.replace(t,"")})),e};var Os=function(e,t){const r=e.getDescription(),n=e.getLocale(),s=t.getResearch("morphology"),i=t.getHelper("matchWordCustomHelper"),a=t.getHelper("memoizedTokenizer");return vr(r,a).map(e=>function(e,t,r,n){const s=t.keyphraseForms.map(t=>Zt(e,t,r,n)),i=Math.min(...s.map(e=>e.count));return e=As(e,s,i),[i,...t.synonymsForms.map(t=>{const i=t.map(t=>Zt(e,t,r,n)),a=Math.min(...i.map(e=>e.count));return e=As(e,s,a),a})].reduce((e,t)=>e+t,0)}(e,s,n,i)).reduce((e,t)=>e+t,0)},Cs=function(e,t){let r=t.length;return""!==e&&r>0&&(r+=e.length+3),r};function ws(e){return Cs(e.getDate(),e.getDescription())}function Ss(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.stemOriginalPairs=e,this.exactMatch=t}function ks(e,t){this.stem=e,this.original=t}Ss.prototype.getStems=function(){return this.exactMatch?[]:this.stemOriginalPairs.map(e=>e.stem)};const Ns=function(e,t,r){if(Object(T.isUndefined)(e)||""===e)return new Ss;const n=["“","”","〝","〞","〟","‟","„",'"'];if(Object(T.includes)(n,e[0])&&Object(T.includes)(n,e[e.length-1]))return e=e.substring(1,e.length-1),new Ss([new ks(Object(T.escapeRegExp)(e),e)],!0);let s=It(e);const i=s.filter(e=>!r.includes(e));return i.length>0&&(s=i),new Ss(s.map(e=>new ks(t(Qt(Object(T.escapeRegExp)(e))),e)))},Rs=Object(T.memoize)((e,t)=>Object(T.memoize)((r,n)=>function(e,t,r,n){return{keyphraseStems:Ns(e,r,n),synonymsStems:t.map(e=>Ns(e,r,n))}}(r,n,e,t),(e,t)=>e+","+t.join(",")));function Is(e,t){this.stem=e,this.forms=t}function xs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.keyphraseForms=e,this.synonymsForms=t}function Ds(e,t,r){return 0===e.stemOriginalPairs.length?[]:e.exactMatch?[[e.stemOriginalPairs[0].stem]]:e.stemOriginalPairs.map((function(e){return function(e,t,r){const n=t.find(t=>t.stem===e.stem),s=Qt(Object(T.escapeRegExp)(e.original)),i=n?[s,...n.forms]:[s];return r&&i.push(...r(e.original)),Object(T.uniq)(i)}(e,t,r)}))}var Ls=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getStemmer")(t),s=t.getHelper("createBasicWordForms"),i=t.getConfig("language"),a=function(e){const t=e.getText(),r=rr(e).map(e=>Pt(e)),n=[t,e.getTitle(),e.getSlug(),Es(e.getSlug()),e.getDescription(),r.join(" ")].join(" ");return It(n).map(e=>Qt(Object(T.escapeRegExp)(e)))}(e).map(e=>e.toLocaleLowerCase(i));return function(e,t,r,n,s,i){const a=function(e,t,r,n){return Rs(r,n)(e,t)}(e,t,s,n),o=a.keyphraseStems,l=a.synonymsStems;if(0===o.stemOriginalPairs.length&&0===l.length)return new xs;if([o,...l].every(e=>!0===e.exactMatch))return new xs([[o.stemOriginalPairs[0].stem]],l.map(e=>[[e.stemOriginalPairs[0].stem]]));const c=Object(T.uniq)(function(e,t){const r=0===e.stemOriginalPairs.length?[]:e.getStems(),n=0===t.length?[]:t.map(e=>e.getStems());return[...r,...Object(T.flattenDeep)(n)]}(o,l)),u=Object(T.uniq)(r.filter(e=>!n.includes(e))).map(e=>new ks(s(e),e)).filter(e=>c.includes(e.stem)).sort((e,t)=>e.stem.localeCompare(t.stem)).reduce((function(e,t){const r=e[e.length-1];return 0===e.length||r.stem!==t.stem?e.push(new Is(t.stem,[t.original])):r.forms.push(t.original),e}),[]);return new xs(Ds(o,u,i),l.map(e=>Ds(e,u,i)))}(e.getKeyword().toLocaleLowerCase(i).trim(),zr(e.getSynonyms().toLocaleLowerCase(i).trim()),a,r,n,s)},Ms=function(e){return e.hasTitle()?e.getTitleWidth():0},Ps=function(e){let t=e.getText();return t=kr(t),{text:t,count:br(t),unit:"word"}},Fs=function(e,t){const r=A(e.getLocale()),n=t.getHelper("getWordsCustomHelper"),s=t.getHelper("wordsCharacterCount"),i={ar:138,cn:158,de:179,en:228,es:218,fi:161,fr:195,he:187,it:188,nl:202,pl:166,pt:181,ru:184,sl:180,sv:199,tr:166},a=i[r],o={ja:357}[r];let l,c=Ps(e).count;o?(c=s(n(e.getText())),l=c/o):l=a?c/a:c/(Object.values(i).reduce((e,t)=>e+t)/Object.keys(i).length);const u=os(e);return Math.ceil(l+.2*u)},js=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),vr(n,r)};function Bs(e){const t=new RegExp("()","igs");let r=e.getText().match(t);return null===r&&(r=[]),r.length}class Us{constructor(e){this.paper=e,this.defaultResearches={altTagCount:nr,countSentencesFromText:Nr,findKeywordInFirstParagraph:Rr,findKeyphraseInSEOTitle:Mr,findTransitionWords:$r,functionWordsInKeyphrase:Kr,getAnchorsWithKeyphrase:ln,getFleschReadingScore:En,getKeywordDensity:vn,getLinks:yn,getLinkStatistics:Cn,getParagraphs:Rn,getParagraphLength:In,getProminentWordsForInsights:Xn,getProminentWordsForInternalLinking:ts,getSentenceBeginnings:rs,getSubheadingTextLengths:ns,h1s:as,imageCount:os,keyphraseLength:ls,keywordCount:Ts,keywordCountInSlug:vs,keywordCountInUrl:bs,matchKeywordInSubheadings:ys,metaDescriptionKeyword:Os,metaDescriptionLength:ws,morphology:Ls,pageTitleWidth:Ms,readingTime:Fs,sentences:js,wordCountInText:Ps,videoCount:Bs,getPassiveVoiceResult:Pn},this._data={},this.customResearches={},this.helpers={memoizedTokenizer:_r},this.config={}}setPaper(e){this.paper=e}addResearch(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.customResearches[e]=t}addHelper(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Helper name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.helpers[e]=t}addConfig(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Failed to add the custom researcher config. Config name cannot be empty.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to add the custom researcher config. Config cannot be empty.");this.config[e]=t}hasResearch(e){return Object.keys(this.getAvailableResearches()).filter((function(t){return t===e})).length>0}hasHelper(e){return Object.keys(this.getAvailableHelpers()).filter((function(t){return t===e})).length>0}hasConfig(e){return Object.keys(this.getAvailableConfig()).filter((function(t){return t===e})).length>0}getAvailableResearches(){return Object(T.merge)(this.defaultResearches,this.customResearches)}getAvailableHelpers(){return this.helpers}getAvailableConfig(){return this.config}getResearch(e){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");return!!this.hasResearch(e)&&this.getAvailableResearches()[e](this.paper,this)}addResearchData(e,t){this._data[e]=t}getData(e){return!!this._data.hasOwnProperty(e)&&this._data[e]}getConfig(e){return!!this.config.hasOwnProperty(e)&&this.config[e]}getHelper(e){return!!this.helpers.hasOwnProperty(e)&&this.helpers[e]}}function Hs(e){return Object(T.flatten)(Object.values(e)).sort((e,t)=>t.length-e.length||e.localeCompare(t))}function $s(e,t){let r=0;const n=e.length;let s;const i=[];for(;(s=t.indexOf(e,r))>-1;){const a=Fr(t[s-1])||0===s,o=Fr(t[s+n])||t.length===s+n;a&&o&&i.push({index:s,match:e}),r=s+n}return i}const Ks=function(e,t){let r=[];return Object(T.forEach)(e,(function(e){e=Ve(e),jr(e,t)&&(r=r.concat($s(e,t)))})),r},qs=function(e){return e.sort((function(e,t){return e.index-t.index}))},Gs=function(e){e=qs(e);const t=[];for(let r=0;rt.index?1:0})),r};var Ws={getIndicesByWord:$s,getIndicesByWordList:Ks,filterIndices:Gs,sortIndices:qs,getIndicesByWordListSorted:zs};function Ys(e,t){if(t.includes(null))return e;for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:"i";return 2===e.length?{reg:new RegExp(e[0],t),repl:e[1]}:3===e.length?{reg:new RegExp(e[0],t),repl1:e[1],repl2:e[2]}:null};var Qs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"i";return e.map(e=>Vs(e,t))};function Xs(e,t){let r=[];return t.forEach((function(t){const n=e.match(t);null!==n&&r.push(n)})),r=Object(T.flattenDeep)(r),r}var Js=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;const i=n[s-1];return Object(T.includes)(r,i)},Zs=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;for(let e=0;ee.indexe.index>c.index&&e.index 0};function ri(e,t){const r=[];for(const n in t)e.endsWith(t[n])&&r.push(t[n]);return r.sort((function(e,t){return t.length-e.length}))[0]||""}function ni(e,t){return RegExp(t).test(e)}function si(e,t){for(const r of t)if(-1!==e.search(new RegExp(r[0])))return e.replace(new RegExp(r[0]),r[1])}function ii(e,t){return t.forEach((function(t){e=e.replace(new RegExp(t[0]),t[1])})),e}function ai(e,t){for(let r=0;re.startsWith(t));let s="";return"string"==typeof n&&(s=e.slice(n.length),s.length>2&&(e=s)),t.includes(e)}function li(e,t){for(const r of e){const e=r.find(e=>t.endsWith(e));if(e)return t.slice(0,t.length-e.length)+r[0]}}function ci(e,t,r){for(let n=0;n2&&void 0!==arguments[2])||arguments[2];const n=r?1:0;if(Object(T.isEmpty)(e))return!1;const s=[];return Object(T.forEach)(e,(function(e){const t=e.index+e.match.length+n;s.push(t)})),Object(T.includes)(s,t)};const fi=function(e,t,r){const n=ei(e,r);return Object(T.forEach)(t,(function(e){gi(n,e.index)&&(t=t.filter((function(t){return t.index!==e.index})))})),t},mi=function(e,t){const{auxiliaryRegex:r,directPrecedenceExceptionRegex:n,followingAuxiliaryExceptionRegex:s}=t;let i=e.match(r)||[];if(void 0!==n||void 0!==s){let t=Ks(i,e);void 0!==n&&(t=fi(e,t,n)),t=function(e,t,r){const n=ei(e,r);return Object(T.forEach)(t,(function(e){(function(e,t){if(Object(T.isEmpty)(e))return!1;const r=t.index+t.match.length,n=[];return Object(T.forEach)(e,(function(e){n.push(e.index)})),Object(T.includes)(n,r)})(n,e)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,t,s),i=[],Object(T.forEach)(t,(function(e){i.push(e.match)}))}return Object(T.map)(i,(function(e){return Ve(e)}))};var _i=function(e,t){return function(e,t){const r=[],n=t.regexes.auxiliaryRegex;if(null===(e=Qt(e)).match(n))return r;const s=function(e,t){e=e.toLocaleLowerCase();const{regexes:r}=t;let n=Ks(t.auxiliaries,e);const s=function(e,t){let r;const n=[];for(t.lastIndex=0;null!==(r=t.exec(e));)n.push({index:r.index,match:r[0]});return n}(e,r.stopCharacterRegex);let i=Ks(t.stopwords,e);t.otherStopWordIndices&&t.otherStopWordIndices.length>0&&(i=i.concat(t.otherStopWordIndices)),void 0!==r.directPrecedenceExceptionRegex&&(n=fi(e,n,r.directPrecedenceExceptionRegex)),void 0!==r.elisionAuxiliaryExceptionRegex&&(n=function(e,t,r){const n=ei(e,r);return Object(T.forEach)(t,(function(e){gi(n,e.index,!1)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,n,r.elisionAuxiliaryExceptionRegex));let a=n.concat(i,s);return a=Gs(a),qs(a)}(e,t);for(let n=0;n{if(!Object(T.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()}))),n=[];return r.forEach(e=>{"heading"===e&&Jn(t).forEach(e=>{n.push(e[0])})}),{fieldsToMark:r,selectedHTML:n}}function bi(e){return(e=(e=e.replace(/<\/?(o|ul)(?:[^>]+)?>/g,"")).replace(/\s?<\/?li(?:[^>]+)?>\s?/g," ")).replace(/\s+/g," ")}var yi=class{getResult(e,t){throw"The method getResult is not implemented"}isApplicable(e,t){return!0}hasEnoughContentForAssessment(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=Object(T.isUndefined)(e)?"":e.getText();return r=kr(r),Et(r).length>=t}},Ai=r(173),Oi=function(){return[]},Ci=function(e){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._hasJumps=!1,this._hasEditFieldName=!1,this._marker=Oi,this._hasBetaBadge=!1,this.score=0,this.text="",this.marks=[],this.editFieldName="",Object(T.isUndefined)(e)&&(e={}),Object(T.isUndefined)(e.score)||this.setScore(e.score),Object(T.isUndefined)(e.text)||this.setText(e.text),Object(T.isUndefined)(e.marks)||this.setMarks(e.marks),Object(T.isUndefined)(e._hasBetaBadge)||this.setHasBetaBadge(e._hasBetaBadge),Object(T.isUndefined)(e._hasJumps)||this.setHasJumps(e._hasJumps),Object(T.isUndefined)(e.editFieldName)||this.setEditFieldName(e.editFieldName)};Ci.prototype.hasScore=function(){return this._hasScore},Ci.prototype.getScore=function(){return this.score},Ci.prototype.setScore=function(e){Object(T.isNumber)(e)&&(this.score=e,this._hasScore=!0)},Ci.prototype.hasText=function(){return""!==this.text},Ci.prototype.getText=function(){return this.text},Ci.prototype.setText=function(e){Object(T.isUndefined)(e)&&(e=""),this.text=e},Ci.prototype.getMarks=function(){return this.marks},Ci.prototype.setMarks=function(e){Object(T.isArray)(e)&&(this.marks=e,this._hasMarks=e.length>0)},Ci.prototype.setIdentifier=function(e){this._identifier=e},Ci.prototype.getIdentifier=function(){return this._identifier},Ci.prototype.setMarker=function(e){this._marker=e},Ci.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},Ci.prototype.getMarker=function(){return this._marker},Ci.prototype.setHasMarks=function(e){this._hasMarks=e},Ci.prototype.hasMarks=function(){return this._hasMarks},Ci.prototype.setHasBetaBadge=function(e){this._hasBetaBadge=e},Ci.prototype.hasBetaBadge=function(){return this._hasBetaBadge},Ci.prototype.setHasJumps=function(e){this._hasJumps=e},Ci.prototype.hasJumps=function(){return this._hasJumps},Ci.prototype.hasEditFieldName=function(){return this._hasEditFieldName},Ci.prototype.getEditFieldName=function(){return this.editFieldName},Ci.prototype.setEditFieldName=function(e){""!==e&&(this.editFieldName=e,this._hasEditFieldName=!0)},Ci.prototype.serialize=function(){return{_parseClass:"AssessmentResult",identifier:this._identifier,score:this.score,text:this.text,marks:this.marks.map(e=>e.serialize()),_hasBetaBadge:this._hasBetaBadge,_hasJumps:this._hasJumps,editFieldName:this.editFieldName}},Ci.parse=function(e){const t=new Ci({text:e.text,score:e.score,marks:e.marks.map(e=>gs.parse(e)),_hasBetaBadge:e._hasBetaBadge,_hasJumps:e._hasJumps,editFieldName:e.editFieldName});return t.setIdentifier(e.identifier),t};var wi=Ci,Si=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{good:9,okay:6,bad:3},urlTitle:Object(Ai.b)("https://yoa.st/33e"),urlCallToAction:Object(Ai.b)("https://yoa.st/33f")};this.identifier="introductionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new wi;this._firstParagraphMatches=t.getResearch("findKeywordInFirstParagraph");const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasKeyword()&&e.hasText()}calculateResult(){return this._firstParagraphMatches.foundInOneSentence?{score:this._config.scores.good,resultText:Object(_.sprintf)(
+window.yoast=window.yoast||{},window.yoast.analysis=function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=396)}([,,function(e,t){e.exports=window.lodash},,function(e,t){e.exports=window.wp.i18n},,,,,,,,,,,,,,function(e,t,r){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&t._extend(n,r),T(n.showHidden)&&(n.showHidden=!1),T(n.depth)&&(n.depth=2),T(n.colors)&&(n.colors=!1),T(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,e,n.depth)}function l(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function c(e,t){return e}function u(e,r,n){if(e.customInspect&&r&&A(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var s=r.inspect(n,e);return _(s)||(s=u(e,s,n)),s}var i=function(e,t){if(T(t))return e.stylize("undefined","undefined");if(_(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):g(t)?e.stylize(""+t,"boolean"):f(t)?e.stylize("null","null"):void 0}(e,r);if(i)return i;var a=Object.keys(r),o=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),y(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(r);if(0===a.length){if(A(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(E(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(b(r))return e.stylize(Date.prototype.toString.call(r),"date");if(y(r))return h(r)}var c,v="",O=!1,C=["{","}"];return p(r)&&(O=!0,C=["[","]"]),A(r)&&(v=" [Function"+(r.name?": "+r.name:"")+"]"),E(r)&&(v=" "+RegExp.prototype.toString.call(r)),b(r)&&(v=" "+Date.prototype.toUTCString.call(r)),y(r)&&(v=" "+h(r)),0!==a.length||O&&0!=r.length?n<0?E(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=O?function(e,t,r,n,s){for(var i=[],a=0,o=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,v,C)):C[0]+v+C[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,s,i){var a,o,l;if((l=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?o=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(o=e.stylize("[Setter]","special")),k(n,s)||(a="["+s+"]"),o||(e.seen.indexOf(l.value)<0?(o=f(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(o=i?o.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+o.split("\n").map((function(e){return" "+e})).join("\n")):o=e.stylize("[Circular]","special")),T(a)){if(i&&s.match(/^\d+$/))return o;(a=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function p(e){return Array.isArray(e)}function g(e){return"boolean"==typeof e}function f(e){return null===e}function m(e){return"number"==typeof e}function _(e){return"string"==typeof e}function T(e){return void 0===e}function E(e){return v(e)&&"[object RegExp]"===O(e)}function v(e){return"object"==typeof e&&null!==e}function b(e){return v(e)&&"[object Date]"===O(e)}function y(e){return v(e)&&("[object Error]"===O(e)||e instanceof Error)}function A(e){return"function"==typeof e}function O(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(T(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;a[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else a[r]=function(){};return a[r]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=g,t.isNull=f,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=_,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=T,t.isRegExp=E,t.isObject=v,t.isDate=b,t.isError=y,t.isFunction=A,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(331);var w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var e=new Date,t=[C(e.getHours()),C(e.getMinutes()),C(e.getSeconds())].join(":");return[e.getDate(),w[e.getMonth()],t].join(" ")}function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",S(),t.format.apply(t,arguments))},t.inherits=r(332),t._extend=function(e,t){if(!t||!v(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(N&&e[N]){var t;if("function"!=typeof(t=e[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,N,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),s=[],i=0;i1)for(var r=1;r1?1:a)+n[n.length-1].length};return{addRule:function(e,t){s.push({regex:e,type:t})},onText:function(e){for(var r=t+e,i=n(s,r);i&&i.max_index!==r.length;)o(r.substring(0,i.max_index),i.rule.type),r=r.substring(i.max_index),i=n(s,r);t=r},end:function(){if(0!==t.length){var e=r(s,t);if(!e){var n=new Error("unable to tokenize");throw n.tokenizer2={buffer:t,line:i,col:a},n}o(t,e.type)}}}}},,,,,,,,,,,function(e,t,r){r(159),e.exports=r(339)},function(e,t,r){e.exports=r(342)},function(e,t){e.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(e){return"tag"===e.type||"script"===e.type||"style"===e.type}}},,,,,,,function(e,t,r){(function(e,r){(function(){var n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")(),a=t&&!t.nodeType&&t,o=a&&"object"==typeof r&&r&&!r.nodeType&&r,l=/[&<>"']/g,c=RegExp(l.source);n="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=n||s||Function("return this")();var u,h=(u={"&":"&","<":"<",">":">",'"':""","'":"'"},function(e){return null==u?void 0:u[e]}),d=Object.prototype,p=d.hasOwnProperty,g=d.toString,f=i.Symbol,m=f?f.toStringTag:void 0,_=f?f.prototype:void 0,T=_?_.toString:void 0;function E(e){if("string"==typeof e)return e;if(v(e))return function(e,t){for(var r=-1,n=null==e?0:e.length,s=Array(n);++r\n ',t)a+='\n \n \n ',t[l].marker&&(a+='\n \n ',r?a+=null==(i=n.disabledMarkText)?"":i:t[l].identifier===s?a+=null==(i=n.removeMarksInText)?"":i:a+=null==(i=n.markInText)?"":i,a+="\n \n "),a+='\n \n \n '+(null==(i=t[l].screenReaderText)?"":i)+' \n '+(null==(i=t[l].text)?"":i)+" \n \n ";return a+"\n\n"},hiddenSpan:function(e){e||(e={});const{whiteSpace:t,width:r}=e;var n="",s=b;return Array.prototype.join,n+='\n\n \n'},relevantWords:function(e){e||(e={});const{words:t}=e;var r,n="";for(var s in Array.prototype.join,n+="\n \n Word \n Density \n Occurrences \n Length \n Relevant word percentage \n Length bonus \n Multiplier \n Relevance \n \n ",t)n+="\n \n "+(null==(r=t[s].word)?"":r)+" \n "+(null==(r=t[s].density)?"":r)+" \n "+(null==(r=t[s].occurrences)?"":r)+" \n "+(null==(r=t[s].length)?"":r)+" \n "+(null==(r=t[s].relevantWordPercentage)?"":r)+" \n "+(null==(r=t[s].lengthBonus)?"":r)+" \n "+(null==(r=t[s].multiplier)?"":r)+" \n "+(null==(r=t[s].relevance)?"":r)+" \n \n ";return n+"\n
\n"},snippetEditor:function(e){e||(e={});const{i18n:t,rendered:r,metaDescriptionDate:n,raw:s,placeholder:i}=e;var a="",o=b;return Array.prototype.join,a+='\n\t
\n\t\t'+o(t.snippetPreview)+' \n\t'+o(t.snippetPreviewDescription)+'
\n\n\t\t\n\t\t\t
\n\t\t\t\t'+o(t.titleLabel)+' \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.title)+'\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.slugLabel)+' \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(r.baseUrl)+'\n\t\t\t\t\t \n\t\t\t\t\t\t'+o(r.snippetCite)+'\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t'+o(t.metaDescriptionLabel)+" \n\t\t\t\t",""!==n&&(a+='\n\t\t\t\t\t\n\t\t\t\t\t\t'+o(n)+" -\n\t\t\t\t\t \n\t\t\t\t"),a+'\n\t\t\t\t\n\t\t\t\t\t'+o(r.meta)+"\n\t\t\t\t \n\t\t\t
\n\t\t
\n\n\t\t\n\t\t\t"+o(t.isScrollableHint)+' \n\t\t
\n\n\t\t\n\t\t\t \n\t\t\t \n\t\t
\n\t\t\n\t\t\t'+o(t.edit)+'\n\t\t \n\t \n\n\t
\n
\n"}};o?((o.exports=y).templates=y,a.templates=y):i.templates=y}).call(this)}).call(this,r(20),r(172)(e))},function(e,t,r){"use strict";var n=r(378),s=r(379);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=E,t.resolve=function(e,t){return E(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?E(e,!1,!0).resolveObject(t):t},t.format=function(e){return s.isString(e)&&(e=E(e)),e instanceof i?e.format():i.prototype.format.call(e)},t.Url=i;var a=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(c),h=["%","/","?",";","#"].concat(u),d=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,g=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,f={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},_={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},T=r(380);function E(e,t,r){if(e&&s.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}i.prototype.parse=function(e,t,r){if(!s.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),o=-1!==i&&i127?D+="x":D+=x[L];if(!D.match(p)){var P=R.slice(0,S),F=R.slice(S+1),j=x.match(g);j&&(P.push(j[1]),F.unshift(j[2])),F.length&&(E="/"+F.join(".")+E),this.hostname=P.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),N||(this.hostname=n.toASCII(this.hostname));var B=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+B,this.href+=this.host,N&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==E[0]&&(E="/"+E))}if(!f[y])for(S=0,I=u.length;S0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),r.search=e.search,r.query=e.query,s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!A.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var C=A.slice(-1)[0],w=(r.host||e.host||A.length>1)&&("."===C||".."===C)||""===C,S=0,k=A.length;k>=0;k--)"."===(C=A[k])?A.splice(k,1):".."===C?(A.splice(k,1),S++):S&&(A.splice(k,1),S--);if(!b&&!y)for(;S--;S)A.unshift("..");!b||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),w&&"/"!==A.join("/").substr(-1)&&A.push("");var N,R=""===A[0]||A[0]&&"/"===A[0].charAt(0);return O&&(r.hostname=r.host=R?"":A.length?A.shift():"",(N=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=N.shift(),r.host=r.hostname=N.shift())),(b=b||r.host&&A.length)&&!R&&A.unshift(""),A.length?r.pathname=A.join("/"):(r.pathname=null,r.path=null),s.isNull(r.pathname)&&s.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},,,,,,,,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},function(e,t,r){"use strict";const n=r(384),s=r(103),i=r(385),a=r(104),o=s.CODE_POINTS,l=s.CODE_POINT_SEQUENCES,c={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},u="DATA_STATE";function h(e){return e===o.SPACE||e===o.LINE_FEED||e===o.TABULATION||e===o.FORM_FEED}function d(e){return e>=o.DIGIT_0&&e<=o.DIGIT_9}function p(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_Z}function g(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_Z}function f(e){return g(e)||p(e)}function m(e){return f(e)||d(e)}function _(e){return e>=o.LATIN_CAPITAL_A&&e<=o.LATIN_CAPITAL_F}function T(e){return e>=o.LATIN_SMALL_A&&e<=o.LATIN_SMALL_F}function E(e){return e+32}function v(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function b(e){return String.fromCharCode(E(e))}function y(e,t){const r=i[++e];let n=++e,s=n+r-1;for(;n<=s;){const e=n+s>>>1,a=i[e];if(at))return i[e+r];s=e-1}}return-1}class A{constructor(){this.preprocessor=new n,this.tokenQueue=[],this.allowCDATA=!1,this.state=u,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}_err(){}_errOnNextCodePoint(e){this._consume(),this._err(e),this._unconsume()}getNextToken(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}write(e,t){this.active=!0,this.preprocessor.write(e,t)}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:A.HIBERNATION_TOKEN}),!0}return!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}_reconsumeInState(e){this.state=e,this._unconsume()}_consumeSequenceIfMatch(e,t,r){let n=0,s=!0;const i=e.length;let a=0,l=t,c=void 0;for(;a0&&(l=this._consume(),n++),l===o.EOF){s=!1;break}if(c=e[a],l!==c&&(r||l!==E(c))){s=!1;break}}if(!s)for(;n--;)this._unconsume();return s}_isTempBufferEqualToScriptString(){if(this.tempBuff.length!==l.SCRIPT_STRING.length)return!1;for(let e=0;e0&&this._err(a.endTagWithAttributes),e.selfClosing&&this._err(a.endTagWithTrailingSolidus)),this.tokenQueue.push(e)}_emitCurrentCharacterToken(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}_emitEOFToken(){this._createEOFToken(),this._emitCurrentToken()}_appendCharToCurrentCharacterToken(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}_emitCodePoint(e){let t=A.CHARACTER_TOKEN;h(e)?t=A.WHITESPACE_CHARACTER_TOKEN:e===o.NULL&&(t=A.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(t,v(e))}_emitSeveralCodePoints(e){for(let t=0;t-1;){const e=i[n],s=e<7;s&&1&e&&(t=2&e?[i[++n],i[++n]]:[i[++n]],r=0);const a=this._consume();if(this.tempBuff.push(a),r++,a===o.EOF)break;n=s?4&e?y(n,a):-1:a===e?++n:-1}for(;r--;)this.tempBuff.pop(),this._unconsume();return t}_isCharacterReferenceInAttribute(){return"ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE"===this.returnState||"ATTRIBUTE_VALUE_UNQUOTED_STATE"===this.returnState}_isCharacterReferenceAttributeQuirk(e){if(!e&&this._isCharacterReferenceInAttribute()){const e=this._consume();return this._unconsume(),e===o.EQUALS_SIGN||m(e)}return!1}_flushCodePointsConsumedAsCharacterReference(){if(this._isCharacterReferenceInAttribute())for(let e=0;e")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE"):f(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE")):(this._emitChars("<"),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))}SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE(e){f(e)?(this._createEndTagToken(),this._reconsumeInState("SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE")):(this._emitChars(""),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE"))}SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE(e){if(p(e))this.currentToken.tagName+=b(e),this.tempBuff.push(e);else if(g(e))this.currentToken.tagName+=v(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(h(e))return void(this.state="BEFORE_ATTRIBUTE_NAME_STATE");if(e===o.SOLIDUS)return void(this.state="SELF_CLOSING_START_TAG_STATE");if(e===o.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=u)}this._emitChars(""),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE")}}SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?"SCRIPT_DATA_DOUBLE_ESCAPED_STATE":"SCRIPT_DATA_ESCAPED_STATE",this._emitCodePoint(e)):p(e)?(this.tempBuff.push(E(e)),this._emitCodePoint(e)):g(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState("SCRIPT_DATA_ESCAPED_STATE")}SCRIPT_DATA_DOUBLE_ESCAPED_STATE(e){e===o.HYPHEN_MINUS?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",this._emitChars("-")):e===o.LESS_THAN_SIGN?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",this._emitChars("<")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):this._emitCodePoint(e)}SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE(e){e===o.HYPHEN_MINUS?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",this._emitChars("-")):e===o.LESS_THAN_SIGN?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",this._emitChars("<")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE(e){e===o.HYPHEN_MINUS?this._emitChars("-"):e===o.LESS_THAN_SIGN?(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",this._emitChars("<")):e===o.GREATER_THAN_SIGN?(this.state="SCRIPT_DATA_STATE",this._emitChars(">")):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitChars(s.REPLACEMENT_CHARACTER)):e===o.EOF?(this._err(a.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e))}SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE(e){e===o.SOLIDUS?(this.tempBuff=[],this.state="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",this._emitChars("/")):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?"SCRIPT_DATA_ESCAPED_STATE":"SCRIPT_DATA_DOUBLE_ESCAPED_STATE",this._emitCodePoint(e)):p(e)?(this.tempBuff.push(E(e)),this._emitCodePoint(e)):g(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState("SCRIPT_DATA_DOUBLE_ESCAPED_STATE")}BEFORE_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?this._reconsumeInState("AFTER_ATTRIBUTE_NAME_STATE"):e===o.EQUALS_SIGN?(this._err(a.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state="ATTRIBUTE_NAME_STATE"):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}ATTRIBUTE_NAME_STATE(e){h(e)||e===o.SOLIDUS||e===o.GREATER_THAN_SIGN||e===o.EOF?(this._leaveAttrName("AFTER_ATTRIBUTE_NAME_STATE"),this._unconsume()):e===o.EQUALS_SIGN?this._leaveAttrName("BEFORE_ATTRIBUTE_VALUE_STATE"):p(e)?this.currentAttr.name+=b(e):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN?(this._err(a.unexpectedCharacterInAttributeName),this.currentAttr.name+=v(e)):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.name+=s.REPLACEMENT_CHARACTER):this.currentAttr.name+=v(e)}AFTER_ATTRIBUTE_NAME_STATE(e){h(e)||(e===o.SOLIDUS?this.state="SELF_CLOSING_START_TAG_STATE":e===o.EQUALS_SIGN?this.state="BEFORE_ATTRIBUTE_VALUE_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState("ATTRIBUTE_NAME_STATE")))}BEFORE_ATTRIBUTE_VALUE_STATE(e){h(e)||(e===o.QUOTATION_MARK?this.state="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE":e===o.APOSTROPHE?this.state="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.missingAttributeValue),this.state=u,this._emitCurrentToken()):this._reconsumeInState("ATTRIBUTE_VALUE_UNQUOTED_STATE"))}ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE":e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}ATTRIBUTE_VALUE_UNQUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.AMPERSAND?(this.returnState="ATTRIBUTE_VALUE_UNQUOTED_STATE",this.state="CHARACTER_REFERENCE_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentAttr.value+=s.REPLACEMENT_CHARACTER):e===o.QUOTATION_MARK||e===o.APOSTROPHE||e===o.LESS_THAN_SIGN||e===o.EQUALS_SIGN||e===o.GRAVE_ACCENT?(this._err(a.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=v(e)):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):this.currentAttr.value+=v(e)}AFTER_ATTRIBUTE_VALUE_QUOTED_STATE(e){h(e)?this._leaveAttrValue("BEFORE_ATTRIBUTE_NAME_STATE"):e===o.SOLIDUS?this._leaveAttrValue("SELF_CLOSING_START_TAG_STATE"):e===o.GREATER_THAN_SIGN?(this._leaveAttrValue(u),this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.missingWhitespaceBetweenAttributes),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}SELF_CLOSING_START_TAG_STATE(e){e===o.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInTag),this._emitEOFToken()):(this._err(a.unexpectedSolidusInTag),this._reconsumeInState("BEFORE_ATTRIBUTE_NAME_STATE"))}BOGUS_COMMENT_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):this.currentToken.data+=v(e)}MARKUP_DECLARATION_OPEN_STATE(e){this._consumeSequenceIfMatch(l.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state="COMMENT_START_STATE"):this._consumeSequenceIfMatch(l.DOCTYPE_STRING,e,!1)?this.state="DOCTYPE_STATE":this._consumeSequenceIfMatch(l.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state="CDATA_SECTION_STATE":(this._err(a.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state="BOGUS_COMMENT_STATE"):this._ensureHibernation()||(this._err(a.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState("BOGUS_COMMENT_STATE"))}COMMENT_START_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_START_DASH_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):this._reconsumeInState("COMMENT_STATE")}COMMENT_START_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.GREATER_THAN_SIGN?(this._err(a.abruptClosingOfEmptyComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_DASH_STATE":e===o.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state="COMMENT_LESS_THAN_SIGN_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.data+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=v(e)}COMMENT_LESS_THAN_SIGN_STATE(e){e===o.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state="COMMENT_LESS_THAN_SIGN_BANG_STATE"):e===o.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE":this._reconsumeInState("COMMENT_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE":this._reconsumeInState("COMMENT_END_DASH_STATE")}COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE(e){e!==o.GREATER_THAN_SIGN&&e!==o.EOF&&this._err(a.nestedComment),this._reconsumeInState("COMMENT_END_STATE")}COMMENT_END_DASH_STATE(e){e===o.HYPHEN_MINUS?this.state="COMMENT_END_STATE":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_STATE(e){e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EXCLAMATION_MARK?this.state="COMMENT_END_BANG_STATE":e===o.HYPHEN_MINUS?this.currentToken.data+="-":e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState("COMMENT_STATE"))}COMMENT_END_BANG_STATE(e){e===o.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state="COMMENT_END_DASH_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.incorrectlyClosedComment),this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState("COMMENT_STATE"))}DOCTYPE_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingWhitespaceBeforeDoctypeName),this._reconsumeInState("BEFORE_DOCTYPE_NAME_STATE"))}BEFORE_DOCTYPE_NAME_STATE(e){h(e)||(p(e)?(this._createDoctypeToken(b(e)),this.state="DOCTYPE_NAME_STATE"):e===o.NULL?(this._err(a.unexpectedNullCharacter),this._createDoctypeToken(s.REPLACEMENT_CHARACTER),this.state="DOCTYPE_NAME_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(v(e)),this.state="DOCTYPE_NAME_STATE"))}DOCTYPE_NAME_STATE(e){h(e)?this.state="AFTER_DOCTYPE_NAME_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):p(e)?this.currentToken.name+=b(e):e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.name+=s.REPLACEMENT_CHARACTER):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=v(e)}AFTER_DOCTYPE_NAME_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(l.PUBLIC_STRING,e,!1)?this.state="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE":this._consumeSequenceIfMatch(l.SYSTEM_STRING,e,!1)?this.state="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE":this._ensureHibernation()||(this._err(a.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.publicId="",this.state="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.publicId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=v(e)}AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE(e){h(e)?this.state="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE":e===o.GREATER_THAN_SIGN?(this.state=u,this._emitCurrentToken()):e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE(e){h(e)?this.state="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.QUOTATION_MARK?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this._err(a.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE"))}BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.QUOTATION_MARK?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE"):e===o.APOSTROPHE?(this.currentToken.systemId="",this.state="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE"):e===o.GREATER_THAN_SIGN?(this._err(a.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=u,this._emitCurrentToken()):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE(e){e===o.QUOTATION_MARK?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE(e){e===o.APOSTROPHE?this.state="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE":e===o.NULL?(this._err(a.unexpectedNullCharacter),this.currentToken.systemId+=s.REPLACEMENT_CHARACTER):e===o.GREATER_THAN_SIGN?(this._err(a.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=v(e)}AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE(e){h(e)||(e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.EOF?(this._err(a.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(a.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState("BOGUS_DOCTYPE_STATE")))}BOGUS_DOCTYPE_STATE(e){e===o.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=u):e===o.NULL?this._err(a.unexpectedNullCharacter):e===o.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}CDATA_SECTION_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_BRACKET_STATE":e===o.EOF?(this._err(a.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}CDATA_SECTION_BRACKET_STATE(e){e===o.RIGHT_SQUARE_BRACKET?this.state="CDATA_SECTION_END_STATE":(this._emitChars("]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CDATA_SECTION_END_STATE(e){e===o.GREATER_THAN_SIGN?this.state=u:e===o.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState("CDATA_SECTION_STATE"))}CHARACTER_REFERENCE_STATE(e){this.tempBuff=[o.AMPERSAND],e===o.NUMBER_SIGN?(this.tempBuff.push(e),this.state="NUMERIC_CHARACTER_REFERENCE_STATE"):m(e)?this._reconsumeInState("NAMED_CHARACTER_REFERENCE_STATE"):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}NAMED_CHARACTER_REFERENCE_STATE(e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[o.AMPERSAND];else if(t){const e=this.tempBuff[this.tempBuff.length-1]===o.SEMICOLON;this._isCharacterReferenceAttributeQuirk(e)||(e||this._errOnNextCodePoint(a.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state="AMBIGUOS_AMPERSAND_STATE"}AMBIGUOS_AMPERSAND_STATE(e){m(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=v(e):this._emitCodePoint(e):(e===o.SEMICOLON&&this._err(a.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}NUMERIC_CHARACTER_REFERENCE_STATE(e){this.charRefCode=0,e===o.LATIN_SMALL_X||e===o.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE"):this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_START_STATE")}HEXADEMICAL_CHARACTER_REFERENCE_START_STATE(e){!function(e){return d(e)||_(e)||T(e)}(e)?(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState("HEXADEMICAL_CHARACTER_REFERENCE_STATE")}DECIMAL_CHARACTER_REFERENCE_START_STATE(e){d(e)?this._reconsumeInState("DECIMAL_CHARACTER_REFERENCE_STATE"):(this._err(a.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}HEXADEMICAL_CHARACTER_REFERENCE_STATE(e){_(e)?this.charRefCode=16*this.charRefCode+e-55:T(e)?this.charRefCode=16*this.charRefCode+e-87:d(e)?this.charRefCode=16*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}DECIMAL_CHARACTER_REFERENCE_STATE(e){d(e)?this.charRefCode=10*this.charRefCode+e-48:e===o.SEMICOLON?this.state="NUMERIC_CHARACTER_REFERENCE_END_STATE":(this._err(a.missingSemicolonAfterCharacterReference),this._reconsumeInState("NUMERIC_CHARACTER_REFERENCE_END_STATE"))}NUMERIC_CHARACTER_REFERENCE_END_STATE(){if(this.charRefCode===o.NULL)this._err(a.nullCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(a.characterReferenceOutsideUnicodeRange),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isSurrogate(this.charRefCode))this._err(a.surrogateCharacterReference),this.charRefCode=o.REPLACEMENT_CHARACTER;else if(s.isUndefinedCodePoint(this.charRefCode))this._err(a.noncharacterCharacterReference);else if(s.isControlCodePoint(this.charRefCode)||this.charRefCode===o.CARRIAGE_RETURN){this._err(a.controlCharacterReference);const e=c[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}A.CHARACTER_TOKEN="CHARACTER_TOKEN",A.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",A.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",A.START_TAG_TOKEN="START_TAG_TOKEN",A.END_TAG_TOKEN="END_TAG_TOKEN",A.COMMENT_TOKEN="COMMENT_TOKEN",A.DOCTYPE_TOKEN="DOCTYPE_TOKEN",A.EOF_TOKEN="EOF_TOKEN",A.HIBERNATION_TOKEN="HIBERNATION_TOKEN",A.MODE={DATA:u,RCDATA:"RCDATA_STATE",RAWTEXT:"RAWTEXT_STATE",SCRIPT_DATA:"SCRIPT_DATA_STATE",PLAINTEXT:"PLAINTEXT_STATE"},A.getTokenAttr=function(e,t){for(let r=e.attrs.length-1;r>=0;r--)if(e.attrs[r].name===t)return e.attrs[r].value;return null},e.exports=A},,,,,,,,,,,,,,,,,function(e,t,r){r(334),e.exports=r(160)},function(e,t){e.exports=function(e,t,r){var n="";if(n+=e.name||"Error",n+=": "+(e.message||""),r instanceof Array)for(var s in r)n+="\n # "+r[s];for(var i in t)n+="\n at "+t[i].toString();return n}},function(e,t,r){"use strict";const n=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="�",t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533},t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]},t.isSurrogate=function(e){return e>=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},function(e,t,r){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e,t){super(e),this.posTracker=null,this.onParseError=t.onParseError}_setErrorLocation(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}_reportError(e){const t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}_getOverriddenMethods(e){return{_err(t){e._reportError(t)}}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){e.exports=r(333)},function(e,t,r){r(101).check("es5")},function(e,t,r){var n=new(r(335)),s=function(e){return n.test(e)};s.define=function(e,t){n.define(e,t)},s.check=function(e){n.check(e)},s.test=s,e.exports=s},function(e,t,r){var n=r(162),s={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},i={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:{option:!0},optgroup:{optgroup:!0}},a={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},o={__proto__:null,math:!0,svg:!0},l={__proto__:null,mi:!0,mo:!0,mn:!0,ms:!0,mtext:!0,"annotation-xml":!0,foreignObject:!0,desc:!0,title:!0},c=/\s|\//;function u(e,t){this._options=t||{},this._cbs=e||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this._foreignContext=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(n=this._options.Tokenizer),this._tokenizer=new n(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}r(83)(u,r(353).EventEmitter),u.prototype._updatePosition=function(e){null===this.endIndex?this._tokenizer._sectionStart<=e?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},u.prototype.ontext=function(e){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(e)},u.prototype.onopentagname=function(e){if(this._lowerCaseTagNames&&(e=e.toLowerCase()),this._tagname=e,!this._options.xmlMode&&e in i)for(var t;(t=this._stack[this._stack.length-1])in i[e];this.onclosetag(t));!this._options.xmlMode&&e in a||(this._stack.push(e),e in o?this._foreignContext.push(!0):e in l&&this._foreignContext.push(!1)),this._cbs.onopentagname&&this._cbs.onopentagname(e),this._cbs.onopentag&&(this._attribs={})},u.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in a&&this._cbs.onclosetag(this._tagname),this._tagname=""},u.prototype.onclosetag=function(e){if(this._updatePosition(1),this._lowerCaseTagNames&&(e=e.toLowerCase()),(e in o||e in l)&&this._foreignContext.pop(),!this._stack.length||e in a&&!this._options.xmlMode)this._options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this._closeCurrentTag());else{var t=this._stack.lastIndexOf(e);if(-1!==t)if(this._cbs.onclosetag)for(t=this._stack.length-t;t--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=t;else"p"!==e||this._options.xmlMode||(this.onopentagname(e),this._closeCurrentTag())}},u.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing||this._foreignContext[this._foreignContext.length-1]?this._closeCurrentTag():this.onopentagend()},u.prototype._closeCurrentTag=function(){var e=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===e&&(this._cbs.onclosetag&&this._cbs.onclosetag(e),this._stack.pop())},u.prototype.onattribname=function(e){this._lowerCaseAttributeNames&&(e=e.toLowerCase()),this._attribname=e},u.prototype.onattribdata=function(e){this._attribvalue+=e},u.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},u.prototype._getInstructionName=function(e){var t=e.search(c),r=t<0?e:e.substr(0,t);return this._lowerCaseTagNames&&(r=r.toLowerCase()),r},u.prototype.ondeclaration=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("!"+t,"!"+e)}},u.prototype.onprocessinginstruction=function(e){if(this._cbs.onprocessinginstruction){var t=this._getInstructionName(e);this._cbs.onprocessinginstruction("?"+t,"?"+e)}},u.prototype.oncomment=function(e){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(e),this._cbs.oncommentend&&this._cbs.oncommentend()},u.prototype.oncdata=function(e){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(e),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+e+"]]")},u.prototype.onerror=function(e){this._cbs.onerror&&this._cbs.onerror(e)},u.prototype.onend=function(){if(this._cbs.onclosetag)for(var e=this._stack.length;e>0;this._cbs.onclosetag(this._stack[--e]));this._cbs.onend&&this._cbs.onend()},u.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},u.prototype.parseComplete=function(e){this.reset(),this.end(e)},u.prototype.write=function(e){this._tokenizer.write(e)},u.prototype.end=function(e){this._tokenizer.end(e)},u.prototype.pause=function(){this._tokenizer.pause()},u.prototype.resume=function(){this._tokenizer.resume()},u.prototype.parseChunk=u.prototype.write,u.prototype.done=u.prototype.end,e.exports=u},function(e,t,r){e.exports=me;var n=r(348),s=r(350),i=r(351),a=r(352),o=0,l=o++,c=o++,u=o++,h=o++,d=o++,p=o++,g=o++,f=o++,m=o++,_=o++,T=o++,E=o++,v=o++,b=o++,y=o++,A=o++,O=o++,C=o++,w=o++,S=o++,k=o++,N=o++,R=o++,I=o++,x=o++,D=o++,L=o++,M=o++,P=o++,F=o++,j=o++,B=o++,U=o++,H=o++,$=o++,K=o++,q=o++,G=o++,z=o++,W=o++,Y=o++,V=o++,Q=o++,X=o++,J=o++,Z=o++,ee=o++,te=o++,re=o++,ne=o++,se=o++,ie=o++,ae=o++,oe=o++,le=o++,ce=0,ue=ce++,he=ce++,de=ce++;function pe(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function ge(e,t,r){var n=e.toLowerCase();return e===n?function(e){e===n?this._state=t:(this._state=r,this._index--)}:function(s){s===n||s===e?this._state=t:(this._state=r,this._index--)}}function fe(e,t){var r=e.toLowerCase();return function(n){n===r||n===e?this._state=t:(this._state=u,this._index--)}}function me(e,t){this._state=l,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=l,this._special=ue,this._cbs=t,this._running=!0,this._ended=!1,this._xmlMode=!(!e||!e.xmlMode),this._decodeEntities=!(!e||!e.decodeEntities)}me.prototype._stateText=function(e){"<"===e?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=c,this._sectionStart=this._index):this._decodeEntities&&this._special===ue&&"&"===e&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=l,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeTagName=function(e){"/"===e?this._state=d:"<"===e?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===e||this._special!==ue||pe(e)?this._state=l:"!"===e?(this._state=y,this._sectionStart=this._index+1):"?"===e?(this._state=O,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==e&&"S"!==e?u:j,this._sectionStart=this._index)},me.prototype._stateInTagName=function(e){("/"===e||">"===e||pe(e))&&(this._emitToken("onopentagname"),this._state=f,this._index--)},me.prototype._stateBeforeCloseingTagName=function(e){pe(e)||(">"===e?this._state=l:this._special!==ue?"s"===e||"S"===e?this._state=B:(this._state=l,this._index--):(this._state=p,this._sectionStart=this._index))},me.prototype._stateInCloseingTagName=function(e){(">"===e||pe(e))&&(this._emitToken("onclosetag"),this._state=g,this._index--)},me.prototype._stateAfterCloseingTagName=function(e){">"===e&&(this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeAttributeName=function(e){">"===e?(this._cbs.onopentagend(),this._state=l,this._sectionStart=this._index+1):"/"===e?this._state=h:pe(e)||(this._state=m,this._sectionStart=this._index)},me.prototype._stateInSelfClosingTag=function(e){">"===e?(this._cbs.onselfclosingtag(),this._state=l,this._sectionStart=this._index+1):pe(e)||(this._state=f,this._index--)},me.prototype._stateInAttributeName=function(e){("="===e||"/"===e||">"===e||pe(e))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=_,this._index--)},me.prototype._stateAfterAttributeName=function(e){"="===e?this._state=T:"/"===e||">"===e?(this._cbs.onattribend(),this._state=f,this._index--):pe(e)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},me.prototype._stateBeforeAttributeValue=function(e){'"'===e?(this._state=E,this._sectionStart=this._index+1):"'"===e?(this._state=v,this._sectionStart=this._index+1):pe(e)||(this._state=b,this._sectionStart=this._index,this._index--)},me.prototype._stateInAttributeValueDoubleQuotes=function(e){'"'===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueSingleQuotes=function(e){"'"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateInAttributeValueNoQuotes=function(e){pe(e)||">"===e?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=f,this._index--):this._decodeEntities&&"&"===e&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=se,this._sectionStart=this._index)},me.prototype._stateBeforeDeclaration=function(e){this._state="["===e?N:"-"===e?C:A},me.prototype._stateInDeclaration=function(e){">"===e&&(this._cbs.ondeclaration(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateInProcessingInstruction=function(e){">"===e&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=l,this._sectionStart=this._index+1)},me.prototype._stateBeforeComment=function(e){"-"===e?(this._state=w,this._sectionStart=this._index+1):this._state=A},me.prototype._stateInComment=function(e){"-"===e&&(this._state=S)},me.prototype._stateAfterComment1=function(e){this._state="-"===e?k:w},me.prototype._stateAfterComment2=function(e){">"===e?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"-"!==e&&(this._state=w)},me.prototype._stateBeforeCdata1=ge("C",R,A),me.prototype._stateBeforeCdata2=ge("D",I,A),me.prototype._stateBeforeCdata3=ge("A",x,A),me.prototype._stateBeforeCdata4=ge("T",D,A),me.prototype._stateBeforeCdata5=ge("A",L,A),me.prototype._stateBeforeCdata6=function(e){"["===e?(this._state=M,this._sectionStart=this._index+1):(this._state=A,this._index--)},me.prototype._stateInCdata=function(e){"]"===e&&(this._state=P)},me.prototype._stateAfterCdata1=function(e){this._state="]"===e?F:M},me.prototype._stateAfterCdata2=function(e){">"===e?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=l,this._sectionStart=this._index+1):"]"!==e&&(this._state=M)},me.prototype._stateBeforeSpecial=function(e){"c"===e||"C"===e?this._state=U:"t"===e||"T"===e?this._state=Q:(this._state=u,this._index--)},me.prototype._stateBeforeSpecialEnd=function(e){this._special!==he||"c"!==e&&"C"!==e?this._special!==de||"t"!==e&&"T"!==e?this._state=l:this._state=ee:this._state=G},me.prototype._stateBeforeScript1=fe("R",H),me.prototype._stateBeforeScript2=fe("I",$),me.prototype._stateBeforeScript3=fe("P",K),me.prototype._stateBeforeScript4=fe("T",q),me.prototype._stateBeforeScript5=function(e){("/"===e||">"===e||pe(e))&&(this._special=he),this._state=u,this._index--},me.prototype._stateAfterScript1=ge("R",z,l),me.prototype._stateAfterScript2=ge("I",W,l),me.prototype._stateAfterScript3=ge("P",Y,l),me.prototype._stateAfterScript4=ge("T",V,l),me.prototype._stateAfterScript5=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-6,this._index--):this._state=l},me.prototype._stateBeforeStyle1=fe("Y",X),me.prototype._stateBeforeStyle2=fe("L",J),me.prototype._stateBeforeStyle3=fe("E",Z),me.prototype._stateBeforeStyle4=function(e){("/"===e||">"===e||pe(e))&&(this._special=de),this._state=u,this._index--},me.prototype._stateAfterStyle1=ge("Y",te,l),me.prototype._stateAfterStyle2=ge("L",re,l),me.prototype._stateAfterStyle3=ge("E",ne,l),me.prototype._stateAfterStyle4=function(e){">"===e||pe(e)?(this._special=ue,this._state=p,this._sectionStart=this._index-5,this._index--):this._state=l},me.prototype._stateBeforeEntity=ge("#",ie,ae),me.prototype._stateBeforeNumericEntity=ge("X",le,oe),me.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(t=6);t>=2;){var r=this._buffer.substr(e,t);if(i.hasOwnProperty(r))return this._emitPartial(i[r]),void(this._sectionStart+=t+1);t--}},me.prototype._stateInNamedEntity=function(e){";"===e?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(e<"A"||e>"Z")&&(e<"0"||e>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==l?"="!==e&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},me.prototype._decodeNumericEntity=function(e,t){var r=this._sectionStart+e;if(r!==this._index){var s=this._buffer.substring(r,this._index),i=parseInt(s,t);this._emitPartial(n(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},me.prototype._stateInNumericEntity=function(e){";"===e?(this._decodeNumericEntity(2,10),this._sectionStart++):(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},me.prototype._stateInHexEntity=function(e){";"===e?(this._decodeNumericEntity(3,16),this._sectionStart++):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},me.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===l?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},me.prototype.write=function(e){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=e,this._parse()},me.prototype._parse=function(){for(;this._index","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"","InvisibleTimes":"","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"","NegativeThickSpace":"","NegativeThinSpace":"","NegativeVeryThinSpace":"","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":" ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"","zwnj":""}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var s=u(n(r(168)).default),i=h(s);t.encodeXML=m(s);var a,o,l=u(n(r(167)).default),c=h(l);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function h(e){for(var t=[],r=[],n=0,s=Object.keys(e);n1?p(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var f=new RegExp(i.source+"|"+d.source,"g");function m(e){return function(t){return t.replace(f,(function(t){return e[t]||g(t)}))}}t.escape=function(e){return e.replace(f,g)},t.escapeUTF8=function(e){return e.replace(i,g)}},function(e,t,r){e.exports=o;var n=r(161),s=r(370).Writable,i=r(371).StringDecoder,a=r(171).Buffer;function o(e,t){var r=this._parser=new n(e,t),a=this._decoder=new i;s.call(this,{decodeStrings:!1}),this.once("finish",(function(){r.end(a.end())}))}r(83)(o,s),o.prototype._write=function(e,t,r){e instanceof a&&(e=this._decoder.write(e)),this._parser.write(e),r()}},function(e,t,r){"use strict";(function(e){var n=r(373),s=r(374),i=r(375);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function g(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return U(e).length;default:if(n)return B(e).length;t=(""+t).toLowerCase(),n=!0}}function f(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return w(this,t,r);case"ascii":return S(this,t,r);case"latin1":case"binary":return k(this,t,r);case"base64":return C(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function _(e,t,r,n,s){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:T(e,t,r,n,s);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):T(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function T(e,t,r,n,s){var i,a=1,o=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(s){var u=-1;for(i=r;io&&(r=o-l),i=r;i>=0;i--){for(var h=!0,d=0;ds&&(n=s):n=s;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a>8,s=r%256,i.push(s),i.push(n);return i}(t,e.length-r),e,r,n)}function C(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function w(e,t,r){r=Math.min(e.length,r);for(var n=[],s=t;s239?4:c>223?3:c>191?2:1;if(s+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=e[s+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=e[s+1],a=e[s+2],128==(192&i)&&128==(192&a)&&(l=(15&c)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[s+1],a=e[s+2],o=e[s+3],128==(192&i)&&128==(192&a)&&128==(192&o)&&(l=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),s+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;ns)&&(r=s);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,r,n,s,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}function D(e,t,r,n){t<0&&(t=65535+t+1);for(var s=0,i=Math.min(e.length-r,2);s>>8*(n?s:1-s)}function L(e,t,r,n){t<0&&(t=4294967295+t+1);for(var s=0,i=Math.min(e.length-r,4);s>>8*(n?s:3-s)&255}function M(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P(e,t,r,n,i){return i||M(e,0,r,4),s.write(e,t,r,n,23,4),r+4}function F(e,t,r,n,i){return i||M(e,0,r,8),s.write(e,t,r,n,52,8),r+8}t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return c(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return u(t),t<=0?o(null,t):void 0!==r?"string"==typeof n?o(null,t).fill(r,n):o(null,t).fill(r):o(null,t)}(0,e,t,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,s=0,i=Math.min(r,n);s0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,s){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(s>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),o=Math.min(i,a),c=this.slice(n,s),u=e.slice(t,r),h=0;hs)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return E(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return b(this,e,t,r);case"latin1":case"binary":return y(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(s*=256);)n+=this[e+--t]*s;return n},l.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],s=1,i=0;++i=(s*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,s=1,i=this[e+--n];n>0&&(s*=256);)i+=this[e+--n]*s;return i>=(s*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||x(this,e,t,r,Math.pow(2,8*r)-1,0);var s=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+s]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=0,a=1,o=0;for(this[t]=255&e;++i>0)-o&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var s=Math.pow(2,8*r-1);x(this,e,t,r,s-1,-s)}var i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return P(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return P(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return F(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return F(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--s)e[s+t]=this[s+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=65536+(s-55296<<10|r-56320)}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function U(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,r,n){for(var s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}}).call(this,r(20))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return o}));var n=r(200);let s;function i(){return null===s.yoast.shortlinker&&(s.yoast.shortlinker=new n.a),s.yoast.shortlinker}function a(e){i().configure(e)}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i().createAnchorOpeningTag(e,t)}s="undefined"==typeof window?"undefined"==typeof self?e:self:window,s.yoast=s.yoast||{},s.yoast.shortlinker=s.yoast.shortlinker||null}).call(this,r(20))},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(175);e.exports=class extends n{constructor(e){super(e),this.tokenizer=e,this.posTracker=n.install(e.preprocessor,i),this.currentAttrLocation=null,this.ctLoc=null}_getCurrentLocation(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}_attachCurrentAttrLocationInfo(){this.currentAttrLocation.endLine=this.posTracker.line,this.currentAttrLocation.endCol=this.posTracker.col,this.currentAttrLocation.endOffset=this.posTracker.offset;const e=this.tokenizer.currentToken,t=this.tokenizer.currentAttr;e.location.attrs||(e.location.attrs=Object.create(null)),e.location.attrs[t.name]=this.currentAttrLocation}_getOverriddenMethods(e,t){const r={_createStartTagToken(){t._createStartTagToken.call(this),this.currentToken.location=e.ctLoc},_createEndTagToken(){t._createEndTagToken.call(this),this.currentToken.location=e.ctLoc},_createCommentToken(){t._createCommentToken.call(this),this.currentToken.location=e.ctLoc},_createDoctypeToken(r){t._createDoctypeToken.call(this,r),this.currentToken.location=e.ctLoc},_createCharacterToken(r,n){t._createCharacterToken.call(this,r,n),this.currentCharacterToken.location=e.ctLoc},_createEOFToken(){t._createEOFToken.call(this),this.currentToken.location=e._getCurrentLocation()},_createAttr(r){t._createAttr.call(this,r),e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName(r){t._leaveAttrName.call(this,r),e._attachCurrentAttrLocationInfo()},_leaveAttrValue(r){t._leaveAttrValue.call(this,r),e._attachCurrentAttrLocationInfo()},_emitCurrentToken(){const r=this.currentToken.location;this.currentCharacterToken&&(this.currentCharacterToken.location.endLine=r.startLine,this.currentCharacterToken.location.endCol=r.startCol,this.currentCharacterToken.location.endOffset=r.startOffset),this.currentToken.type===s.EOF_TOKEN?(r.endLine=r.startLine,r.endCol=r.startCol,r.endOffset=r.startOffset):(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col+1,r.endOffset=e.posTracker.offset+1),t._emitCurrentToken.call(this)},_emitCurrentCharacterToken(){const r=this.currentCharacterToken&&this.currentCharacterToken.location;r&&-1===r.endOffset&&(r.endLine=e.posTracker.line,r.endCol=e.posTracker.col,r.endOffset=e.posTracker.offset),t._emitCurrentCharacterToken.call(this)}};return Object.keys(s.MODE).forEach(n=>{const i=s.MODE[n];r[i]=function(r){e.ctLoc=e._getCurrentLocation(),t[i].call(this,r)}}),r}}},function(e,t,r){"use strict";const n=r(33);e.exports=class extends n{constructor(e){super(e),this.preprocessor=e,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.offset=0,this.col=0,this.line=1}_getOverriddenMethods(e,t){return{advance(){const r=this.pos+1,n=this.html[r];return e.isEol&&(e.isEol=!1,e.line++,e.lineStartPos=r),("\n"===n||"\r"===n&&"\n"!==this.html[r+1])&&(e.isEol=!0),e.col=r-e.lineStartPos+1,e.offset=e.droppedBufferSize+r,t.advance.call(this)},retreat(){t.retreat.call(this),e.isEol=!1,e.col=this.pos-e.lineStartPos+1},dropParsedChunk(){const r=this.pos;t.dropParsedChunk.call(this);const n=r-this.pos;e.lineStartPos-=n,e.droppedBufferSize+=n,e.offset=e.droppedBufferSize+this.pos}}}}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48);t.createDocument=function(){return{nodeName:"#document",mode:n.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};const s=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},a=t.insertBefore=function(e,t,r){const n=e.childNodes.indexOf(r);e.childNodes.splice(n,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,r,n){let s=null;for(let t=0;t(Object.keys(t).forEach(r=>{e[r]=t[r]}),e),Object.create(null))}},function(e,t,r){"use strict";const{DOCUMENT_MODE:n}=r(48),s=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],i=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),a=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],o=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],l=o.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function c(e){const t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function u(e,t){for(let r=0;r-1)return n.QUIRKS;let e=null===t?i:s;if(u(r,e))return n.QUIRKS;if(e=null===t?o:l,u(r,e))return n.LIMITED_QUIRKS}return n.NO_QUIRKS},t.serializeContent=function(e,t,r){let n="!DOCTYPE ";return e&&(n+=e),t?n+=" PUBLIC "+c(t):r&&(n+=" SYSTEM"),null!==r&&(n+=" "+c(r)),n}},,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=window.yoast.featureFlag},function(e,t,r){var n,s;!function(i,a){"use strict";void 0===(s="function"==typeof(n=function(){var e=function(){},t="undefined"!=typeof window&&void 0!==window.navigator&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"];function n(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(t){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function i(r){return"debug"===r&&(r="log"),"undefined"!=typeof console&&("trace"===r&&t?s:void 0!==console[r]?n(console,r):void 0!==console.log?n(console,"log"):e)}function a(t,n){for(var s=0;s=0&&t<=i.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(s=t,!1!==n&&function(e){var t=(r[e]||"silent").toUpperCase();if("undefined"!=typeof window&&o){try{return void(window.localStorage[o]=t)}catch(e){}try{window.document.cookie=encodeURIComponent(o)+"="+t+";"}catch(e){}}}(t),a.call(i,t,e),"undefined"==typeof console&&t0&&void 0!==arguments[0]?arguments[0]:{};this.configure(e)}configure(e){this._config={params:{},...e}}static createQueryString(e){return Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=encodeURI(e);const s=n.createQueryString({...this._config.params,...t});return""!==s&&(r+="?"+s),r}createAnchorOpeningTag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return``}}},function(e,t,r){"use strict";const n=r(383),s=r(394);t.parse=function(e,t){return new n(t).parse(e)},t.parseFragment=function(e,t,r){return"string"==typeof e&&(r=t,t=e,e=null),new n(r).parseFragment(t,e)},t.serialize=function(e,t){return new s(e,t).serialize()}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){r(159);var n,s=r(101);n=s("Error.captureStackTrace")?r(336):s("Error.prototype.stack")?r(337):r(347),e.exports=n()},function(e,t,r){var n=r(160),s=n.define,i=n.test;s("strict mode",(function(){return void 0===this})),s("arguments.callee.caller",(function(){try{return function(){return arguments.callee.caller}()===arguments.callee}catch(e){return!1}})),s("es5",(function(){return i("Array.prototype.forEach")&&i("Array.prototype.map")&&i("Function.prototype.bind")&&i("Object.create")&&i("Object.defineProperties")&&i("Object.defineProperty")&&i("Object.prototype.hasOwnProperty")})),s("Array.prototype.forEach",(function(){return Array.prototype.forEach})),s("Array.prototype.map",(function(){return Array.prototype.map})),s("Function.prototype.bind",(function(){return Function.prototype.bind})),s("Object.create",(function(){return Object.create})),s("Object.defineProperties",(function(){return Object.defineProperties})),s("Object.defineProperty",(function(){return Object.defineProperty})),s("Object.prototype.hasOwnProperty",(function(){return Object.prototype.hasOwnProperty})),s("Error.captureStackTrace",(function(){return Error.captureStackTrace})),s("Error.prototype.stack",(function(){try{throw new Error}catch(e){return e.stack||e.stacktrace}}))},function(e,t){var r=function(){this.tests={},this.cache={}};r.prototype={constructor:r,define:function(e,t){if("string"!=typeof e||!(t instanceof Function))throw new Error("Invalid capability definition.");if(this.tests[e])throw new Error('Duplicated capability definition by "'+e+'".');this.tests[e]=t},check:function(e){if(!this.test(e))throw new Error('The current environment does not support "'+e+'", therefore we cannot continue.')},test:function(e){if(void 0!==this.cache[e])return this.cache[e];if(!this.tests[e])throw new Error('Unknown capability with name "'+e+'".');var t=this.tests[e];return this.cache[e]=!!t(),this.cache[e]}},e.exports=r},function(e,t,r){var n=r(102);e.exports=function(){return Error.getStackTrace=function(e){return e.stack},{prepareStackTrace:n}}},function(e,t,r){var n=r(338),s=r(345),i=r(62).cache,a=r(102);e.exports=function(){return Error.captureStackTrace=function e(t,r){var o=[e];r&&o.push(r);var l=n.getInstance().captureFrameStrings(o);Object.defineProperties(t,{stack:{configurable:!0,get:i((function(){var e=s.getInstance().getFrames(l.frameStrings,l.functionValues);return(Error.prepareStackTrace||a)(t,e,void 0)}))},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})},Error.getStackTrace=function(e){if(e.cachedStack)return e.stack;var t,r=n.getInstance().getFrameStrings(e),i=[];r?i=s.getInstance().getFrames(r,[]):t=["The stack is not readable by unthrown errors in this environment."];var o=(Error.prepareStackTrace||a)(e,i,t);if(r)try{Object.defineProperties(e,{stack:{configurable:!0,writable:!0,enumerable:!1,value:o},cachedStack:{configurable:!0,writable:!0,enumerable:!1,value:!0}})}catch(e){}return o},{prepareStackTrace:a}}},function(e,t,r){var n=r(61).Class,s=r(61).abstractMethod,i=r(62).eachCombination,a=r(62).cache,o=r(101),l=n(Object,{prototype:{captureFrameStrings:function(e){var t=this.createError();e.unshift(this.captureFrameStrings),e.unshift(this.createError);var r=this.getFrameStrings(t),n=r.slice(e.length),s=[];if(o("arguments.callee.caller")){var i=[this.createError,this.captureFrameStrings];try{for(var a=arguments.callee;a=a.caller;)i.push(a)}catch(e){}s=i.slice(e.length)}return{frameStrings:n,functionValues:s}},getFrameStrings:function(e){var t=e.message||"",r=e.name||"",n=this.getStackString(e);if(void 0!==n){var s=n.split("\n"),i=0,a=s.length;return this.hasHeader&&(i+=r.split("\n").length+t.split("\n").length-1),this.hasFooter&&(a-=1),s.slice(i,a)}},createError:s,getStackString:s,hasHeader:void 0,hasFooter:void 0}}),c=n(Object,{prototype:{calibrateClass:function(e){return this.calibrateMethods(e)&&this.calibrateEnvelope(e)},calibrateMethods:function(e){try{i([[function(e){return new Error(e)},function(e){try{throw new Error(e)}catch(e){return e}}],[function(e){return e.stack},function(e){return e.stacktrace}]],(function(e,t){if(t(e()))throw{getStackString:t,createError:e}}))}catch(t){return n.merge.call(e,{prototype:t}),!0}return!1},calibrateEnvelope:function(e){var t=(0,e.prototype.getStackString)((0,e.prototype.createError)("marker")).split("\n");return n.merge.call(e,{prototype:{hasHeader:/marker/.test(t[0]),hasFooter:""===t[t.length-1]}}),!0}}});e.exports={getClass:a((function(){var e;if(e)return e;if(e=n(l,{}),!(new c).calibrateClass(e))throw new Error("Cannot read Error.prototype.stack in this environment.");return e})),getInstance:a((function(){return new(this.getClass())}))}},function(e,t,r){e.exports={Class:r(340),abstractMethod:r(341)}},function(e,t){var r=function(){var e=Object.create({Source:Object,config:{},buildArgs:[]});function t(t){var r="config";if(t instanceof Function)r="Source";else if(t instanceof Array)r="buildArgs";else{if(!(t instanceof Object))throw new Error("Invalid configuration option.");r="config"}if(e.hasOwnProperty(r))throw new Error("Duplicated configuration option: "+r+".");e[r]=t}for(var n=0,s=arguments.length;n=55296&&e<=57343||e>1114111)return"�";e in n&&(e=n[e]);var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"","InvisibleTimes":"","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"","NegativeThickSpace":"","NegativeThinSpace":"","NegativeVeryThinSpace":"","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":" ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"","zwnj":""}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e){e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},function(e,t,r){"use strict";var n,s="object"==typeof Reflect?Reflect:null,i=s&&"function"==typeof s.apply?s.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function s(r){e.removeListener(t,i),n(r)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",s),r([].slice.call(arguments))}_(e,t,i,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&_(e,"error",t,{once:!0})}(e,s)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function h(e,t,r,n){var s,i,a,o;if(c(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),void 0===a)a=i[t]=r,++e._eventsCount;else if("function"==typeof a?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(s=u(e))>0&&a.length>s&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,o=l,console&&console.warn&&console.warn(o)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=d.bind(n);return s.listener=r,n.wrapFn=s,s}function g(e,t,r){var n=e._events;if(void 0===n)return[];var s=n[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var o=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw o.context=a,o}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=m(l,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,s=i;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return g(this,e,!0)},o.prototype.rawListeners=function(e){return g(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},o.prototype.listenerCount=f,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){var n=r(164),s=e.exports=Object.create(n),i={tagName:"name"};Object.keys(i).forEach((function(e){var t=i[e];Object.defineProperty(s,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})}))},function(e,t,r){var n=r(163),s=r(165);function i(e,t){this.init(e,t)}function a(e,t){return s.getElementsByTagName(e,t,!0)}function o(e,t){return s.getElementsByTagName(e,t,!0,1)[0]}function l(e,t,r){return s.getText(s.getElementsByTagName(e,t,r,1)).trim()}function c(e,t,r,n,s){var i=l(r,n,s);i&&(e[t]=i)}r(83)(i,n),i.prototype.init=n;var u=function(e){return"rss"===e||"feed"===e||"rdf:RDF"===e};i.prototype.onend=function(){var e,t,r={},s=o(u,this.dom);s&&("feed"===s.name?(t=s.children,r.type="atom",c(r,"id","id",t),c(r,"title","title",t),(e=o("link",t))&&(e=e.attribs)&&(e=e.href)&&(r.link=e),c(r,"description","subtitle",t),(e=l("updated",t))&&(r.updated=new Date(e)),c(r,"author","email",t,!0),r.items=a("entry",t).map((function(e){var t,r={};return c(r,"id","id",e=e.children),c(r,"title","title",e),(t=o("link",e))&&(t=t.attribs)&&(t=t.href)&&(r.link=t),(t=l("summary",e)||l("content",e))&&(r.description=t),(t=l("updated",e))&&(r.pubDate=new Date(t)),r}))):(t=o("channel",s.children).children,r.type=s.name.substr(0,3),r.id="",c(r,"title","title",t),c(r,"link","link",t),c(r,"description","description",t),(e=l("lastBuildDate",t))&&(r.updated=new Date(e)),c(r,"author","managingEditor",t,!0),r.items=a("item",s.children).map((function(e){var t,r={};return c(r,"id","guid",e=e.children),c(r,"title","title",e),c(r,"link","link",e),c(r,"description","description",e),(t=l("pubDate",e))&&(r.pubDate=new Date(t)),r})))),this.dom=r,n.prototype._handleCallback.call(this,s?null:Error("couldn't find root of feed"))},e.exports=i},function(e,t,r){var n=r(63),s=r(357),i=n.isTag;e.exports={getInnerHTML:function(e,t){return e.children?e.children.map((function(e){return s(e,t)})).join(""):""},getOuterHTML:s,getText:function e(t){return Array.isArray(t)?t.map(e).join(""):i(t)?"br"===t.name?"\n":e(t.children):t.type===n.CDATA?e(t.children):t.type===n.Text?t.data:""}}},function(e,t,r){var n=r(358),s=r(359),i=r(363);i.elementNames.__proto__=null,i.attributeNames.__proto__=null;var a={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0},o={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},l=e.exports=function(e,t){Array.isArray(e)||e.cheerio||(e=[e]),t=t||{};for(var r="",s=0;s=0&&(t=Object.assign({},t,{xmlMode:!1}))),!t.xmlMode&&["svg","math"].indexOf(e.name)>=0&&(t=Object.assign({},t,{xmlMode:"foreign"}));var r="<"+e.name,n=function(e,t){if(e){var r,n="";for(var a in e)r=e[a],n&&(n+=" "),"foreign"===t.xmlMode&&(a=i.attributeNames[a]||a),n+=a,(null!==r&&""!==r||t.xmlMode)&&(n+='="'+(t.decodeEntities?s.encodeXML(r):r.replace(/\"/g,"""))+'"');return n}}(e.attribs,t);return n&&(r+=" "+n),!t.xmlMode||e.children&&0!==e.children.length?(r+=">",e.children&&(r+=l(e.children,t)),o[e.name]&&!t.xmlMode||(r+=""+e.name+">")):r+="/>",r}function h(e){return"<"+e.data+">"}function d(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in a||(r=s.encodeXML(r)),r}function p(e){return""}function g(e){return"\x3c!--"+e.data+"--\x3e"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=void 0,t.isTag=function(e){return"tag"===e.type||"script"===e.type||"style"===e.type},t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(166),s=r(169);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?s.encodeXML:s.encodeHTML)(e)};var i=r(169);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return i.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return i.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return i.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return i.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return i.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return i.encodeHTML}});var a=r(166);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(r(362)),i=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in s.default&&(e=s.default[e]),i(e))}},function(e){e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},function(e){e.exports=JSON.parse('{"elementNames":{"altglyph":"altGlyph","altglyphdef":"altGlyphDef","altglyphitem":"altGlyphItem","animatecolor":"animateColor","animatemotion":"animateMotion","animatetransform":"animateTransform","clippath":"clipPath","feblend":"feBlend","fecolormatrix":"feColorMatrix","fecomponenttransfer":"feComponentTransfer","fecomposite":"feComposite","feconvolvematrix":"feConvolveMatrix","fediffuselighting":"feDiffuseLighting","fedisplacementmap":"feDisplacementMap","fedistantlight":"feDistantLight","fedropshadow":"feDropShadow","feflood":"feFlood","fefunca":"feFuncA","fefuncb":"feFuncB","fefuncg":"feFuncG","fefuncr":"feFuncR","fegaussianblur":"feGaussianBlur","feimage":"feImage","femerge":"feMerge","femergenode":"feMergeNode","femorphology":"feMorphology","feoffset":"feOffset","fepointlight":"fePointLight","fespecularlighting":"feSpecularLighting","fespotlight":"feSpotLight","fetile":"feTile","feturbulence":"feTurbulence","foreignobject":"foreignObject","glyphref":"glyphRef","lineargradient":"linearGradient","radialgradient":"radialGradient","textpath":"textPath"},"attributeNames":{"definitionurl":"definitionURL","attributename":"attributeName","attributetype":"attributeType","basefrequency":"baseFrequency","baseprofile":"baseProfile","calcmode":"calcMode","clippathunits":"clipPathUnits","diffuseconstant":"diffuseConstant","edgemode":"edgeMode","filterunits":"filterUnits","glyphref":"glyphRef","gradienttransform":"gradientTransform","gradientunits":"gradientUnits","kernelmatrix":"kernelMatrix","kernelunitlength":"kernelUnitLength","keypoints":"keyPoints","keysplines":"keySplines","keytimes":"keyTimes","lengthadjust":"lengthAdjust","limitingconeangle":"limitingConeAngle","markerheight":"markerHeight","markerunits":"markerUnits","markerwidth":"markerWidth","maskcontentunits":"maskContentUnits","maskunits":"maskUnits","numoctaves":"numOctaves","pathlength":"pathLength","patterncontentunits":"patternContentUnits","patterntransform":"patternTransform","patternunits":"patternUnits","pointsatx":"pointsAtX","pointsaty":"pointsAtY","pointsatz":"pointsAtZ","preservealpha":"preserveAlpha","preserveaspectratio":"preserveAspectRatio","primitiveunits":"primitiveUnits","refx":"refX","refy":"refY","repeatcount":"repeatCount","repeatdur":"repeatDur","requiredextensions":"requiredExtensions","requiredfeatures":"requiredFeatures","specularconstant":"specularConstant","specularexponent":"specularExponent","spreadmethod":"spreadMethod","startoffset":"startOffset","stddeviation":"stdDeviation","stitchtiles":"stitchTiles","surfacescale":"surfaceScale","systemlanguage":"systemLanguage","tablevalues":"tableValues","targetx":"targetX","targety":"targetY","textlength":"textLength","viewbox":"viewBox","viewtarget":"viewTarget","xchannelselector":"xChannelSelector","ychannelselector":"yChannelSelector","zoomandpan":"zoomAndPan"}}')},function(e,t){var r=t.getChildren=function(e){return e.children},n=t.getParent=function(e){return e.parent};t.getSiblings=function(e){var t=n(e);return t?r(t):[e]},t.getAttributeValue=function(e,t){return e.attribs&&e.attribs[t]},t.hasAttrib=function(e,t){return!!e.attribs&&hasOwnProperty.call(e.attribs,t)},t.getName=function(e){return e.name}},function(e,t){t.removeElement=function(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}},t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var s=t.parent=e.parent;if(s){var i=s.children;i[i.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(t.parent=e,1!==e.children.push(t)){var r=e.children[e.children.length-2];r.next=t,t.prev=r,t.next=null}},t.append=function(e,t){var r=e.parent,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){var s=r.children;s.splice(s.lastIndexOf(n),0,t)}}else r&&r.children.push(t)},t.prepend=function(e,t){var r=e.parent;if(r){var n=r.children;n.splice(n.lastIndexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}},function(e,t,r){var n=r(63).isTag;function s(e,t,r,n){for(var i,a=[],o=0,l=t.length;o0&&(i=s(e,i,r,n),a=a.concat(i),(n-=i.length)<=0)));o++);return a}e.exports={filter:function(e,t,r,n){return Array.isArray(t)||(t=[t]),"number"==typeof n&&isFinite(n)||(n=1/0),s(e,t,!1!==r,n)},find:s,findOneChild:function(e,t){for(var r=0,n=t.length;r0&&(s=e(t,r[i].children)));return s},existsOne:function e(t,r){for(var s=0,i=r.length;s0&&e(t,r[s].children)))return!0;return!1},findAll:function(e,t){for(var r=[],s=t.slice();s.length;){var i=s.shift();n(i)&&(i.children&&i.children.length>0&&s.unshift.apply(s,i.children),e(i)&&r.push(i))}return r}}},function(e,t,r){var n=r(63),s=t.isTag=n.isTag;t.testElement=function(e,t){for(var r in e)if(e.hasOwnProperty(r))if("tag_name"===r){if(!s(t)||!e.tag_name(t.name))return!1}else if("tag_type"===r){if(!e.tag_type(t.type))return!1}else if("tag_contains"===r){if(s(t)||!e.tag_contains(t.data))return!1}else if(!t.attribs||!e[r](t.attribs[r]))return!1;return!0};var i={tag_name:function(e){return"function"==typeof e?function(t){return s(t)&&e(t.name)}:"*"===e?s:function(t){return s(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return!s(t)&&e(t.data)}:function(t){return!s(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return r.attribs&&t(r.attribs[e])}:function(r){return r.attribs&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}t.getElements=function(e,t,r,n){var s=Object.keys(e).map((function(t){var r=e[t];return t in i?i[t](r):a(t,r)}));return 0===s.length?[]:this.filter(s.reduce(o),t,r,n)},t.getElementById=function(e,t,r){return Array.isArray(t)||(t=[t]),this.findOne(a("id",e),t,!1!==r)},t.getElementsByTagName=function(e,t,r,n){return this.filter(i.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return this.filter(i.tag_type(e),t,r,n)}},function(e,t){t.removeSubsets=function(e){for(var t,r,n,s=e.length;--s>-1;){for(t=r=e[s],e[s]=null,n=!0;r;){if(e.indexOf(r)>-1){n=!1,e.splice(s,1);break}r=r.parent}n&&(e[s]=t)}return e};var r=t.compareDocumentPosition=function(e,t){var r,n,s,i,a,o,l=[],c=[];if(e===t)return 0;for(r=e;r;)l.unshift(r),r=r.parent;for(r=t;r;)c.unshift(r),r=r.parent;for(o=0;l[o]===c[o];)o++;return 0===o?1:(s=(n=l[o-1]).children,i=l[o],a=c[o],s.indexOf(i)>s.indexOf(a)?n===t?20:4:n===e?10:2)};t.uniqueSort=function(e){var t,n,s=e.length;for(e=e.slice();--s>-1;)t=e[s],(n=e.indexOf(t))>-1&&n>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(s>0&&(e.lastNeed=s-1),s):--n=0?(s>0&&(e.lastNeed=s-2),s):--n=0?(s>0&&(2===s?s=0:e.lastNeed=s-3),s):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){var n=r(171),s=n.Buffer;function i(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return s(e,t,r)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?e.exports=n:(i(n,t),t.Buffer=a),a.prototype=Object.create(s.prototype),i(s,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return s(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=s(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return s(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],o=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,o)),u=0,h=o>0?a-4:a;for(r=0;r>16&255,l[u++]=t>>8&255,l[u++]=255&t;return 2===o&&(t=s[e.charCodeAt(r)]<<2|s[e.charCodeAt(r+1)]>>4,l[u++]=255&t),1===o&&(t=s[e.charCodeAt(r)]<<10|s[e.charCodeAt(r+1)]<<4|s[e.charCodeAt(r+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t),l},t.fromByteArray=function(e){for(var t,r=e.length,s=r%3,i=[],a=0,o=r-s;ao?o:a+16383));return 1===s?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),i.join("")};for(var n=[],s=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var s,i,a=[],o=t;o>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,s){var i,a,o=8*s-n-1,l=(1<>1,u=-7,h=r?s-1:0,d=r?-1:1,p=e[t+h];for(h+=d,i=p&(1<<-u)-1,p>>=-u,u+=o;u>0;i=256*i+e[t+h],h+=d,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===i)i=1-c;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=c}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,s,i){var a,o,l,c=8*i-s-1,u=(1<>1,d=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,g=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(o=0,a=u):a+h>=1?(o=(t*l-1)*Math.pow(2,s),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,s),a=0));s>=8;e[r+p]=255&o,p+=g,o/=256,s-=8);for(a=a<0;e[r+p]=255&a,p+=g,a/=256,c-=8);e[r+p-g]|=128*f}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){function n(e){this._cbs=e||{}}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this._cbs[e]&&this._cbs[e](t,r)}}}))},function(e,t,r){function n(e){this._cbs=e||{},this.events=[]}e.exports=n;var s=r(49).EVENTS;Object.keys(s).forEach((function(e){if(0===s[e])e="on"+e,n.prototype[e]=function(){this.events.push([e]),this._cbs[e]&&this._cbs[e]()};else if(1===s[e])e="on"+e,n.prototype[e]=function(t){this.events.push([e,t]),this._cbs[e]&&this._cbs[e](t)};else{if(2!==s[e])throw Error("wrong number of arguments");e="on"+e,n.prototype[e]=function(t,r){this.events.push([e,t,r]),this._cbs[e]&&this._cbs[e](t,r)}}})),n.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},n.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var e=0,t=this.events.length;e= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,g=String.fromCharCode;function f(e){throw new RangeError(d[e])}function m(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function _(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+m((e=e.replace(h,".")).split("."),t).join(".")}function T(e){for(var t,r,n=[],s=0,i=e.length;s=55296&&t<=56319&&s65535&&(t+=g((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+g(e)})).join("")}function v(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function b(e,t,r){var n=0;for(e=r?p(e/700):e>>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))}function y(e){var t,r,n,s,i,a,o,c,u,h,d,g=[],m=e.length,_=0,T=128,v=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&f("not-basic"),g.push(e.charCodeAt(n));for(s=r>0?r+1:0;s=m&&f("invalid-input"),((c=(d=e.charCodeAt(s++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>p((l-_)/a))&&f("overflow"),_+=c*a,!(c<(u=o<=v?1:o>=v+26?26:o-v));o+=36)a>p(l/(h=36-u))&&f("overflow"),a*=h;v=b(_-i,t=g.length+1,0==i),p(_/t)>l-T&&f("overflow"),T+=p(_/t),_%=t,g.splice(_++,0,T)}return E(g)}function A(e){var t,r,n,s,i,a,o,c,u,h,d,m,_,E,y,A=[];for(m=(e=T(e)).length,t=128,r=0,i=72,a=0;a=t&&dp((l-r)/(_=n+1))&&f("overflow"),r+=(o-t)*_,t=o,a=0;al&&f("overflow"),d==t){for(c=r,u=36;!(c<(h=u<=i?1:u>=i+26?26:u-i));u+=36)y=c-h,E=36-h,A.push(g(v(h+y%E,0))),c=p(y/E);A.push(g(v(c,0))),i=b(r,_,n==s),r=0,++n}++r,++t}return A.join("")}o={version:"1.4.1",ucs2:{decode:T,encode:E},decode:y,encode:A,toASCII:function(e){return _(e,(function(e){return u.test(e)?"xn--"+A(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?y(e.slice(4).toLowerCase()):e}))}},void 0===(s=function(){return o}.call(t,r,t,e))||(e.exports=s)}()}).call(this,r(172)(e),r(20))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";t.decode=t.parse=r(381),t.encode=t.stringify=r(382)},function(e,t,r){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,i){t=t||"&",r=r||"=";var a={};if("string"!=typeof e||0===e.length)return a;var o=/\+/g;e=e.split(t);var l=1e3;i&&"number"==typeof i.maxKeys&&(l=i.maxKeys);var c=e.length;l>0&&c>l&&(c=l);for(var u=0;u=0?(h=f.substr(0,m),d=f.substr(m+1)):(h=f,d=""),p=decodeURIComponent(h),g=decodeURIComponent(d),n(a,p)?s(a[p])?a[p].push(g):a[p]=[a[p],g]:a[p]=g}return a};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,o){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),(function(a){var o=encodeURIComponent(n(a))+r;return s(e[a])?i(e[a],(function(e){return o+encodeURIComponent(n(e))})).join(t):o+encodeURIComponent(n(e[a]))})).join(t):o?encodeURIComponent(n(o))+r+encodeURIComponent(n(e)):""};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n=0;n--){const s=e.openElements.items[n];if(s===t.element)break;e._isSpecialElement(s)&&(r=s)}return r||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),r}function w(e,t,r){let n=t,s=e.openElements.getCommonAncestor(t);for(let i=0,a=s;a!==r;i++,a=s){s=e.openElements.getCommonAncestor(a);const r=e.activeFormattingElements.getElementEntry(a),o=r&&i>=3;!r||o?(o&&e.activeFormattingElements.removeEntry(r),e.openElements.remove(a)):(a=S(e,r),n===t&&(e.activeFormattingElements.bookmark=r),e.treeAdapter.detachNode(n),e.treeAdapter.appendChild(a,n),n=a)}return n}function S(e,t){const r=e.treeAdapter.getNamespaceURI(t.element),n=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);return e.openElements.replace(t.element,n),t.element=n,n}function k(e,t,r){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(r);else{const n=e.treeAdapter.getTagName(t),s=e.treeAdapter.getNamespaceURI(t);n===m.TEMPLATE&&s===_.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,r)}}function N(e,t,r){const n=e.treeAdapter.getNamespaceURI(r.element),s=r.token,i=e.treeAdapter.createElement(s.tagName,n,s.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,r.token),e.activeFormattingElements.removeEntry(r),e.openElements.remove(r.element),e.openElements.insertAfter(t,i)}function R(e,t){let r;for(let n=0;n<8&&(r=O(e,t),r);n++){const t=C(e,r);if(!t)break;e.activeFormattingElements.bookmark=r;const n=w(e,t,r.element),s=e.openElements.getCommonAncestor(r.element);e.treeAdapter.detachNode(n),k(e,s,n),N(e,t,r)}}function I(){}function x(e){e._err(p.misplacedDoctype)}function D(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function L(e,t){e._appendCommentNode(t,e.document)}function M(e,t){e._insertCharacters(t)}function P(e){e.stopped=!0}function F(e,t){e._err(p.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,f.DOCUMENT_MODE.QUIRKS),e.insertionMode="BEFORE_HTML_MODE",e._processToken(t)}function j(e,t){e._insertFakeRootElement(),e.insertionMode="BEFORE_HEAD_MODE",e._processToken(t)}function B(e,t){e._insertFakeElement(m.HEAD),e.headElement=e.openElements.current,e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function U(e,t){const r=t.tagName;r===m.HTML?ne(e,t):r===m.BASE||r===m.BASEFONT||r===m.BGSOUND||r===m.LINK||r===m.META?(e._appendElement(t,_.HTML),t.ackSelfClosing=!0):r===m.TITLE?e._switchToTextParsing(t,n.MODE.RCDATA):r===m.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,n.MODE.RAWTEXT):(e._insertElement(t,_.HTML),e.insertionMode="IN_HEAD_NO_SCRIPT_MODE"):r===m.NOFRAMES||r===m.STYLE?e._switchToTextParsing(t,n.MODE.RAWTEXT):r===m.SCRIPT?e._switchToTextParsing(t,n.MODE.SCRIPT_DATA):r===m.TEMPLATE?(e._insertTemplate(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode="IN_TEMPLATE_MODE",e._pushTmplInsertionMode("IN_TEMPLATE_MODE")):r===m.HEAD?e._err(p.misplacedStartTagForHeadElement):$(e,t)}function H(e,t){const r=t.tagName;r===m.HEAD?(e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE"):r===m.BODY||r===m.BR||r===m.HTML?$(e,t):r===m.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==m.TEMPLATE&&e._err(p.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(p.endTagWithoutMatchingOpenElement)}function $(e,t){e.openElements.pop(),e.insertionMode="AFTER_HEAD_MODE",e._processToken(t)}function K(e,t){const r=t.type===n.EOF_TOKEN?p.openElementsLeftAfterEof:p.disallowedContentInNoscriptInHead;e._err(r),e.openElements.pop(),e.insertionMode="IN_HEAD_MODE",e._processToken(t)}function q(e,t){e._insertFakeElement(m.BODY),e.insertionMode="IN_BODY_MODE",e._processToken(t)}function G(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function z(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function W(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}function Y(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function V(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Q(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function X(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function J(e,t){e._appendElement(t,_.HTML),t.ackSelfClosing=!0}function Z(e,t){e._switchToTextParsing(t,n.MODE.RAWTEXT)}function ee(e,t){e.openElements.currentTagName===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function te(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,_.HTML)}function re(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML)}function ne(e,t){const r=t.tagName;switch(r.length){case 1:r===m.I||r===m.S||r===m.B||r===m.U?V(e,t):r===m.P?W(e,t):r===m.A?function(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(m.A);r&&(R(e,t),e.openElements.remove(r.element),e.activeFormattingElements.removeEntry(r)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):re(e,t);break;case 2:r===m.DL||r===m.OL||r===m.UL?W(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement();const r=e.openElements.currentTagName;r!==m.H1&&r!==m.H2&&r!==m.H3&&r!==m.H4&&r!==m.H5&&r!==m.H6||e.openElements.pop(),e._insertElement(t,_.HTML)}(e,t):r===m.LI||r===m.DD||r===m.DT?function(e,t){e.framesetOk=!1;const r=t.tagName;for(let t=e.openElements.stackTop;t>=0;t--){const n=e.openElements.items[t],s=e.treeAdapter.getTagName(n);let i=null;if(r===m.LI&&s===m.LI?i=m.LI:r!==m.DD&&r!==m.DT||s!==m.DD&&s!==m.DT||(i=s),i){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(s!==m.ADDRESS&&s!==m.DIV&&s!==m.P&&e._isSpecialElement(n))break}e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r===m.EM||r===m.TT?V(e,t):r===m.BR?X(e,t):r===m.HR?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._appendElement(t,_.HTML),e.framesetOk=!1,e.ackSelfClosing=!0}(e,t):r===m.RB?te(e,t):r===m.RT||r===m.RP?function(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(m.RTC),e._insertElement(t,_.HTML)}(e,t):r!==m.TH&&r!==m.TD&&r!==m.TR&&re(e,t);break;case 3:r===m.DIV||r===m.DIR||r===m.NAV?W(e,t):r===m.PRE?Y(e,t):r===m.BIG?V(e,t):r===m.IMG||r===m.WBR?X(e,t):r===m.XMP?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SVG?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenSVGAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.SVG):e._insertElement(t,_.SVG),t.ackSelfClosing=!0}(e,t):r===m.RTC?te(e,t):r!==m.COL&&re(e,t);break;case 4:r===m.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):r===m.BASE||r===m.LINK||r===m.META?U(e,t):r===m.BODY?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();r&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(r,t.attrs))}(e,t):r===m.MAIN||r===m.MENU?W(e,t):r===m.FORM?function(e,t){const r=e.openElements.tmplCount>0;e.formElement&&!r||(e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),r||(e.formElement=e.openElements.current))}(e,t):r===m.CODE||r===m.FONT?V(e,t):r===m.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(R(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,_.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):r===m.AREA?X(e,t):r===m.MATH?function(e,t){e._reconstructActiveFormattingElements(),d.adjustTokenMathMLAttrs(t),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,_.MATHML):e._insertElement(t,_.MATHML),t.ackSelfClosing=!0}(e,t):r===m.MENU?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML)}(e,t):r!==m.HEAD&&re(e,t);break;case 5:r===m.STYLE||r===m.TITLE?U(e,t):r===m.ASIDE?W(e,t):r===m.SMALL?V(e,t):r===m.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==f.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode=v}(e,t):r===m.EMBED?X(e,t):r===m.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,_.HTML);const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):r===m.PARAM||r===m.TRACK?J(e,t):r===m.IMAGE?function(e,t){t.tagName=m.IMG,X(e,t)}(e,t):r!==m.FRAME&&r!==m.TBODY&&r!==m.TFOOT&&r!==m.THEAD&&re(e,t);break;case 6:r===m.SCRIPT?U(e,t):r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?W(e,t):r===m.BUTTON?function(e,t){e.openElements.hasInScope(m.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1}(e,t):r===m.STRIKE||r===m.STRONG?V(e,t):r===m.APPLET||r===m.OBJECT?Q(e,t):r===m.KEYGEN?X(e,t):r===m.SOURCE?J(e,t):r===m.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,n.MODE.RAWTEXT)}(e,t):r===m.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,_.HTML),e.framesetOk=!1,e.insertionMode===v||"IN_CAPTION_MODE"===e.insertionMode||"IN_TABLE_BODY_MODE"===e.insertionMode||"IN_ROW_MODE"===e.insertionMode||"IN_CELL_MODE"===e.insertionMode?e.insertionMode="IN_SELECT_IN_TABLE_MODE":e.insertionMode="IN_SELECT_MODE"}(e,t):r===m.OPTION?ee(e,t):re(e,t);break;case 7:r===m.BGSOUND?U(e,t):r===m.DETAILS||r===m.ADDRESS||r===m.ARTICLE||r===m.SECTION||r===m.SUMMARY?W(e,t):r===m.LISTING?Y(e,t):r===m.MARQUEE?Q(e,t):r===m.NOEMBED?Z(e,t):r!==m.CAPTION&&re(e,t);break;case 8:r===m.BASEFONT?U(e,t):r===m.FRAMESET?function(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&r&&(e.treeAdapter.detachNode(r),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,_.HTML),e.insertionMode="IN_FRAMESET_MODE")}(e,t):r===m.FIELDSET?W(e,t):r===m.TEXTAREA?function(e,t){e._insertElement(t,_.HTML),e.skipNextNewLine=!0,e.tokenizer.state=n.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode="TEXT_MODE"}(e,t):r===m.TEMPLATE?U(e,t):r===m.NOSCRIPT?e.options.scriptingEnabled?Z(e,t):re(e,t):r===m.OPTGROUP?ee(e,t):r!==m.COLGROUP&&re(e,t);break;case 9:r===m.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,_.HTML),e.tokenizer.state=n.MODE.PLAINTEXT}(e,t):re(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?W(e,t):re(e,t);break;default:re(e,t)}}function se(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r))}function ie(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(r),e.activeFormattingElements.clearToLastMarker())}function ae(e,t){const r=t.tagName;for(let t=e.openElements.stackTop;t>0;t--){const n=e.openElements.items[t];if(e.treeAdapter.getTagName(n)===r){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilElementPopped(n);break}if(e._isSpecialElement(n))break}}function oe(e,t){const r=t.tagName;switch(r.length){case 1:r===m.A||r===m.B||r===m.I||r===m.S||r===m.U?R(e,t):r===m.P?function(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(m.P),e._closePElement()}(e):ae(e,t);break;case 2:r===m.DL||r===m.UL||r===m.OL?se(e,t):r===m.LI?function(e){e.openElements.hasInListItemScope(m.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(m.LI),e.openElements.popUntilTagNamePopped(m.LI))}(e):r===m.DD||r===m.DT?function(e,t){const r=t.tagName;e.openElements.hasInScope(r)&&(e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r))}(e,t):r===m.H1||r===m.H2||r===m.H3||r===m.H4||r===m.H5||r===m.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):r===m.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(m.BR),e.openElements.pop(),e.framesetOk=!1}(e):r===m.EM||r===m.TT?R(e,t):ae(e,t);break;case 3:r===m.BIG?R(e,t):r===m.DIR||r===m.DIV||r===m.NAV||r===m.PRE?se(e,t):ae(e,t);break;case 4:r===m.BODY?function(e){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE")}(e):r===m.HTML?function(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode="AFTER_BODY_MODE",e._processToken(t))}(e,t):r===m.FORM?function(e){const t=e.openElements.tmplCount>0,r=e.formElement;t||(e.formElement=null),(r||t)&&e.openElements.hasInScope(m.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(m.FORM):e.openElements.remove(r))}(e):r===m.CODE||r===m.FONT||r===m.NOBR?R(e,t):r===m.MAIN||r===m.MENU?se(e,t):ae(e,t);break;case 5:r===m.ASIDE?se(e,t):r===m.SMALL?R(e,t):ae(e,t);break;case 6:r===m.CENTER||r===m.FIGURE||r===m.FOOTER||r===m.HEADER||r===m.HGROUP||r===m.DIALOG?se(e,t):r===m.APPLET||r===m.OBJECT?ie(e,t):r===m.STRIKE||r===m.STRONG?R(e,t):ae(e,t);break;case 7:r===m.ADDRESS||r===m.ARTICLE||r===m.DETAILS||r===m.SECTION||r===m.SUMMARY||r===m.LISTING?se(e,t):r===m.MARQUEE?ie(e,t):ae(e,t);break;case 8:r===m.FIELDSET?se(e,t):r===m.TEMPLATE?H(e,t):ae(e,t);break;case 10:r===m.BLOCKQUOTE||r===m.FIGCAPTION?se(e,t):ae(e,t);break;default:ae(e,t)}}function le(e,t){e.tmplInsertionModeStackTop>-1?_e(e,t):e.stopped=!0}function ce(e,t){const r=e.openElements.currentTagName;r===m.TABLE||r===m.TBODY||r===m.TFOOT||r===m.THEAD||r===m.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode="IN_TABLE_TEXT_MODE",e._processToken(t)):de(e,t)}function ue(e,t){const r=t.tagName;switch(r.length){case 2:r===m.TD||r===m.TH||r===m.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.TBODY),e.insertionMode="IN_TABLE_BODY_MODE",e._processToken(t)}(e,t):de(e,t);break;case 3:r===m.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(m.COLGROUP),e.insertionMode="IN_COLUMN_GROUP_MODE",e._processToken(t)}(e,t):de(e,t);break;case 4:r===m.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,_.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):de(e,t);break;case 5:r===m.TABLE?function(e,t){e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):r===m.STYLE?U(e,t):r===m.TBODY||r===m.TFOOT||r===m.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_TABLE_BODY_MODE"}(e,t):r===m.INPUT?function(e,t){const r=n.getTokenAttr(t,T.TYPE);r&&"hidden"===r.toLowerCase()?e._appendElement(t,_.HTML):de(e,t),t.ackSelfClosing=!0}(e,t):de(e,t);break;case 6:r===m.SCRIPT?U(e,t):de(e,t);break;case 7:r===m.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,_.HTML),e.insertionMode="IN_CAPTION_MODE"}(e,t):de(e,t);break;case 8:r===m.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,_.HTML),e.insertionMode="IN_COLUMN_GROUP_MODE"}(e,t):r===m.TEMPLATE?U(e,t):de(e,t);break;default:de(e,t)}}function he(e,t){const r=t.tagName;r===m.TABLE?e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode()):r===m.TEMPLATE?H(e,t):r!==m.BODY&&r!==m.CAPTION&&r!==m.COL&&r!==m.COLGROUP&&r!==m.HTML&&r!==m.TBODY&&r!==m.TD&&r!==m.TFOOT&&r!==m.TH&&r!==m.THEAD&&r!==m.TR&&de(e,t)}function de(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=r}function pe(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken)for(;r0?(e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function Te(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}function Ee(e,t){e.insertionMode="IN_BODY_MODE",e._processToken(t)}e.exports=class{constructor(e){this.options=u(E,e),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&l.install(this,a),this.options.onParseError&&l.install(this,o,{onParseError:this.options.onParseError})}parse(e){const t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}parseFragment(e,t){t||(t=this.treeAdapter.createElement(m.TEMPLATE,_.HTML,[]));const r=this.treeAdapter.createElement("documentmock",_.HTML,[]);this._bootstrap(r,t),this.treeAdapter.getTagName(t)===m.TEMPLATE&&this._pushTmplInsertionMode("IN_TEMPLATE_MODE"),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);const n=this.treeAdapter.getFirstChild(r),s=this.treeAdapter.createDocumentFragment();return this._adoptNodes(n,s),s}_bootstrap(e,t){this.tokenizer=new n(this.options),this.stopped=!1,this.insertionMode="INITIAL_MODE",this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new s(this.document,this.treeAdapter),this.activeFormattingElements=new i(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}_err(){}_runParsingLoop(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();const t=this.tokenizer.getNextToken();if(t.type===n.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===n.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}runParsingLoopForCurrentChunk(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){const e=this.pendingScript;return this.pendingScript=null,void t(e)}e&&e()}_setupTokenizerCDATAMode(){const e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==_.HTML&&!this._isIntegrationPoint(e)}_switchToTextParsing(e,t){this._insertElement(e,_.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode="TEXT_MODE"}switchToPlaintextParsing(){this.insertionMode="TEXT_MODE",this.originalInsertionMode="IN_BODY_MODE",this.tokenizer.state=n.MODE.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===m.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}_initTokenizerForFragmentParsing(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===_.HTML){const e=this.treeAdapter.getTagName(this.fragmentContext);e===m.TITLE||e===m.TEXTAREA?this.tokenizer.state=n.MODE.RCDATA:e===m.STYLE||e===m.XMP||e===m.IFRAME||e===m.NOEMBED||e===m.NOFRAMES||e===m.NOSCRIPT?this.tokenizer.state=n.MODE.RAWTEXT:e===m.SCRIPT?this.tokenizer.state=n.MODE.SCRIPT_DATA:e===m.PLAINTEXT&&(this.tokenizer.state=n.MODE.PLAINTEXT)}}_setDocumentType(e){const t=e.name||"",r=e.publicId||"",n=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,r,n)}_attachElementToTree(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r)}_insertElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r),this.openElements.push(r)}_insertFakeElement(e){const t=this.treeAdapter.createElement(e,_.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,_.HTML,e.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,r),this._attachElementToTree(t),this.openElements.push(t)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(m.HTML,_.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}_appendCommentNode(e,t){const r=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,r)}_insertCharacters(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}_adoptNodes(e,t){for(let r=this.treeAdapter.getFirstChild(e);r;r=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(t,r)}_shouldProcessTokenInForeignContent(e){const t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;const r=this.treeAdapter.getNamespaceURI(t);if(r===_.HTML)return!1;if(this.treeAdapter.getTagName(t)===m.ANNOTATION_XML&&r===_.MATHML&&e.type===n.START_TAG_TOKEN&&e.tagName===m.SVG)return!1;const s=e.type===n.CHARACTER_TOKEN||e.type===n.NULL_CHARACTER_TOKEN||e.type===n.WHITESPACE_CHARACTER_TOKEN;return!((e.type===n.START_TAG_TOKEN&&e.tagName!==m.MGLYPH&&e.tagName!==m.MALIGNMARK||s)&&this._isIntegrationPoint(t,_.MATHML)||(e.type===n.START_TAG_TOKEN||s)&&this._isIntegrationPoint(t,_.HTML)||e.type===n.EOF_TOKEN)}_processToken(e){A[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){A.IN_BODY_MODE[e.type](this,e)}_processTokenInForeignContent(e){e.type===n.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===n.NULL_CHARACTER_TOKEN?function(e,t){t.chars=g.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===n.WHITESPACE_CHARACTER_TOKEN?M(this,e):e.type===n.COMMENT_TOKEN?D(this,e):e.type===n.START_TAG_TOKEN?function(e,t){if(d.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==_.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{const r=e._getAdjustedCurrentElement(),n=e.treeAdapter.getNamespaceURI(r);n===_.MATHML?d.adjustTokenMathMLAttrs(t):n===_.SVG&&(d.adjustTokenSVGTagName(t),d.adjustTokenSVGAttrs(t)),d.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,n):e._insertElement(t,n),t.ackSelfClosing=!0}}(this,e):e.type===n.END_TAG_TOKEN&&function(e,t){for(let r=e.openElements.stackTop;r>0;r--){const n=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(n)===_.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(n).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(n);break}}}(this,e)}_processInputToken(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===n.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(p.nonVoidHtmlElementStartTagWithTrailingSolidus)}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e),s=this.treeAdapter.getAttrList(e);return d.isIntegrationPoint(r,n,s,t)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.length;if(e){let t=e,r=null;do{if(t--,r=this.activeFormattingElements.entries[t],r.type===i.MARKER_ENTRY||this.openElements.contains(r.element)){t++;break}}while(t>0);for(let n=t;n=0;e--){let r=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(r=this.fragmentContext));const n=this.treeAdapter.getTagName(r),s=b[n];if(s){this.insertionMode=s;break}if(!(t||n!==m.TD&&n!==m.TH)){this.insertionMode="IN_CELL_MODE";break}if(!t&&n===m.HEAD){this.insertionMode="IN_HEAD_MODE";break}if(n===m.SELECT){this._resetInsertionModeForSelect(e);break}if(n===m.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(n===m.HTML){this.insertionMode=this.headElement?"AFTER_HEAD_MODE":"BEFORE_HEAD_MODE";break}if(t){this.insertionMode="IN_BODY_MODE";break}}}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.items[t],r=this.treeAdapter.getTagName(e);if(r===m.TEMPLATE)break;if(r===m.TABLE)return void(this.insertionMode="IN_SELECT_IN_TABLE_MODE")}this.insertionMode="IN_SELECT_MODE"}_pushTmplInsertionMode(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}_popTmplInsertionMode(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}_isElementCausesFosterParenting(e){const t=this.treeAdapter.getTagName(e);return t===m.TABLE||t===m.TBODY||t===m.TFOOT||t===m.THEAD||t===m.TR}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}_findFosterParentingLocation(){const e={parent:null,beforeElement:null};for(let t=this.openElements.stackTop;t>=0;t--){const r=this.openElements.items[t],n=this.treeAdapter.getTagName(r),s=this.treeAdapter.getNamespaceURI(r);if(n===m.TEMPLATE&&s===_.HTML){e.parent=this.treeAdapter.getTemplateContent(r);break}if(n===m.TABLE){e.parent=this.treeAdapter.getParentNode(r),e.parent?e.beforeElement=r:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_fosterParentText(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}_isSpecialElement(e){const t=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e);return f.SPECIAL_ELEMENTS[r][t]}}},function(e,t,r){"use strict";const n=r(103),s=r(104),i=n.CODE_POINTS;e.exports=class{constructor(){this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}_err(){}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.lastCharPos){const t=this.html.charCodeAt(this.pos+1);if(n.isSurrogatePair(t))return this.pos++,this._addGap(),n.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,i.EOF;return this._err(s.surrogateInInputStream),e}dropParsedChunk(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}write(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}advance(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,i.EOF;let e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===i.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===i.CARRIAGE_RETURN?(this.skipNextNewLine=!0,i.LINE_FEED):(this.skipNextNewLine=!1,n.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===i.LINE_FEED||e===i.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}_checkForProblematicCharacters(e){n.isControlCodePoint(e)?this._err(s.controlCharacterInInputStream):n.isUndefinedCodePoint(e)&&this._err(s.noncharacterInInputStream)}retreat(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}},function(e,t,r){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},function(e,t,r){"use strict";const n=r(48),s=n.TAG_NAMES,i=n.NAMESPACES;function a(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI;case 3:return e===s.RTC;case 6:return e===s.OPTION;case 8:return e===s.OPTGROUP}return!1}function o(e){switch(e.length){case 1:return e===s.P;case 2:return e===s.RB||e===s.RP||e===s.RT||e===s.DD||e===s.DT||e===s.LI||e===s.TD||e===s.TH||e===s.TR;case 3:return e===s.RTC;case 5:return e===s.TBODY||e===s.TFOOT||e===s.THEAD;case 6:return e===s.OPTION;case 7:return e===s.CAPTION;case 8:return e===s.OPTGROUP||e===s.COLGROUP}return!1}function l(e,t){switch(e.length){case 2:if(e===s.TD||e===s.TH)return t===i.HTML;if(e===s.MI||e===s.MO||e===s.MN||e===s.MS)return t===i.MATHML;break;case 4:if(e===s.HTML)return t===i.HTML;if(e===s.DESC)return t===i.SVG;break;case 5:if(e===s.TABLE)return t===i.HTML;if(e===s.MTEXT)return t===i.MATHML;if(e===s.TITLE)return t===i.SVG;break;case 6:return(e===s.APPLET||e===s.OBJECT)&&t===i.HTML;case 7:return(e===s.CAPTION||e===s.MARQUEE)&&t===i.HTML;case 8:return e===s.TEMPLATE&&t===i.HTML;case 13:return e===s.FOREIGN_OBJECT&&t===i.SVG;case 14:return e===s.ANNOTATION_XML&&t===i.MATHML}return!1}e.exports=class{constructor(e,t){this.stackTop=-1,this.items=[],this.current=e,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=t}_indexOf(e){let t=-1;for(let r=this.stackTop;r>=0;r--)if(this.items[r]===e){t=r;break}return t}_isInTemplate(){return this.currentTagName===s.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===i.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}push(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}pop(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}replace(e,t){const r=this._indexOf(e);this.items[r]=t,r===this.stackTop&&this._updateCurrentElement()}insertAfter(e,t){const r=this._indexOf(e)+1;this.items.splice(r,0,t),r===++this.stackTop&&this._updateCurrentElement()}popUntilTagNamePopped(e){for(;this.stackTop>-1;){const t=this.currentTagName,r=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&r===i.HTML)break}}popUntilElementPopped(e){for(;this.stackTop>-1;){const t=this.current;if(this.pop(),t===e)break}}popUntilNumberedHeaderPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.H1||e===s.H2||e===s.H3||e===s.H4||e===s.H5||e===s.H6&&t===i.HTML)break}}popUntilTableCellPopped(){for(;this.stackTop>-1;){const e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===s.TD||e===s.TH&&t===i.HTML)break}}popAllUpToHtmlElement(){this.stackTop=0,this._updateCurrentElement()}clearBackToTableContext(){for(;this.currentTagName!==s.TABLE&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableBodyContext(){for(;this.currentTagName!==s.TBODY&&this.currentTagName!==s.TFOOT&&this.currentTagName!==s.THEAD&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}clearBackToTableRowContext(){for(;this.currentTagName!==s.TR&&this.currentTagName!==s.TEMPLATE&&this.currentTagName!==s.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML;)this.pop()}remove(e){for(let t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}tryPeekProperlyNestedBodyElement(){const e=this.items[1];return e&&this.treeAdapter.getTagName(e)===s.BODY?e:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e);return--t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.currentTagName===s.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(l(r,n))return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]),r=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===s.H1||t===s.H2||t===s.H3||t===s.H4||t===s.H5||t===s.H6)&&r===i.HTML)return!0;if(l(t,r))return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if((r===s.UL||r===s.OL)&&n===i.HTML||l(r,n))return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]),n=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&n===i.HTML)return!0;if(r===s.BUTTON&&n===i.HTML||l(r,n))return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r===s.TABLE||r===s.TEMPLATE||r===s.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===i.HTML){if(t===s.TBODY||t===s.THEAD||t===s.TFOOT)return!0;if(t===s.TABLE||t===s.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===i.HTML){if(r===e)return!0;if(r!==s.OPTION&&r!==s.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;a(this.currentTagName);)this.pop()}generateImpliedEndTagsThoroughly(){for(;o(this.currentTagName);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;a(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}},function(e,t,r){"use strict";class n{constructor(e){this.length=0,this.entries=[],this.treeAdapter=e,this.bookmark=null}_getNoahArkConditionCandidates(e){const t=[];if(this.length>=3){const r=this.treeAdapter.getAttrList(e).length,s=this.treeAdapter.getTagName(e),i=this.treeAdapter.getNamespaceURI(e);for(let e=this.length-1;e>=0;e--){const a=this.entries[e];if(a.type===n.MARKER_ENTRY)break;const o=a.element,l=this.treeAdapter.getAttrList(o);this.treeAdapter.getTagName(o)===s&&this.treeAdapter.getNamespaceURI(o)===i&&l.length===r&&t.push({idx:e,attrs:l})}}return t.length<3?[]:t}_ensureNoahArkCondition(e){const t=this._getNoahArkConditionCandidates(e);let r=t.length;if(r){const n=this.treeAdapter.getAttrList(e),s=n.length,i=Object.create(null);for(let e=0;e=2;e--)this.entries.splice(t[e].idx,1),this.length--}}insertMarker(){this.entries.push({type:n.MARKER_ENTRY}),this.length++}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.push({type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}insertElementAfterBookmark(e,t){let r=this.length-1;for(;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:n.ELEMENT_ENTRY,element:e,token:t}),this.length++}removeEntry(e){for(let t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}clearToLastMarker(){for(;this.length;){const e=this.entries.pop();if(this.length--,e.type===n.MARKER_ENTRY)break}}getElementEntryInScopeWithTagName(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===e)return r}return null}getElementEntry(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===n.ELEMENT_ENTRY&&r.element===e)return r}return null}}n.MARKER_ENTRY="MARKER_ENTRY",n.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=n},function(e,t,r){"use strict";const n=r(33),s=r(84),i=r(174),a=r(389),o=r(48).TAG_NAMES;e.exports=class extends n{constructor(e){super(e),this.parser=e,this.treeAdapter=this.parser.treeAdapter,this.posTracker=null,this.lastStartTagToken=null,this.lastFosterParentingLocation=null,this.currentToken=null}_setStartLocation(e){let t=null;this.lastStartTagToken&&(t=Object.assign({},this.lastStartTagToken.location),t.startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}_setEndLocation(e,t){const r=this.treeAdapter.getNodeSourceCodeLocation(e);if(r&&t.location){const n=t.location,i=this.treeAdapter.getTagName(e);t.type===s.END_TAG_TOKEN&&i===t.tagName?(r.endTag=Object.assign({},n),r.endLine=n.endLine,r.endCol=n.endCol,r.endOffset=n.endOffset):(r.endLine=n.startLine,r.endCol=n.startCol,r.endOffset=n.startOffset)}}_getOverriddenMethods(e,t){return{_bootstrap(r,s){t._bootstrap.call(this,r,s),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;const o=n.install(this.tokenizer,i);e.posTracker=o.posTracker,n.install(this.openElements,a,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop(r){t._runParsingLoop.call(this,r);for(let t=this.openElements.stackTop;t>=0;t--)e._setEndLocation(this.openElements.items[t],e.currentToken)},_processTokenInForeignContent(r){e.currentToken=r,t._processTokenInForeignContent.call(this,r)},_processToken(r){if(e.currentToken=r,t._processToken.call(this,r),r.type===s.END_TAG_TOKEN&&(r.tagName===o.HTML||r.tagName===o.BODY&&this.openElements.hasInScope(o.BODY)))for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];if(this.treeAdapter.getTagName(n)===r.tagName){e._setEndLocation(n,r);break}}},_setDocumentType(e){t._setDocumentType.call(this,e);const r=this.treeAdapter.getChildNodes(this.document),n=r.length;for(let t=0;t0;t--)e.onItemPop(this.items[t]);t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current),t.remove.call(this,r)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(391),i=r(174),a=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.opts=t,this.ctLoc=null,this.locBeforeToken=!1}_setErrorLocation(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}_getOverriddenMethods(e,t){return{_bootstrap(r,n){t._bootstrap.call(this,r,n),a.install(this.tokenizer,s,e.opts),a.install(this.tokenizer,i)},_processInputToken(r){e.ctLoc=r.location,t._processInputToken.call(this,r)},_err(t,r){e.locBeforeToken=r&&r.beforeToken,e._reportError(t)}}}}},function(e,t,r){"use strict";const n=r(105),s=r(392),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,s,t);this.posTracker=r.posTracker}}},function(e,t,r){"use strict";const n=r(105),s=r(175),i=r(33);e.exports=class extends n{constructor(e,t){super(e,t),this.posTracker=i.install(e,s),this.lastErrOffset=-1}_reportError(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,super._reportError(e))}}},function(e,t,r){"use strict";const n=r(84),s=r(48),i=s.TAG_NAMES,a=s.NAMESPACES,o=s.ATTRS,l={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},c={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:a.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:a.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:a.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:a.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:a.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:a.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:a.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:a.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:a.XML},"xml:space":{prefix:"xml",name:"space",namespace:a.XML},xmlns:{prefix:"",name:"xmlns",namespace:a.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:a.XMLNS}},u=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},h={[i.B]:!0,[i.BIG]:!0,[i.BLOCKQUOTE]:!0,[i.BODY]:!0,[i.BR]:!0,[i.CENTER]:!0,[i.CODE]:!0,[i.DD]:!0,[i.DIV]:!0,[i.DL]:!0,[i.DT]:!0,[i.EM]:!0,[i.EMBED]:!0,[i.H1]:!0,[i.H2]:!0,[i.H3]:!0,[i.H4]:!0,[i.H5]:!0,[i.H6]:!0,[i.HEAD]:!0,[i.HR]:!0,[i.I]:!0,[i.IMG]:!0,[i.LI]:!0,[i.LISTING]:!0,[i.MENU]:!0,[i.META]:!0,[i.NOBR]:!0,[i.OL]:!0,[i.P]:!0,[i.PRE]:!0,[i.RUBY]:!0,[i.S]:!0,[i.SMALL]:!0,[i.SPAN]:!0,[i.STRONG]:!0,[i.STRIKE]:!0,[i.SUB]:!0,[i.SUP]:!0,[i.TABLE]:!0,[i.TT]:!0,[i.U]:!0,[i.UL]:!0,[i.VAR]:!0};t.causesExit=function(e){const t=e.tagName;return!(t!==i.FONT||null===n.getTokenAttr(e,o.COLOR)&&null===n.getTokenAttr(e,o.SIZE)&&null===n.getTokenAttr(e,o.FACE))||h[t]},t.adjustTokenMathMLAttrs=function(e){for(let t=0;t/g;class f{constructor(e,t){this.options=s(c,t),this.treeAdapter=this.options.treeAdapter,this.html="",this.startNode=e}serialize(){return this._serializeChildNodes(this.startNode),this.html}_serializeChildNodes(e){const t=this.treeAdapter.getChildNodes(e);if(t)for(let e=0,r=t.length;e",t!==o.AREA&&t!==o.BASE&&t!==o.BASEFONT&&t!==o.BGSOUND&&t!==o.BR&&t!==o.COL&&t!==o.EMBED&&t!==o.FRAME&&t!==o.HR&&t!==o.IMG&&t!==o.INPUT&&t!==o.KEYGEN&&t!==o.LINK&&t!==o.META&&t!==o.PARAM&&t!==o.SOURCE&&t!==o.TRACK&&t!==o.WBR){const n=t===o.TEMPLATE&&r===l.HTML?this.treeAdapter.getTemplateContent(e):e;this._serializeChildNodes(n),this.html+=""+t+">"}}_serializeAttributes(e){const t=this.treeAdapter.getAttrList(e);for(let e=0,r=t.length;e"}}f.escapeString=function(e,t){return e=e.replace(u,"&").replace(h," "),t?e.replace(d,"""):e.replace(p,"<").replace(g,">")},e.exports=f},,function(e,t,r){"use strict";r.r(t),r.d(t,"App",(function(){return Zc})),r.d(t,"Assessor",(function(){return fa})),r.d(t,"ContentAssessor",(function(){return ja})),r.d(t,"SeoAssessor",(function(){return ka})),r.d(t,"TaxonomyAssessor",(function(){return Ua})),r.d(t,"Pluggable",(function(){return Sc})),r.d(t,"SnippetPreview",(function(){return Yc})),r.d(t,"Paper",(function(){return Ka})),r.d(t,"AssessmentResult",(function(){return yi})),r.d(t,"Assessment",(function(){return Ti})),r.d(t,"AnalysisWebWorker",(function(){return gc})),r.d(t,"AnalysisWorkerWrapper",(function(){return mc})),r.d(t,"createWorker",(function(){return Tc})),r.d(t,"assessments",(function(){return h})),r.d(t,"bundledPlugins",(function(){return d})),r.d(t,"config",(function(){return g})),r.d(t,"helpers",(function(){return c})),r.d(t,"markers",(function(){return p})),r.d(t,"interpreters",(function(){return u})),r.d(t,"languageProcessing",(function(){return l})),r.d(t,"values",(function(){return f})),r.d(t,"DIFFICULTY",(function(){return Tn})),r.d(t,"Factory",(function(){return tu}));var n={};r.r(n),r.d(n,"doesWordMatchRegex",(function(){return Zs})),r.d(n,"searchAndReplaceWithRegex",(function(){return ei})),r.d(n,"applyAllReplacements",(function(){return ti}));var s={};r.r(s),r.d(s,"checkIfWordEndingIsOnExceptionList",(function(){return ri})),r.d(s,"checkIfWordIsOnListThatCanHavePrefix",(function(){return ni})),r.d(s,"checkExceptionListWithTwoStems",(function(){return si}));var i={};r.r(i),r.d(i,"removeSuffixesFromFullForm",(function(){return ii})),r.d(i,"removeSuffixFromFullForm",(function(){return ai}));var a={};r.r(a),r.d(a,"Clause",(function(){return li})),r.d(a,"ProminentWord",(function(){return Ln})),r.d(a,"Sentence",(function(){return Nn}));var o={};r.r(o),r.d(o,"matchStringWithRegex",(function(){return bt})),r.d(o,"normalize",(function(){return Xt})),r.d(o,"removeHtmlBlocks",(function(){return kr}));var l={};r.r(l),r.d(l,"AbstractResearcher",(function(){return Ps})),r.d(l,"transliterate",(function(){return Ke})),r.d(l,"replaceDiacritics",(function(){return y})),r.d(l,"createRegexFromArray",(function(){return vt})),r.d(l,"imageInText",(function(){return At})),r.d(l,"stripSpaces",(function(){return Ve})),r.d(l,"baseStemmer",(function(){return Ot})),r.d(l,"getWords",(function(){return It})),r.d(l,"flattenSortLength",(function(){return Fs})),r.d(l,"indices",(function(){return Ks})),r.d(l,"buildFormRule",(function(){return qs})),r.d(l,"createRulesFromArrays",(function(){return zs})),r.d(l,"createSingleRuleFromArray",(function(){return Gs})),r.d(l,"matchRegularParticiples",(function(){return Ws})),r.d(l,"directPrecedenceException",(function(){return Ys})),r.d(l,"precedenceException",(function(){return Vs})),r.d(l,"nonDirectPrecedenceException",(function(){return Xs})),r.d(l,"findMatchingEndingInArray",(function(){return Js})),r.d(l,"regexHelpers",(function(){return n})),r.d(l,"exceptionListHelpers",(function(){return s})),r.d(l,"stemHelpers",(function(){return i})),r.d(l,"areWordsInSentence",(function(){return ci})),r.d(l,"values",(function(){return a})),r.d(l,"getClauses",(function(){return pi})),r.d(l,"getClausesSplitOnStopWords",(function(){return gi})),r.d(l,"stripHTMLTags",(function(){return mt})),r.d(l,"stripBlockTagsAtStartEnd",(function(){return ft})),r.d(l,"countMetaDescriptionLength",(function(){return bs})),r.d(l,"sanitizeString",(function(){return Et})),r.d(l,"removePunctuation",(function(){return Nt})),r.d(l,"getLanguage",(function(){return A})),r.d(l,"getSentences",(function(){return vr})),r.d(l,"getFieldsToMark",(function(){return mi})),r.d(l,"unifyAllSpaces",(function(){return Tt})),r.d(l,"normalizeHTML",(function(){return fi})),r.d(l,"collectMarkingsInSentence",(function(){return ds})),r.d(l,"normalizeSingle",(function(){return Qt})),r.d(l,"parseSynonyms",(function(){return zr})),r.d(l,"mergeListItems",(function(){return _i})),r.d(l,"findWordFormsInString",(function(){return er})),r.d(l,"markWordsInSentences",(function(){return ps})),r.d(l,"helpers",(function(){return o}));var c={};r.r(c),r.d(c,"measureTextWidth",(function(){return xi})),r.d(c,"getLanguagesWithWordFormSupport",(function(){return Di})),r.d(c,"formatNumber",(function(){return Li})),r.d(c,"getLanguagesWithWordComplexity",(function(){return Mi})),r.d(c,"createAnchorOpeningTag",(function(){return Ei.b}));var u={};r.r(u),r.d(u,"scoreToRating",(function(){return Pa}));var h={};r.r(h),r.d(h,"readability",(function(){return Ec})),r.d(h,"seo",(function(){return vc})),r.d(h,"inclusiveLanguage",(function(){return bc}));var d={};r.r(d),r.d(d,"usedKeywords",(function(){return Ac}));var p={};r.r(p),r.d(p,"addMark",(function(){return Ca})),r.d(p,"removeMarks",(function(){return Oc}));var g={};r.r(g),r.d(g,"presenter",(function(){return Cc}));var f={};r.r(f),r.d(f,"AssessmentResult",(function(){return yi})),r.d(f,"Mark",(function(){return us})),r.d(f,"Paper",(function(){return Ka}));var m=r(198),_=r(4),T=r(2),E=r(199),v=r(18),b=r.n(v),y=function(e){const t=[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}];for(let r=0;r1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";t="id_ID"===i?'[ \\u00a0\\n\\r\\t.,()”“〝〞〟‟„"+;!¡?¿:/»«‹›'+s+"<>":'[ \\u00a0\\u2014\\u06d4\\u061f\\u060C\\u061B\\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+s+"<>";const a="(^|"+t+"'‘’‛`])";return r=n?"($|((?="+t+"]))|((['‘’‛`])("+t+"])))":"($|("+t+"])|((['‘’‛`])("+t+"])))",a+e+r};const Ge=new RegExp("().*?(
)","igs");function ze(e){return e.replace(Ge,"")}const We=new RegExp("",wt=Ct.split(""),St=new RegExp("^["+Ct+"]+"),kt=new RegExp("["+Ct+"]+$");var Nt=function(e){e=(e=_t(e)).replace("&","");const t=new RegExp("(\\\\)","g");return(e=(e=e.replace(t,"")).replace(St,"")).replace(kt,"")};const Rt=new RegExp(`([${Ct}])`,"g");var It=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(""===(e=Et(e)))return[];let r=e.split(/\s/g);return r=t?r.map(Nt):Object(T.flatMap)(r,e=>e.replace(Rt," $1 ").split(" ")),Object(T.filter)(r,(function(e){return""!==e.trim()}))};function xt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}r(158),b.a.inherits(xt,Error);var Dt=xt;function Lt(e){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e}b.a.inherits(Lt,Error);var Mt=Lt,Pt=function(e){let t="";return"img"===e.name&&(t=Ve(e.attributes.alt||""),t=t.replace(/"/g,'"'),t=t.replace(/'/g,"'")),t},Ft=function(e){return e=e.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""),Ve(e)};const jt=[{letter:/[\u00A3]/g,alternative:""},{letter:/[\u20AC]/g,alternative:"E"},{letter:/[\u00AA]/g,alternative:"a"},{letter:/[\u00BA]/g,alternative:"o"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u00C3]/g,alternative:"A"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00C5]/g,alternative:"A"},{letter:/[\u00C6]/g,alternative:"AE"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00C8]/g,alternative:"E"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00CA]/g,alternative:"E"},{letter:/[\u00CB]/g,alternative:"E"},{letter:/[\u00CC]/g,alternative:"I"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00CE]/g,alternative:"I"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00D2]/g,alternative:"O"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00D5]/g,alternative:"O"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u00D8]/g,alternative:"O"},{letter:/[\u00D9]/g,alternative:"U"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00DB]/g,alternative:"U"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00DE]/g,alternative:"TH"},{letter:/[\u00DF]/g,alternative:"s"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00E3]/g,alternative:"a"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00E5]/g,alternative:"a"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00E8]/g,alternative:"e"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00EA]/g,alternative:"e"},{letter:/[\u00EB]/g,alternative:"e"},{letter:/[\u00EC]/g,alternative:"i"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00EE]/g,alternative:"i"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00F2]/g,alternative:"o"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00F5]/g,alternative:"o"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00F8]/g,alternative:"o"},{letter:/[\u00F9]/g,alternative:"u"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00FB]/g,alternative:"u"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0102]/g,alternative:"A"},{letter:/[\u0103]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0108]/g,alternative:"C"},{letter:/[\u0109]/g,alternative:"c"},{letter:/[\u010A]/g,alternative:"C"},{letter:/[\u010B]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0114]/g,alternative:"E"},{letter:/[\u0115]/g,alternative:"e"},{letter:/[\u0116]/g,alternative:"E"},{letter:/[\u0117]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u011A]/g,alternative:"E"},{letter:/[\u011B]/g,alternative:"e"},{letter:/[\u011C]/g,alternative:"G"},{letter:/[\u011D]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u0120]/g,alternative:"G"},{letter:/[\u0121]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0124]/g,alternative:"H"},{letter:/[\u0125]/g,alternative:"h"},{letter:/[\u0126]/g,alternative:"H"},{letter:/[\u0127]/g,alternative:"h"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012C]/g,alternative:"I"},{letter:/[\u012D]/g,alternative:"i"},{letter:/[\u012E]/g,alternative:"I"},{letter:/[\u012F]/g,alternative:"i"},{letter:/[\u0130]/g,alternative:"I"},{letter:/[\u0131]/g,alternative:"i"},{letter:/[\u0132]/g,alternative:"IJ"},{letter:/[\u0133]/g,alternative:"ij"},{letter:/[\u0134]/g,alternative:"J"},{letter:/[\u0135]/g,alternative:"j"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0138]/g,alternative:"k"},{letter:/[\u0139]/g,alternative:"L"},{letter:/[\u013A]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013D]/g,alternative:"L"},{letter:/[\u013E]/g,alternative:"l"},{letter:/[\u013F]/g,alternative:"L"},{letter:/[\u0140]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0149]/g,alternative:"n"},{letter:/[\u014A]/g,alternative:"N"},{letter:/[\u014B]/g,alternative:"n"},{letter:/[\u014C]/g,alternative:"O"},{letter:/[\u014D]/g,alternative:"o"},{letter:/[\u014E]/g,alternative:"O"},{letter:/[\u014F]/g,alternative:"o"},{letter:/[\u0150]/g,alternative:"O"},{letter:/[\u0151]/g,alternative:"o"},{letter:/[\u0152]/g,alternative:"OE"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0156]/g,alternative:"R"},{letter:/[\u0157]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015C]/g,alternative:"S"},{letter:/[\u015D]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0162]/g,alternative:"T"},{letter:/[\u0163]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0166]/g,alternative:"T"},{letter:/[\u0167]/g,alternative:"t"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016C]/g,alternative:"U"},{letter:/[\u016D]/g,alternative:"u"},{letter:/[\u016E]/g,alternative:"U"},{letter:/[\u016F]/g,alternative:"u"},{letter:/[\u0170]/g,alternative:"U"},{letter:/[\u0171]/g,alternative:"u"},{letter:/[\u0172]/g,alternative:"U"},{letter:/[\u0173]/g,alternative:"u"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0176]/g,alternative:"Y"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u0179]/g,alternative:"Z"},{letter:/[\u017A]/g,alternative:"z"},{letter:/[\u017B]/g,alternative:"Z"},{letter:/[\u017C]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017F]/g,alternative:"s"},{letter:/[\u01A0]/g,alternative:"O"},{letter:/[\u01A1]/g,alternative:"o"},{letter:/[\u01AF]/g,alternative:"U"},{letter:/[\u01B0]/g,alternative:"u"},{letter:/[\u01CD]/g,alternative:"A"},{letter:/[\u01CE]/g,alternative:"a"},{letter:/[\u01CF]/g,alternative:"I"},{letter:/[\u01D0]/g,alternative:"i"},{letter:/[\u01D1]/g,alternative:"O"},{letter:/[\u01D2]/g,alternative:"o"},{letter:/[\u01D3]/g,alternative:"U"},{letter:/[\u01D4]/g,alternative:"u"},{letter:/[\u01D5]/g,alternative:"U"},{letter:/[\u01D6]/g,alternative:"u"},{letter:/[\u01D7]/g,alternative:"U"},{letter:/[\u01D8]/g,alternative:"u"},{letter:/[\u01D9]/g,alternative:"U"},{letter:/[\u01DA]/g,alternative:"u"},{letter:/[\u01DB]/g,alternative:"U"},{letter:/[\u01DC]/g,alternative:"u"},{letter:/[\u0218]/g,alternative:"S"},{letter:/[\u0219]/g,alternative:"s"},{letter:/[\u021A]/g,alternative:"T"},{letter:/[\u021B]/g,alternative:"t"},{letter:/[\u0251]/g,alternative:"a"},{letter:/[\u1EA0]/g,alternative:"A"},{letter:/[\u1EA1]/g,alternative:"a"},{letter:/[\u1EA2]/g,alternative:"A"},{letter:/[\u1EA3]/g,alternative:"a"},{letter:/[\u1EA4]/g,alternative:"A"},{letter:/[\u1EA5]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EA7]/g,alternative:"a"},{letter:/[\u1EA8]/g,alternative:"A"},{letter:/[\u1EA9]/g,alternative:"a"},{letter:/[\u1EAA]/g,alternative:"A"},{letter:/[\u1EAB]/g,alternative:"a"},{letter:/[\u1EA6]/g,alternative:"A"},{letter:/[\u1EAD]/g,alternative:"a"},{letter:/[\u1EAE]/g,alternative:"A"},{letter:/[\u1EAF]/g,alternative:"a"},{letter:/[\u1EB0]/g,alternative:"A"},{letter:/[\u1EB1]/g,alternative:"a"},{letter:/[\u1EB2]/g,alternative:"A"},{letter:/[\u1EB3]/g,alternative:"a"},{letter:/[\u1EB4]/g,alternative:"A"},{letter:/[\u1EB5]/g,alternative:"a"},{letter:/[\u1EB6]/g,alternative:"A"},{letter:/[\u1EB7]/g,alternative:"a"},{letter:/[\u1EB8]/g,alternative:"E"},{letter:/[\u1EB9]/g,alternative:"e"},{letter:/[\u1EBA]/g,alternative:"E"},{letter:/[\u1EBB]/g,alternative:"e"},{letter:/[\u1EBC]/g,alternative:"E"},{letter:/[\u1EBD]/g,alternative:"e"},{letter:/[\u1EBE]/g,alternative:"E"},{letter:/[\u1EBF]/g,alternative:"e"},{letter:/[\u1EC0]/g,alternative:"E"},{letter:/[\u1EC1]/g,alternative:"e"},{letter:/[\u1EC2]/g,alternative:"E"},{letter:/[\u1EC3]/g,alternative:"e"},{letter:/[\u1EC4]/g,alternative:"E"},{letter:/[\u1EC5]/g,alternative:"e"},{letter:/[\u1EC6]/g,alternative:"E"},{letter:/[\u1EC7]/g,alternative:"e"},{letter:/[\u1EC8]/g,alternative:"I"},{letter:/[\u1EC9]/g,alternative:"i"},{letter:/[\u1ECA]/g,alternative:"I"},{letter:/[\u1ECB]/g,alternative:"i"},{letter:/[\u1ECC]/g,alternative:"O"},{letter:/[\u1ECD]/g,alternative:"o"},{letter:/[\u1ECE]/g,alternative:"O"},{letter:/[\u1ECF]/g,alternative:"o"},{letter:/[\u1ED0]/g,alternative:"O"},{letter:/[\u1ED1]/g,alternative:"o"},{letter:/[\u1ED2]/g,alternative:"O"},{letter:/[\u1ED3]/g,alternative:"o"},{letter:/[\u1ED4]/g,alternative:"O"},{letter:/[\u1ED5]/g,alternative:"o"},{letter:/[\u1ED6]/g,alternative:"O"},{letter:/[\u1ED7]/g,alternative:"o"},{letter:/[\u1ED8]/g,alternative:"O"},{letter:/[\u1ED9]/g,alternative:"o"},{letter:/[\u1EDA]/g,alternative:"O"},{letter:/[\u1EDB]/g,alternative:"o"},{letter:/[\u1EDC]/g,alternative:"O"},{letter:/[\u1EDD]/g,alternative:"o"},{letter:/[\u1EDE]/g,alternative:"O"},{letter:/[\u1EDF]/g,alternative:"o"},{letter:/[\u1EE0]/g,alternative:"O"},{letter:/[\u1EE1]/g,alternative:"o"},{letter:/[\u1EE2]/g,alternative:"O"},{letter:/[\u1EE3]/g,alternative:"o"},{letter:/[\u1EE4]/g,alternative:"U"},{letter:/[\u1EE5]/g,alternative:"u"},{letter:/[\u1EE6]/g,alternative:"U"},{letter:/[\u1EE7]/g,alternative:"u"},{letter:/[\u1EE8]/g,alternative:"U"},{letter:/[\u1EE9]/g,alternative:"u"},{letter:/[\u1EEA]/g,alternative:"U"},{letter:/[\u1EEB]/g,alternative:"u"},{letter:/[\u1EEC]/g,alternative:"U"},{letter:/[\u1EED]/g,alternative:"u"},{letter:/[\u1EEE]/g,alternative:"U"},{letter:/[\u1EEF]/g,alternative:"u"},{letter:/[\u1EF0]/g,alternative:"U"},{letter:/[\u1EF1]/g,alternative:"u"},{letter:/[\u1EF2]/g,alternative:"Y"},{letter:/[\u1EF3]/g,alternative:"y"},{letter:/[\u1EF4]/g,alternative:"Y"},{letter:/[\u1EF5]/g,alternative:"y"},{letter:/[\u1EF6]/g,alternative:"Y"},{letter:/[\u1EF7]/g,alternative:"y"},{letter:/[\u1EF8]/g,alternative:"Y"},{letter:/[\u1EF9]/g,alternative:"y"}],Bt=[{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u1E9E]/g,alternative:"SS"},{letter:/[\u00DF]/g,alternative:"ss"}],Ut=[{letter:/[\u00C6]/g,alternative:"Ae"},{letter:/[\u00E6]/g,alternative:"ae"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E5]/g,alternative:"aa"}],Ht=[{letter:/[\u00B7]/g,alternative:"ll"}],$t=[{letter:/[\u0110]/g,alternative:"DJ"},{letter:/[\u0111]/g,alternative:"dj"}];function Kt(e,t){const r=[];if(e.indexOf(t)>-1)for(let n=0;nqe(e)).join("|"),"ig")}const s=e.match(n)||[];e=e.replace(n,"");const i=Ke(t,r),a=Yt(i,r),o=e.match(a)||[];let l=s.concat(o);const c=function(e,t){const r=function(e){if(Object(T.isUndefined)(e))return[];let t=jt;return t=t.concat(function(e){switch(e){case"de":return Bt;case"da":return Ut;case"ca":return Ht;case"sr":case"bs":return $t;default:return[]}}(A(e))),t}(t);for(let t=r.length-1;t>=0;t--)e=e.replace(r[t].letter,r[t].alternative);return e}(t,r);if(c!==i){const t=Yt(c,r),n=e.match(t)||[];l=l.concat(n)}return Object(T.map)(l,(function(e){return Ve(e)}))};function Qt(e){return e.replace(/[‘’‛`‹›]/g,"'")}function Xt(e){return function(e){return e.replace(/[“”〝〞〟‟„『』«»]/g,'"')}(Qt(e))}var Jt=function(e,t,r,n){e=Ft(e),e=Xt(e=Tt(e)),t=Xt(t);let s=n?n(e,t):Vt(e,t,r);s=Object(T.map)(s,(function(e){return Ve(Nt(e))}));const i=Object(T.map)(s,(function(t){return e.indexOf(t)}));return{count:s.length,matches:s,position:0===i.length?-1:Math.min(...i)}},Zt=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en_EN",n=arguments.length>3?arguments[3]:void 0,s=0,i=[],a=[];return Object(T.uniq)(t).forEach((function(t){const o=Jt(e,t,r,n);s+=o.count,i=i.concat(o.matches),a.push(o.position)})),a=a.filter(e=>e>=0),{count:s,matches:i,position:0===a.length?-1:Math.min(...a)}};const er=function(e,t,r,n){const s=e.length,i=Array(s);let a=[];for(let o=0;o0?1:0,a.push(s.position)}const o=Object(T.sum)(i),l={countWordMatches:o,percentWordMatches:0};return s>0&&(l.percentWordMatches=Math.round(o/s*100)),a=a.filter(e=>e>=0),l.position=0===a.length?-1:Math.min(...a),l},tr=function(e,t,r,n,s){let i=er(e.keyphraseForms,t,n,s);if(i.keyphraseOrSynonym="keyphrase",100===i.percentWordMatches||!1===r||Object(T.isEmpty)(e.synonymsForms))return i;const a=[];for(let r=0;re.percentWordMatches),l=o.indexOf(Math.max(...o));return i.percentWordMatches>=a[l].percentWordMatches||(i=a[l],i.keyphraseOrSynonym="synonym"),i};var rr=function(e){const t=e.getTree();return t?t.findAll(e=>"img"===e.name):[]};function nr(e,t){const r=rr(e),n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper");return function(e,t,r,n){const s={noAlt:0,withAlt:0,withAltKeyword:0,withAltNonKeyword:0};return e.forEach(e=>{const i=Pt(e);""!==i?Object(T.isEmpty)(t.keyphraseForms)?s.withAlt++:tr(t,i,!0,r,n).percentWordMatches>=50?s.withAltKeyword++:s.withAltNonKeyword++:s.noAlt++}),s}(r,n,e.getLocale(),s)}const sr=new RegExp("^[.]$"),ir=/^<[^><]*$/,ar=/^<([^>\s/]+)[^>]*>$/im,or=/^<\/([^>\s]+)[^>]*>$/im,lr=/^\s*[[({]\s*$/,cr=/^\s*[\])}]\s*$/,ur=["A.D.","Adm.","Adv.","B.C.","Br.","Brig.","Cmrd.","Col.","Cpl.","Cpt.","Dr.","Esq.","Fr.","Gen.","Gov.","Hon.","Jr.","Lieut.","Lt.","Maj.","Mr.","Mrs.","Ms.","Msgr.","Mx.","No.","Pfc.","Pr.","Prof.","Pvt.","Rep.","Reps.","Rev.","Rt. Hon.","Sen.","Sens.","Sgt.","Sps.","Sr.","St.","vs.","i.e.","e.g.","viz.","Mt."].map(e=>e.replace(".","\\.")),hr=vt(ur),dr="(^|$|["+[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"].map(e=>"\\"+e).join("")+"])",pr=new RegExp(dr+"[A-Za-z]$"),gr=/<\/?([^\s]+?)(\s|>)/,fr=["p","div","h1","h2","h3","h4","h5","h6","span","li","main"];class mr{constructor(){this.sentenceDelimiters='”〞〟„』›»’‛`"?!…۔؟'}getSentenceDelimiters(){return this.sentenceDelimiters}isNumber(e){return!Object(T.isNaN)(parseInt(e,10))}isBreakTag(e){return/<\/?br/.test(e)}isQuotation(e){return"'"===(e=Xt(e))||'"'===e}endsWithOrdinalDot(){return!1}isPunctuation(e){return"¿"===e||"¡"===e}removeDuplicateWhitespace(e){return e.replace(/\s+/," ")}isCapitalLetter(e){return e!==e.toLocaleLowerCase()}isSmallerThanSign(e){return"<"===e}getNextTwoCharacters(e){let t="";return Object(T.isUndefined)(e[0])||(t+=e[0].src),Object(T.isUndefined)(e[1])||(t+=e[1].src),t=this.removeDuplicateWhitespace(t),t}isLetterFromSpecificLanguage(e){return[/^[\u0590-\u05fe]+$/i,/^[\u0600-\u06FF]+$/i,/^[\uFB8A\u067E\u0686\u06AF]+$/i].some(t=>t.test(e))}isValidSentenceBeginning(e){return this.isCapitalLetter(e)||this.isLetterFromSpecificLanguage(e)||this.isNumber(e)||this.isQuotation(e)||this.isPunctuation(e)||this.isSmallerThanSign(e)}isSentenceStart(e){return!Object(T.isUndefined)(e)&&("html-start"===e.type||"html-end"===e.type||"block-start"===e.type)}isSentenceEnding(e){return!Object(T.isUndefined)(e)&&("full-stop"===e.type||"sentence-delimiter"===e.type)}isPartOfPersonInitial(e,t,r,n){return!Object(T.isUndefined)(e)&&!Object(T.isUndefined)(r)&&!Object(T.isUndefined)(n)&&!Object(T.isUndefined)(t)&&"full-stop"===e.type&&"sentence"===t.type&&pr.test(t.src)&&"sentence"===r.type&&1===r.src.trim().length&&"full-stop"===n.type}tokenizeSmallerThanContent(e,t,r){const n=e.src.substring(1),s=this.createTokenizer();this.tokenize(s.tokenizer,n);const i=this.getSentencesFromTokens(s.tokens,!1);if(i[0]=Object(T.isUndefined)(i[0])?"<":"<"+i[0],this.isValidSentenceBeginning(i[0])&&(t.push(r),r=""),r+=i[0],i.length>1){t.push(r),r="",i.shift();const e=i.pop();i.forEach(e=>{t.push(e)});const n=new RegExp("[."+this.getSentenceDelimiters()+"]$");e.match(n)?t.push(e):r=e}return{tokenSentences:t,currentSentence:r}}createTokenizer(){const e=new RegExp("^["+this.getSentenceDelimiters()+"]$"),t=new RegExp("^[^."+this.getSentenceDelimiters()+"<\\(\\)\\[\\]]+$"),r=[],n=Xe()((function(e){r.push(e)}));return n.addRule(sr,"full-stop"),n.addRule(ir,"smaller-than-sign-content"),n.addRule(ar,"html-start"),n.addRule(or,"html-end"),n.addRule(lr,"block-start"),n.addRule(cr,"block-end"),n.addRule(e,"sentence-delimiter"),n.addRule(t,"sentence"),{tokenizer:n,tokens:r}}tokenize(e,t){e.onText(t);try{e.end()}catch(e){console.error("Tokenizer end error:",e,e.tokenizer2)}}endsWithAbbreviation(e){const t=e.match(hr);if(!t)return!1;const r=t.pop();return e.endsWith(r)}isValidTagPair(e,t){const r=e.src,n=t.src,s=r.match(gr)[1];return s===n.match(gr)[1]&&fr.includes(s)}getSentencesFromTokens(e){let t,r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=[],i="";do{r=!1;const t=e[0],n=e[e.length-1];t&&n&&"html-start"===t.type&&"html-end"===n.type&&this.isValidTagPair(t,n)&&(e=e.slice(1,e.length-1),r=!0)}while(r&&e.length>1);return e.forEach((r,n)=>{let a,o,l;const c=e[n+1],u=e[n-1],h=e[n+2];switch(o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",r.type){case"html-start":case"html-end":this.isBreakTag(r.src)?(s.push(i),i=""):i+=r.src;break;case"smaller-than-sign-content":l=this.tokenizeSmallerThanContent(r,s,i),s=l.tokenSentences,i=l.currentSentence;break;case"sentence":i+=r.src;break;case"sentence-delimiter":if(i+=r.src,!Object(T.isUndefined)(c)&&"block-end"!==c.type&&"sentence-delimiter"!==c.type&&this.isCharacterASpace(c.src[0])){if(this.isQuotation(r.src)&&u&&"."!==u.src)break;this.isQuotation(r.src)||"…"===r.src?i=this.getValidSentence(a,t,o,c,s,i):(s.push(i),i="")}break;case"full-stop":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[1]:"",this.endsWithAbbreviation(i))break;if(a&&this.isNumber(o[0]))break;if(this.isPartOfPersonInitial(r,u,c,h))break;if(this.endsWithOrdinalDot(i))break;i=this.getValidSentence(a,t,o,c,s,i);break;case"block-start":i+=r.src;break;case"block-end":if(i+=r.src,o=this.getNextTwoCharacters([c,h]),a=o.length>=2,t=a?o[0]:"",a&&this.isNumber(o[0])||this.isSentenceEnding(u)&&!this.isValidSentenceBeginning(t)&&!this.isSentenceStart(c))break;this.isSentenceEnding(u)&&(this.isSentenceStart(c)||this.isValidSentenceBeginning(t))&&(s.push(i),i="")}}),""!==i&&s.push(i),n&&(s=Object(T.map)(s,(function(e){return e.trim()}))),s}getValidSentence(e,t,r,n,s,i){return(e&&this.isValidSentenceBeginning(t)&&this.isCharacterASpace(r[0])||this.isSentenceStart(n))&&(s.push(i),i=""),i}isCharacterASpace(e){return/\s/.test(e)}}var _r=Object(T.memoize)((function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=new mr,{tokenizer:n,tokens:s}=r.createTokenizer();return r.tokenize(n,e),0===s.length?[]:r.getSentencesFromTokens(s,t)}),(function(){for(var e=arguments.length,t=new Array(e),r=0;r|
)$");var vr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_r;e=Ye(e=ze(e)),e=(e=_t(e)).replace(yt,"");let r=ht(e);r=Object(T.flatMap)(r,(function(e){return e.split(Tr)})),r=r.filter(e=>!Er.test(e));let n=r.map(e=>t(e)).flat();return n=n.map(e=>ft(e).trim()),Object(T.filter)(n,Object(T.negate)(T.isEmpty))},br=function(e){return It(e).length},yr=r(49),Ar=r.n(yr);let Or,Cr=!1;const wr=["script","style","code","pre","blockquote","textarea"],Sr=new Ar.a.Parser({onopentag:function(e,t){if(Cr)return;if(Object(T.includes)(wr,e))return void(Cr=!0);const r=Object.keys(t);let n="";r.forEach((function(e){n+=" "+e+"='"+t[e]+"'"})),Or.push("<"+e+n+">")},ontext:function(e){Cr||Or.push(e)},onclosetag:function(e){Object(T.includes)(wr,e)?Cr=!1:Cr||Or.push(""+e+">")}},{decodeEntities:!0});var kr=function(e){return Or=[],Sr.write(e),Sr.parseComplete(),Or.join("")},Nr=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),function(e,t){const r=[];return Object(T.forEach)(e,(function(e){const n=mt(e),s=t.getHelper("customCountLength"),i=s?s(n):br(n);i<=0||r.push({sentence:e,sentenceLength:i})})),r}(vr(n,r),t)},Rr=function(e,t){const r=t.getResearch("getParagraphs")[0],n=t.getResearch("morphology"),s=t.getHelper("matchWordCustomHelper"),i=e.getLocale(),a={foundInOneSentence:!1,foundInParagraph:!1,keyphraseOrSynonym:""};if(Object(T.isEmpty)(r))return a;const o=r.sentences.map(e=>e.text);if(!Object(T.isEmpty)(o)){const e=o.map(e=>tr(n,e,!0,i,s)).find(e=>100===e.percentWordMatches);if(e)return a.foundInOneSentence=!0,a.foundInParagraph=!0,a.keyphraseOrSynonym=e.keyphraseOrSynonym,a;const t=tr(n,r.innerText(),!0,i,s);if(100===t.percentWordMatches)return a.foundInParagraph=!0,a.keyphraseOrSynonym=t.keyphraseOrSynonym,a}return a},Ir=["“","”","〝","〞","〟","‟","„",'"',"「","」","『","』"];function xr(e){const t={exactMatchRequested:!1,keyphrase:e};return Ir.includes(e[0])&&Ir.includes(e[e.length-1])&&(t.keyphrase=e.substring(1,e.length-1),t.exactMatchRequested=!0),t}let Dr=[];const Lr=function(e,t){return 0===t||0===Dr.length?t:function(e){e=e.toLocaleLowerCase();let t=It(e.toLocaleLowerCase());return t=Object(T.filter)(t,(function(e){return!Object(T.includes)(Dr,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(t)}(e.substr(0,t))?0:t};var Mr=function(e,t){Dr=t.getConfig("functionWords");let r=Object(T.escapeRegExp)(e.getKeyword());const n=e.getTitle(),s=e.getLocale(),i={exactMatchFound:!1,allWordsFound:!1,position:-1,exactMatchKeyphrase:!1},a=xr(r);a.exactMatchRequested&&(r=a.keyphrase,i.exactMatchKeyphrase=!0);const o=Jt(n,r,s,!1);if(o.count>0)return i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,o.position),i;if(!o){const e=r;return e.count>0&&(i.exactMatchFound=!0,i.allWordsFound=!0,i.position=Lr(n,e.position)),i}const l=t.getResearch("morphology");return 100===tr(l,n,!1,s,!1).percentWordMatches&&(i.allWordsFound=!0),i};const Pr=[" ","\\n","\\r","\\t"," ","۔","؟","،","؛"," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">","”","“","〝","〞","〟","‟","„"],Fr=function(e){return Object(T.includes)(Pr,e)},jr=function(e,t){e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase();const r=qe(Object(T.escapeRegExp)(e));let n=t.search(new RegExp(r,"ig"));if(-1===n)return!1;n>0&&(n+=1);const s=n+e.length,i=Fr(t[n-1])||0===n,a=Fr(t[s])||s===t.length;return i&&a};let Br=null,Ur="";const Hr=function(e,t){e=Qt(e);const r=function(e){const t=Object(T.flattenDeep)(e).join("");return Ur===t&&null!==Br||(Ur=t,Br=function(e){const t="("+(e=e.map((function(e){return function(e){return(e=e.map((function(e){return qe(e)}))).join("(.*?)")}(e)}))).join(")|(")+")";return new RegExp(t,"ig")}(e)),Br}(t);return e.match(r)};var $r=function(e,t){const r=t.getHelper("matchTransitionWordsHelper"),n=t.getConfig("transitionWords"),s=t.getConfig("twoPartTransitionWords"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a);const o=vr(a,i),l=function(e,t,r,n){const s=[];return e.forEach(e=>{if(r){const t=Hr(e,r);if(null!==t)return void s.push({sentence:e,transitionWords:t})}const i=n?n(e,t):function(e,t){return e=Qt(e),t.filter(t=>jr(t,e))}(e,t);0!==i.length&&s.push({sentence:e,transitionWords:i})}),s}(o,n,s,r);return{totalSentences:o.length,sentenceResults:l,transitionWordSentences:l.length}},Kr=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getWordsCustomHelper"),s=e.getKeyword();if(xr(s).exactMatchRequested)return!1;let i=n?n(s):It(s);return i=Object(T.filter)(i,(function(e){return!Object(T.includes)(r,e.trim().toLocaleLowerCase())})),Object(T.isEmpty)(i)};const qr=new RegExp("^[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+"),Gr=new RegExp("[\\–\\-\\(\\)_\\[\\]’'.?!:;,¿¡«»‹›—×+&<>]+$");var zr=function(e){let t=e.split(",");return t=t.map(e=>Ve(e).replace(qr,"").replace(Gr,"")).filter(e=>e),t},Wr=r(71),Yr=r.n(Wr);const Vr=/href=(["'])([^"']+)\1/i;function Qr(e){return e.split("#")[0]}function Xr(e){return e.split("?")[0]}function Jr(e){return e.replace(/\/$/,"")}function Zr(e){return Jr(e)+"/"}var en=function(e){const t=Vr.exec(e);return null===t?"":t[2]},tn=function(e,t){return e=Xr(Qr(e)),t=Xr(Qr(t)),Zr(e)===Zr(t)},rn=function(e){return Yr.a.parse(e).protocol},nn=function(e,t){const r=Yr.a.parse(e,!1,!0).hostname;return-1===e.indexOf("//")&&0===e.indexOf("/")||0!==e.indexOf("#")&&(!r||r===t||r===Yr.a.parse(t).hostname)},sn=function(e){return!!e&&("http:"===e||"https:"===e)},an=function(e){return 0===e.indexOf("#")};let on=[];var ln=function(e,t){on=t.getConfig("functionWords");const r={anchorsWithKeyphrase:[],anchorsWithKeyphraseCount:0};if(""===e.getText())return r;const n=e.getKeyword();if(""===n)return r;const s=zr(e.getSynonyms());s.push(n);let i=e.getTree().findAll(e=>"a"===e.name);if(i=function(e,t){const r=e.map((function(e){const r=e.attributes.href;return!!r&&function(e,t){return Boolean(tn(e,t)||an(e))}(r,t)}));return e.filter((e,t)=>!r[t])}(i,e.getPermalink()),0===i.length)return r;const a=e.getLocale(),o=t.getResearch("morphology"),l={matchWordCustomHelper:t.getHelper("matchWordCustomHelper"),getWordsCustomHelper:t.getHelper("getWordsCustomHelper")};return i=function(e,t,r,n){const s=e.map((function(e){const s=e.innerText();return 100===tr(t,s,!0,r,n).percentWordMatches}));return e.filter((e,t)=>s[t])}(i,o,a,l.matchWordCustomHelper),0===i.length?r:(i=function(e,t,r,n,s){const i=n.matchWordCustomHelper,a=n.getWordsCustomHelper,o=[Object(T.flatten)(t.keyphraseForms)];t.synonymsForms.forEach(e=>o.push(Object(T.flatten)(e)));const l=[];return e.forEach((function(e){const t=e.innerText();let n=Object(T.uniq)(a?a(t):It(t));const c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Object(T.filter)(e,(function(e){return!Object(T.includes)(t,e.trim().toLocaleLowerCase())}))}(n,on);c.length>0&&(n=c),s.forEach(e=>{e.exactMatchRequested&&n.every(t=>e.keyphrase.includes(t))&&l.push(!0)});for(let e=0;eZt(e,t,r,i).count>0)){l.push(!0);break}}})),e.filter((e,t)=>l[t])}(i,o,a,l,s.map(e=>xr(e))),{anchorsWithKeyphrase:i,anchorsWithKeyphraseCount:i.length})};const cn=function(e){this._hasRegex=!1,this._regex="",this._multiplier="",this.createRegex(e)};cn.prototype.hasRegex=function(){return this._hasRegex},cn.prototype.createRegex=function(e){Object(T.isUndefined)(e)||Object(T.isUndefined)(e.fragments)||(this._hasRegex=!0,this._regex=vt(e.fragments,!0),this._multiplier=e.countModifier)},cn.prototype.getRegex=function(){return this._regex},cn.prototype.countSyllables=function(e){return this._hasRegex?(e.match(this._regex)||[]).length*this._multiplier:0};var un=cn;const hn=function(e){this.countSteps=[],Object(T.isUndefined)(e)||this.createSyllableCountSteps(e.deviations.vowels)};hn.prototype.createSyllableCountSteps=function(e){Object(T.forEach)(e,function(e){this.countSteps.push(new un(e))}.bind(this))},hn.prototype.getAvailableSyllableCountSteps=function(){return this.countSteps},hn.prototype.countSyllables=function(e){let t=0;return Object(T.forEach)(this.countSteps,(function(r){t+=r.countSyllables(e)})),t};var dn=hn;function pn(e){this._location=e.location,this._fragment=e.word,this._syllables=e.syllables,this._regex=null,this._options=Object(T.pick)(e,["notFollowedBy","alsoFollowedBy"])}pn.prototype.createRegex=function(){let e="";const t=this._options;let r=this._fragment;switch(Object(T.isUndefined)(t.notFollowedBy)||(r+="(?!["+t.notFollowedBy.join("")+"])"),Object(T.isUndefined)(t.alsoFollowedBy)||(r+="["+t.alsoFollowedBy.join("")+"]?"),this._location){case"atBeginning":e="^"+r;break;case"atEnd":e=r+"$";break;case"atBeginningOrEnd":e="(^"+r+")|("+r+"$)";break;default:e=r}this._regex=new RegExp(e)},pn.prototype.getRegex=function(){return null===this._regex&&this.createRegex(),this._regex},pn.prototype.occursIn=function(e){return this.getRegex().test(e)},pn.prototype.removeFrom=function(e){return e.replace(this._fragment," ")},pn.prototype.getSyllables=function(){return this._syllables};var gn=pn;const fn=Object(T.memoize)((function(e){let t=[];const r=e.deviations;return t=Object(T.flatMap)(r.words.fragments,(function(e,t){return Object(T.map)(e,(function(e){return e.location=t,new gn(e)}))})),t})),mn=function(e,t){let r=0;if(!Object(T.isUndefined)(t.deviations)&&!Object(T.isUndefined)(t.deviations.words)){if(!Object(T.isUndefined)(t.deviations.words.full)){const r=function(e,t){const r=t.deviations.words.full,n=Object(T.find)(r,(function(t){return t.word===e}));return Object(T.isUndefined)(n)?0:n.syllables}(e,t);if(0!==r)return r}if(!Object(T.isUndefined)(t.deviations.words.fragments)){const n=function(e,t){const r=fn(t);let n=e,s=0;return Object(T.forEach)(r,(function(e){e.occursIn(n)&&(n=e.removeFrom(n),s+=e.getSyllables())})),{word:n,syllableCount:s}}(e,t);e=n.word,r+=n.syllableCount}}return r+=function(e,t){let r=0;return r+=function(e,t){let r=0;const n=new RegExp("[^"+t.vowels+"]","ig"),s=e.split(n);return r+=Object(T.filter)(s,(function(e){return""!==e})).length,r}(e,t),Object(T.isUndefined)(t.deviations)||Object(T.isUndefined)(t.deviations.vowels)||(r+=function(e,t){return new dn(t).countSyllables(e)}(e,t)),r}(e,t),r};const Tn={NO_DATA:-1,VERY_EASY:0,EASY:1,FAIRLY_EASY:2,OKAY:3,FAIRLY_DIFFICULT:4,DIFFICULT:5,VERY_DIFFICULT:6};var En=function(e,t){const r=t.getConfig("syllables"),n=t.getHelper("memoizedTokenizer"),s=function(e){return e.getConfig("fleschReadingEaseScores")||{borders:{veryEasy:90,easy:80,fairlyEasy:70,okay:60,fairlyDifficult:50,difficult:30,veryDifficult:0},scores:{veryEasy:9,easy:9,fairlyEasy:9,okay:9,fairlyDifficult:6,difficult:3,veryDifficult:3}}}(t);let i=e.getText();if(""===i)return{score:-1,difficulty:Tn.NO_DATA};i=function(e){return e=e.replace(/\b[0-9]+\b/g,""),"."===(e=Ve(e))&&(e=""),e}(i);const a=function(e,t){const r=vr(e,t);let n=0;for(let e=0;e=t.borders.veryEasy?Tn.VERY_EASY:Object(T.inRange)(e,t.borders.easy,t.borders.veryEasy)?Tn.EASY:Object(T.inRange)(e,t.borders.fairlyEasy,t.borders.easy)?Tn.FAIRLY_EASY:Object(T.inRange)(e,t.borders.okay,t.borders.fairlyEasy)?Tn.OKAY:Object(T.inRange)(e,t.borders.fairlyDifficult,t.borders.okay)?Tn.FAIRLY_DIFFICULT:Object(T.inRange)(e,t.borders.difficult,t.borders.fairlyDifficult)?Tn.DIFFICULT:Tn.VERY_DIFFICULT}(h,s)}},vn=function(e,t){const r=t.getHelper("getWordsCustomHelper");let n=e.getText();n=kr(n);let s=br(n);return r&&(s=r(e.getText()).length),0===s?0:t.getResearch("keywordCount").count/s*100},bn=function(e){let t;return t=e.match(/]+)>((?:.|[\n\r\u2028\u2029])*?)<\/a>/gi),null===t&&(t=[]),t},yn=function(e){const t=bn(e.getText());return Object(T.map)(t,en)},An=function(e){let t="Dofollow";const r=new Ar.a.Parser({onopentag:function(e,r){"a"===e&&r.rel&&r.rel.toLowerCase().split(/\s/).includes("nofollow")&&(t="Nofollow")}});return r.write(e),r.end(),t},On=function(e,t){const r=en(e),n=rn(r);return n&&!sn(n)||an(r)?"other":nn(r,t)?"internal":"external"},Cn=function(e){const t=bn(e.getText()),r=e.getPermalink(),n={total:t.length,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};for(let e=0;e"p"===e.name);return t=Object(T.reject)(t,e=>0===e.sentences.length),t=Object(T.reject)(t,e=>e.childNodes.every(e=>"a"===e.name)),t},Sn=function(e,t){let r=e.getText();r=kr(r),r=ze(r),r=Ye(r),r=r.replace(yt,""),r=function(e){return e.replace(/\s*<.*?br.*?>/gm,"
")}(r);const n=function(e){let t=function(e){let t=[];const r=/
]+)?>(.*?)<\/p>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t=Object(T.map)(t,(function(e){return e[1]})),t.filter(e=>e.length>0)}(e);if(t.length>0)return t;let r=ht(e);return r=Object(T.filter)(r,(function(e){return 0!==e.indexOf("0?t:[e]}(r),s=[],i=t.getHelper("customCountLength");return n.map((function(e){s.push({countLength:i?i(e):br(e),text:e})})),Object(T.filter)(s,(function(e){return e.countLength>0}))};class kn{constructor(e){this._sentenceText=e||"",this._isPassive=!1,this._clauses=[]}getSentenceText(){return this._sentenceText}isPassive(){return this._isPassive}setPassive(e){this._isPassive=e}getClauses(){return this._clauses}setClauses(e){this._clauses=e,this.setSentencePassiveness()}setSentencePassiveness(){const e=this.getClauses().filter(e=>!0===e.isPassive());this.setPassive(e.length>0)}serialize(){return{_parseClass:"Sentence",sentenceText:this._sentenceText,isPassive:this._isPassive,clauses:this._clauses}}parse(e){const t=new kn(e.sentenceText);return t.setClauses(e.clauses),t.setPassive(e.isPassive),t}}var Nn=kn;const Rn=function(e,t){const r=t.getHelper("isPassiveSentence");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Nn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase();e.setPassive(r(t)),!0===e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}},In=function(e,t){const r=t.getHelper("getClauses");let n=e.getText();n=kr(n);const s=t.getHelper("memoizedTokenizer"),i=vr(n,s).map((function(e){return new Nn(e)})),a=i.length,o=[];return Object(T.forEach)(i,(function(e){const t=mt(e.getSentenceText()).toLocaleLowerCase(),n=r(t);e.setClauses(n),e.isPassive()&&o.push(e.getSentenceText())})),{total:a,passives:o}};function xn(e,t){const r=t.getConfig("passiveConstructionType");return"periphrastic"===r?In(e,t):"morphological"===r?Rn(e,t):function(e,t){const r=Rn(e,t),n=In(e,t).passives;return{total:r.total,passives:n.concat(r.passives)}}(e,t)}function Dn(e,t,r){this._word=e,this._stem=t||e,this._occurrences=r||0}Dn.prototype.setWord=function(e){this._word=e},Dn.prototype.getWord=function(){return this._word},Dn.prototype.getStem=function(){return this._stem},Dn.prototype.setOccurrences=function(e){this._occurrences=e},Dn.prototype.getOccurrences=function(){return this._occurrences},Dn.prototype.serialize=function(){return{_parseClass:"ProminentWord",word:this._word,stem:this._stem,occurrences:this._occurrences}},Dn.parse=function(e){return new Dn(e.word,e.stem,e.occurrences)};var Ln=Dn;const Mn=/[1234567890‘’“”"'.…?!:;,¿¡«»&*@#±^%$|~=+§`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\s]/g;function Pn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return e.filter((function(e){return e.getOccurrences()>=t&&""!==e.getWord().replace(Mn,"")}))}function Fn(e){e.sort((function(e,t){const r=t.getOccurrences()-e.getOccurrences();return 0!==r?r:e.getStem().localeCompare(t.getStem())}))}function jn(e){if(0===e.length)return[];e.sort((function(e,t){return e.getStem().localeCompare(t.getStem())}));const t=[];let r=new Ln(e[0].getWord(),e[0].getStem(),e[0].getOccurrences());for(let n=1;n1&&e.length<5&&e===e.toLocaleUpperCase()&&r.push(e.toLocaleLowerCase())})),Object(T.uniq)(r)}function Un(e,t,r,n){if(0===e.length)return[];const s=Object(T.uniq)(e.filter(e=>!n.includes(e.trim()))),i=[];return s.forEach((function(n){t.includes(n)?i.push(new Ln(n.toLocaleUpperCase(),n,e.filter(e=>e===n).length)):i.push(new Ln(n,r(n),e.filter(e=>e===n).length))})),jn(i)}const Hn=Object(T.memoize)((e,t,r,n)=>Un(e,t,r,n),(e,t)=>e.join(",")+","+t.join(","));function $n(e,t,r,n,s){if(""===e)return[];const i=s?s(Qt(e).toLocaleLowerCase()):It(Qt(e).toLocaleLowerCase());return Hn(i,t,r,n)}const Kn=new RegExp("(ftp|http(s)?:\\/\\/.)(www\\\\.)?[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)|www\\.[-a-zA-Z0-9@:%._\\/+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:;%_\\/+.~#?&()=]*)","igm");var qn=function(e){return e.replace(Kn,"")};const Gn=new RegExp("[^\\s@]+@[^\\s@]+\\.[^\\s@]+","igm");var zn=function(e){return e.replace(Gn,"")},Wn=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper");let a=e.getText();a=qn(a),a=zn(a);const o=jn($n(a,i?[]:Bn(a),s,r,i));return Fn(o),Object(T.take)(Pn(o,5),20)};function Yn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}function Vn(e){const t=[],r=/]+)?>(.*?)<\/h\1>/gi;let n;for(;null!==(n=r.exec(e));)t.push(n);return t}const Qn=function(e){return e=qn(e),zn(e)};var Xn=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("customGetStemmer"),s=n?n(t):t.getHelper("getStemmer")(t),i=t.getHelper("getWordsCustomHelper"),a=t.getHelper("customCountLength"),o=Qn(e.getText()),l=Qn(e.getDescription()),c=Qn(e.getTitle()),u={};if(u.hasMetaDescription=""!==l,u.hasTitle=""!==c,u.prominentWords=[],a){if(a(o)<200)return u}else if(br(o)<100)return u;const h=Vn(o).map(e=>e[2]),d=[e.getKeyword(),e.getSynonyms(),c,l,h.join(" ")],p=i?[]:Bn(o.concat(d.join(" "))),g=$n(function(e){return e.replace(/]+)?>(.*?)<\/h\1>/gi,"")}(o),p,s,r,i),f=function(e,t,r,n,s){return Un(s?s(e.join(" ").toLocaleLowerCase()):It(e.join(" ").toLocaleLowerCase()),t,r,n)}(d,p,s,r,i);f.forEach(e=>e.setOccurrences(3*e.getOccurrences()));const m=jn(f.concat(g));Fn(m);let _=4;return s===Ot&&(_=2),u.prominentWords=Object(T.take)(Pn(m,_),100),u};var Jn=function(e,t){const r=t.getConfig("firstWordExceptions"),n=t.getConfig("secondWordExceptions"),s=t.getHelper("getWordsCustomHelper"),i=t.getHelper("memoizedTokenizer");let a=e.getText();a=kr(a),a=a.replace(/[\s\n]+/g," "),a=a.replace(/.*<\/figure>/gs,""),a=a.replace(/]+)?>(.*?)<\/li>/gi,"");let o=vr(a,i),l=o.map((function(e){return function(e,t,r,n){const s=mt(Ve(e)),i=n?n(s):It(s);if(0===i.length)return"";let a=i[0].toLocaleLowerCase();return t.indexOf(a)>-1&&i.length>1&&(a=a+" "+i[1],r&&r.includes(i[1])&&(a=a+" "+i[2])),a}(e,r,n,s)}));return o=o.filter((function(e){const t=Ve(e);return(s?s(t):It(t)).length>0})),l=Object(T.filter)(l),function(e,t){const r=[];let n=[],s=1;return Object(T.forEach)(e,(function(i,a){const o=i,l=e[a+1];n.push(t[a]),function(e,t){return!Object(T.isEmpty)(e)&&e===t}(o,l)?s++:(r.push({word:o,count:s,sentences:n}),s=1,n=[])})),r}(l,o)},Zn=function(e,t){let r=e.getText();r=kr(r),r=ze(r);const n=function(e){const t=[...e.matchAll(new RegExp("]+)?>(.*?)<\\/h\\1>","ig"))],r=[];return t.forEach((e,n)=>{const s=e[0],i=e.index,a=t[n+1];let o;o=Object(T.isUndefined)(a)?e.input.length:a.index;const l=e.input.slice(i+s.length,o);r.push({subheading:s,text:l,index:i})}),r}(r),s=t.getHelper("customCountLength"),i=[];Object(T.forEach)(n,(function(e){i.push({subheading:e.subheading,text:e.text,countLength:s?s(e.text):br(e.text),index:e.index})}));let a=0,o="";if(i.length>0){const e=i[0];o=r.slice(0,e.index),a=s?s(o):br(o)}return a>0&&""!==o&&i.unshift({subheading:"",text:o,countLength:a}),i};const es=/(.*?)<\/h1>/,ts=function(e){return"
"===(e=e.trim())||""===e};var rs=function(e){const t=e.getText();let r=ht(t);r=Object(T.reject)(r,ts);const n=[];return r.forEach((e,t)=>{const r=es.exec(e);r&&n.push({tag:"h1",content:r[1],position:t})}),n};function ns(e){return rr(e).length}var ss=function(e,t){const r=t.getResearch("morphology"),n=t.getConfig("functionWords");return{keyphraseLength:r.keyphraseForms.length,functionWords:n}};const is="[ \\u00a0\\u06d4\\u061f\\u060C\\u061B \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>]",as=new RegExp("^("+is+"+)","ig"),os=new RegExp("("+is+"+$)","ig");var ls=function(e){const t=function(e){return e.replace(as,"")}(e);let r="",n="";if(t!==e){const n=e.search(Object(T.escapeRegExp)(t));r=e.substr(0,n)}const s=function(e){return e.replace(os,"")}(t);if(s!==t){const e=t.search(Object(T.escapeRegExp)(s))+s.length;n=t.substr(e)}return r+""+s+" "+n};function cs(e){Object(T.defaults)(e,{original:"",marked:"",fieldsToMark:[]}),this._properties=e,this.isValid()}cs.prototype.getOriginal=function(){return this._properties.original},cs.prototype.getMarked=function(){return this._properties.marked},cs.prototype.getFieldsToMark=function(){return this._properties.fieldsToMark},cs.prototype.getPositionStart=function(){return this._properties.position&&this._properties.position.startOffset},cs.prototype.getPositionEnd=function(){return this._properties.position&&this._properties.position.endOffset},cs.prototype.applyWithReplace=function(e){return e.split(this._properties.original).join(this._properties.marked)},cs.prototype.applyWithPosition=function(e){const t="",r=this.getPositionEnd()+t.length;return(e=e.substring(0,this.getPositionStart())+t+e.substring(this.getPositionStart())).substring(0,r)+" "+e.substring(r)},cs.prototype.serialize=function(){return{_parseClass:"Mark",...this._properties}},cs.prototype.isValid=function(){if(!Object(T.isUndefined)(this.getPositionStart())&&this.getPositionStart()<0)throw new RangeError("positionStart should be larger or equal than 0.");if(!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionEnd()<=0)throw new RangeError("positionEnd should be larger than 0.");if(!Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())&&this.getPositionStart()>=this.getPositionEnd())throw new RangeError("The positionStart should be smaller than the positionEnd.");if(Object(T.isUndefined)(this.getPositionStart())&&!Object(T.isUndefined)(this.getPositionEnd())||Object(T.isUndefined)(this.getPositionEnd())&&!Object(T.isUndefined)(this.getPositionStart()))throw new Error("A mark object should either have start and end defined or start and end undefined.")},cs.prototype.hasPosition=function(){return!!this.getPositionStart&&this.getPositionStart()},cs.parse=function(e){return delete e._parseClass,new cs(e)};var us=cs;const hs=/(]+>)([^]*?)(<\/a>)/,ds=function(e,t,r){t=t.map(e=>Object(T.escapeRegExp)(e));const n=r?vt(t,!0):vt(t),{anchors:s,markedAnchors:i}=function(e,t){const r=bn(e),n=r.map(e=>{const{openTag:r,content:n}=function(e){const[,t,r]=e.match(hs);return{openTag:t,content:r}}(e);return function(e,t){return`${e}${t} `}(r,n.replace(t,e=>ls(e)))});return{anchors:r,markedAnchors:n}}(e,n);let a=e.replace(n,(function(e){return ls(e)}));if(s.length>0){const e=bn(a);for(let t=0;t ","ig")," ")};function ps(e,t,r,n){let s=[],i=[];return t.forEach((function(t){s=Zt(t,e,r,n).matches,s.length>0&&(i=i.concat(new us({original:t,marked:ds(t,s,n)})))})),i}var gs=function(e,t){const r=t.getResearch("morphology"),n=t.getHelper("memoizedTokenizer"),s=t.getHelper("matchWordCustomHelper");let i=e.getText();i=kr(i);const a=e.getLocale(),o=vr(i,n),l={count:0,matches:[],sentencesWithKeywords:[]};o.forEach(e=>{const t=r.keyphraseForms.map(t=>Zt(e,t,a,s));if(t.every(e=>e.count>0)){const r=t.map(e=>e.count),n=Object(T.flattenDeep)(t.map(e=>e.matches));l.count+=Math.min(...r),l.matches.push(n),l.sentencesWithKeywords.push(e)}});const c=Object(T.uniq)(Object(T.flattenDeep)(l.matches)).sort((e,t)=>t.length-e.length),u=Object(T.flattenDeep)(r.keyphraseForms);return{count:l.count,matches:c,markings:ps(u,l.sentencesWithKeywords,a,s),length:r.keyphraseForms.length}},fs=function(e){return e.replace(/[-_]/gi," ")};function ms(e,t){const r=function(e){let t=[];return e.keyphraseForms.forEach((function(e){-1!==e[0].indexOf("-")?t=1===e.length?function(e,t){return e.forEach((function(e){e.split("-").forEach(e=>t.push([e]))})),t}(e,t):function(e,t){const r=e[0].split("-").length;for(let e=0;ee[0])}(s);return 0!==l.length&&(o.count=l.length,o.matches=function(e,t,r,n,s,i){return t.filter(t=>{const r=tr(e,t,!0,n,i);return 0===s.length?100===r.percentWordMatches:r.percentWordMatches>50}).length}(i,l,0,a,r,n),o.percentReflectingTopic=o.matches/o.count*100),o}const Es=function(e,t,r){return t.forEach(t=>t.matches.slice(0,r).forEach(t=>{e=e.replace(t,"")})),e};var vs=function(e,t){const r=e.getDescription(),n=e.getLocale(),s=t.getResearch("morphology"),i=t.getHelper("matchWordCustomHelper"),a=t.getHelper("memoizedTokenizer");return vr(r,a).map(e=>function(e,t,r,n){const s=t.keyphraseForms.map(t=>Zt(e,t,r,n)),i=Math.min(...s.map(e=>e.count));return e=Es(e,s,i),[i,...t.synonymsForms.map(t=>{const i=t.map(t=>Zt(e,t,r,n)),a=Math.min(...i.map(e=>e.count));return e=Es(e,s,a),a})].reduce((e,t)=>e+t,0)}(e,s,n,i)).reduce((e,t)=>e+t,0)},bs=function(e,t){let r=t.length;return""!==e&&r>0&&(r+=e.length+3),r};function ys(e){return bs(e.getDate(),e.getDescription())}function As(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.stemOriginalPairs=e,this.exactMatch=t}function Os(e,t){this.stem=e,this.original=t}As.prototype.getStems=function(){return this.exactMatch?[]:this.stemOriginalPairs.map(e=>e.stem)};const Cs=function(e,t,r){if(Object(T.isUndefined)(e)||""===e)return new As;const n=["“","”","〝","〞","〟","‟","„",'"'];if(Object(T.includes)(n,e[0])&&Object(T.includes)(n,e[e.length-1]))return e=e.substring(1,e.length-1),new As([new Os(Object(T.escapeRegExp)(e),e)],!0);let s=It(e);const i=s.filter(e=>!r.includes(e));return i.length>0&&(s=i),new As(s.map(e=>new Os(t(Qt(Object(T.escapeRegExp)(e))),e)))},ws=Object(T.memoize)((e,t)=>Object(T.memoize)((r,n)=>function(e,t,r,n){return{keyphraseStems:Cs(e,r,n),synonymsStems:t.map(e=>Cs(e,r,n))}}(r,n,e,t),(e,t)=>e+","+t.join(",")));function Ss(e,t){this.stem=e,this.forms=t}function ks(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.keyphraseForms=e,this.synonymsForms=t}function Ns(e,t,r){return 0===e.stemOriginalPairs.length?[]:e.exactMatch?[[e.stemOriginalPairs[0].stem]]:e.stemOriginalPairs.map((function(e){return function(e,t,r){const n=t.find(t=>t.stem===e.stem),s=Qt(Object(T.escapeRegExp)(e.original)),i=n?[s,...n.forms]:[s];return r&&i.push(...r(e.original)),Object(T.uniq)(i)}(e,t,r)}))}var Rs=function(e,t){const r=t.getConfig("functionWords"),n=t.getHelper("getStemmer")(t),s=t.getHelper("createBasicWordForms"),i=t.getConfig("language"),a=function(e){const t=e.getText(),r=rr(e).map(e=>Pt(e)),n=[t,e.getTitle(),e.getSlug(),fs(e.getSlug()),e.getDescription(),r.join(" ")].join(" ");return It(n).map(e=>Qt(Object(T.escapeRegExp)(e)))}(e).map(e=>e.toLocaleLowerCase(i));return function(e,t,r,n,s,i){const a=function(e,t,r,n){return ws(r,n)(e,t)}(e,t,s,n),o=a.keyphraseStems,l=a.synonymsStems;if(0===o.stemOriginalPairs.length&&0===l.length)return new ks;if([o,...l].every(e=>!0===e.exactMatch))return new ks([[o.stemOriginalPairs[0].stem]],l.map(e=>[[e.stemOriginalPairs[0].stem]]));const c=Object(T.uniq)(function(e,t){const r=0===e.stemOriginalPairs.length?[]:e.getStems(),n=0===t.length?[]:t.map(e=>e.getStems());return[...r,...Object(T.flattenDeep)(n)]}(o,l)),u=Object(T.uniq)(r.filter(e=>!n.includes(e))).map(e=>new Os(s(e),e)).filter(e=>c.includes(e.stem)).sort((e,t)=>e.stem.localeCompare(t.stem)).reduce((function(e,t){const r=e[e.length-1];return 0===e.length||r.stem!==t.stem?e.push(new Ss(t.stem,[t.original])):r.forms.push(t.original),e}),[]);return new ks(Ns(o,u,i),l.map(e=>Ns(e,u,i)))}(e.getKeyword().toLocaleLowerCase(i).trim(),zr(e.getSynonyms().toLocaleLowerCase(i).trim()),a,r,n,s)},Is=function(e){return e.hasTitle()?e.getTitleWidth():0},xs=function(e){let t=e.getText();return t=kr(t),{text:t,count:br(t),unit:"word"}},Ds=function(e,t){const r=A(e.getLocale()),n=t.getHelper("getWordsCustomHelper"),s=t.getHelper("wordsCharacterCount"),i={ar:138,cn:158,de:179,en:228,es:218,fi:161,fr:195,he:187,it:188,nl:202,pl:166,pt:181,ru:184,sl:180,sv:199,tr:166},a=i[r],o={ja:357}[r];let l,c=xs(e).count;o?(c=s(n(e.getText())),l=c/o):l=a?c/a:c/(Object.values(i).reduce((e,t)=>e+t)/Object.keys(i).length);const u=ns(e);return Math.ceil(l+.2*u)},Ls=function(e,t){const r=t.getHelper("memoizedTokenizer");let n=e.getText();return n=kr(n),vr(n,r)};function Ms(e){const t=new RegExp("()","igs");let r=e.getText().match(t);return null===r&&(r=[]),r.length}class Ps{constructor(e){this.paper=e,this.defaultResearches={altTagCount:nr,countSentencesFromText:Nr,findKeywordInFirstParagraph:Rr,findKeyphraseInSEOTitle:Mr,findTransitionWords:$r,functionWordsInKeyphrase:Kr,getAnchorsWithKeyphrase:ln,getFleschReadingScore:En,getKeywordDensity:vn,getLinks:yn,getLinkStatistics:Cn,getParagraphs:wn,getParagraphLength:Sn,getProminentWordsForInsights:Wn,getProminentWordsForInternalLinking:Xn,getSentenceBeginnings:Jn,getSubheadingTextLengths:Zn,h1s:rs,imageCount:ns,keyphraseLength:ss,keywordCount:gs,keywordCountInSlug:ms,keywordCountInUrl:_s,matchKeywordInSubheadings:Ts,metaDescriptionKeyword:vs,metaDescriptionLength:ys,morphology:Rs,pageTitleWidth:Is,readingTime:Ds,sentences:Ls,wordCountInText:xs,videoCount:Ms,getPassiveVoiceResult:xn},this._data={},this.customResearches={},this.helpers={memoizedTokenizer:_r},this.config={}}setPaper(e){this.paper=e}addResearch(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.customResearches[e]=t}addHelper(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Helper name cannot be empty");if(!(t instanceof Function))throw new Dt("The research requires a Function callback.");this.helpers[e]=t}addConfig(e,t){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Failed to add the custom researcher config. Config name cannot be empty.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to add the custom researcher config. Config cannot be empty.");this.config[e]=t}hasResearch(e){return Object.keys(this.getAvailableResearches()).filter((function(t){return t===e})).length>0}hasHelper(e){return Object.keys(this.getAvailableHelpers()).filter((function(t){return t===e})).length>0}hasConfig(e){return Object.keys(this.getAvailableConfig()).filter((function(t){return t===e})).length>0}getAvailableResearches(){return Object(T.merge)(this.defaultResearches,this.customResearches)}getAvailableHelpers(){return this.helpers}getAvailableConfig(){return this.config}getResearch(e){if(Object(T.isUndefined)(e)||Object(T.isEmpty)(e))throw new Mt("Research name cannot be empty");return!!this.hasResearch(e)&&this.getAvailableResearches()[e](this.paper,this)}addResearchData(e,t){this._data[e]=t}getData(e){return!!this._data.hasOwnProperty(e)&&this._data[e]}getConfig(e){return!!this.config.hasOwnProperty(e)&&this.config[e]}getHelper(e){return!!this.helpers.hasOwnProperty(e)&&this.helpers[e]}}function Fs(e){return Object(T.flatten)(Object.values(e)).sort((e,t)=>t.length-e.length||e.localeCompare(t))}function js(e,t){let r=0;const n=e.length;let s;const i=[];for(;(s=t.indexOf(e,r))>-1;){const a=Fr(t[s-1])||0===s,o=Fr(t[s+n])||t.length===s+n;a&&o&&i.push({index:s,match:e}),r=s+n}return i}const Bs=function(e,t){let r=[];return Object(T.forEach)(e,(function(e){e=Ve(e),jr(e,t)&&(r=r.concat(js(e,t)))})),r},Us=function(e){return e.sort((function(e,t){return e.index-t.index}))},Hs=function(e){e=Us(e);const t=[];for(let r=0;rt.index?1:0})),r};var Ks={getIndicesByWord:js,getIndicesByWordList:Bs,filterIndices:Hs,sortIndices:Us,getIndicesByWordListSorted:$s};function qs(e,t){if(t.includes(null))return e;for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:"i";return 2===e.length?{reg:new RegExp(e[0],t),repl:e[1]}:3===e.length?{reg:new RegExp(e[0],t),repl1:e[1],repl2:e[2]}:null};var zs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"i";return e.map(e=>Gs(e,t))};function Ws(e,t){let r=[];return t.forEach((function(t){const n=e.match(t);null!==n&&r.push(n)})),r=Object(T.flattenDeep)(r),r}var Ys=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;const i=n[s-1];return Object(T.includes)(r,i)},Vs=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=It(e).map(e=>e.toLowerCase()),s=n.indexOf(t.toLowerCase());if(s<1)return!1;for(let e=0;ee.indexe.index>c.index&&e.index 0};function Js(e,t){const r=[];for(const n in t)e.endsWith(t[n])&&r.push(t[n]);return r.sort((function(e,t){return t.length-e.length}))[0]||""}function Zs(e,t){return RegExp(t).test(e)}function ei(e,t){for(const r of t)if(-1!==e.search(new RegExp(r[0])))return e.replace(new RegExp(r[0]),r[1])}function ti(e,t){return t.forEach((function(t){e=e.replace(new RegExp(t[0]),t[1])})),e}function ri(e,t){for(let r=0;re.startsWith(t));let s="";return"string"==typeof n&&(s=e.slice(n.length),s.length>2&&(e=s)),t.includes(e)}function si(e,t){for(const r of e){const e=r.find(e=>t.endsWith(e));if(e)return t.slice(0,t.length-e.length)+r[0]}}function ii(e,t,r){for(let n=0;n2&&void 0!==arguments[2])||arguments[2];const n=r?1:0;if(Object(T.isEmpty)(e))return!1;const s=[];return Object(T.forEach)(e,(function(e){const t=e.index+e.match.length+n;s.push(t)})),Object(T.includes)(s,t)};const hi=function(e,t,r){const n=Qs(e,r);return Object(T.forEach)(t,(function(e){ui(n,e.index)&&(t=t.filter((function(t){return t.index!==e.index})))})),t},di=function(e,t){const{auxiliaryRegex:r,directPrecedenceExceptionRegex:n,followingAuxiliaryExceptionRegex:s}=t;let i=e.match(r)||[];if(void 0!==n||void 0!==s){let t=Bs(i,e);void 0!==n&&(t=hi(e,t,n)),t=function(e,t,r){const n=Qs(e,r);return Object(T.forEach)(t,(function(e){(function(e,t){if(Object(T.isEmpty)(e))return!1;const r=t.index+t.match.length,n=[];return Object(T.forEach)(e,(function(e){n.push(e.index)})),Object(T.includes)(n,r)})(n,e)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,t,s),i=[],Object(T.forEach)(t,(function(e){i.push(e.match)}))}return Object(T.map)(i,(function(e){return Ve(e)}))};var pi=function(e,t){return function(e,t){const r=[],n=t.regexes.auxiliaryRegex;if(null===(e=Qt(e)).match(n))return r;const s=function(e,t){e=e.toLocaleLowerCase();const{regexes:r}=t;let n=Bs(t.auxiliaries,e);const s=function(e,t){let r;const n=[];for(t.lastIndex=0;null!==(r=t.exec(e));)n.push({index:r.index,match:r[0]});return n}(e,r.stopCharacterRegex);let i=Bs(t.stopwords,e);t.otherStopWordIndices&&t.otherStopWordIndices.length>0&&(i=i.concat(t.otherStopWordIndices)),void 0!==r.directPrecedenceExceptionRegex&&(n=hi(e,n,r.directPrecedenceExceptionRegex)),void 0!==r.elisionAuxiliaryExceptionRegex&&(n=function(e,t,r){const n=Qs(e,r);return Object(T.forEach)(t,(function(e){ui(n,e.index,!1)&&(t=t.filter((function(t){return t.index!==e.index})))})),t}(e,n,r.elisionAuxiliaryExceptionRegex));let a=n.concat(i,s);return a=Hs(a),Us(a)}(e,t);for(let n=0;n{if(!Object(T.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()}))),n=[];return r.forEach(e=>{"heading"===e&&Yn(t).forEach(e=>{n.push(e[0])})}),{fieldsToMark:r,selectedHTML:n}}function _i(e){return(e=(e=e.replace(/<\/?(o|ul)(?:[^>]+)?>/g,"")).replace(/\s?<\/?li(?:[^>]+)?>\s?/g," ")).replace(/\s+/g," ")}var Ti=class{getResult(e,t){throw"The method getResult is not implemented"}isApplicable(e,t){return!0}hasEnoughContentForAssessment(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=Object(T.isUndefined)(e)?"":e.getText();return r=kr(r),Et(r).length>=t}},Ei=r(173),vi=function(){return[]},bi=function(e){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._hasJumps=!1,this._hasEditFieldName=!1,this._marker=vi,this._hasBetaBadge=!1,this.score=0,this.text="",this.marks=[],this.editFieldName="",Object(T.isUndefined)(e)&&(e={}),Object(T.isUndefined)(e.score)||this.setScore(e.score),Object(T.isUndefined)(e.text)||this.setText(e.text),Object(T.isUndefined)(e.marks)||this.setMarks(e.marks),Object(T.isUndefined)(e._hasBetaBadge)||this.setHasBetaBadge(e._hasBetaBadge),Object(T.isUndefined)(e._hasJumps)||this.setHasJumps(e._hasJumps),Object(T.isUndefined)(e.editFieldName)||this.setEditFieldName(e.editFieldName)};bi.prototype.hasScore=function(){return this._hasScore},bi.prototype.getScore=function(){return this.score},bi.prototype.setScore=function(e){Object(T.isNumber)(e)&&(this.score=e,this._hasScore=!0)},bi.prototype.hasText=function(){return""!==this.text},bi.prototype.getText=function(){return this.text},bi.prototype.setText=function(e){Object(T.isUndefined)(e)&&(e=""),this.text=e},bi.prototype.getMarks=function(){return this.marks},bi.prototype.setMarks=function(e){Object(T.isArray)(e)&&(this.marks=e,this._hasMarks=e.length>0)},bi.prototype.setIdentifier=function(e){this._identifier=e},bi.prototype.getIdentifier=function(){return this._identifier},bi.prototype.setMarker=function(e){this._marker=e},bi.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},bi.prototype.getMarker=function(){return this._marker},bi.prototype.setHasMarks=function(e){this._hasMarks=e},bi.prototype.hasMarks=function(){return this._hasMarks},bi.prototype.setHasBetaBadge=function(e){this._hasBetaBadge=e},bi.prototype.hasBetaBadge=function(){return this._hasBetaBadge},bi.prototype.setHasJumps=function(e){this._hasJumps=e},bi.prototype.hasJumps=function(){return this._hasJumps},bi.prototype.hasEditFieldName=function(){return this._hasEditFieldName},bi.prototype.getEditFieldName=function(){return this.editFieldName},bi.prototype.setEditFieldName=function(e){""!==e&&(this.editFieldName=e,this._hasEditFieldName=!0)},bi.prototype.serialize=function(){return{_parseClass:"AssessmentResult",identifier:this._identifier,score:this.score,text:this.text,marks:this.marks.map(e=>e.serialize()),_hasBetaBadge:this._hasBetaBadge,_hasJumps:this._hasJumps,editFieldName:this.editFieldName}},bi.parse=function(e){const t=new bi({text:e.text,score:e.score,marks:e.marks.map(e=>us.parse(e)),_hasBetaBadge:e._hasBetaBadge,_hasJumps:e._hasJumps,editFieldName:e.editFieldName});return t.setIdentifier(e.identifier),t};var yi=bi,Ai=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{good:9,okay:6,bad:3},urlTitle:Object(Ei.b)("https://yoa.st/33e"),urlCallToAction:Object(Ei.b)("https://yoa.st/33f")};this.identifier="introductionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new yi;this._firstParagraphMatches=t.getResearch("findKeywordInFirstParagraph");const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasKeyword()&&e.hasText()}calculateResult(){return this._firstParagraphMatches.foundInOneSentence?{score:this._config.scores.good,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */
Object(_.__)("%1$sKeyphrase in introduction%2$s: Well done!","wordpress-seo"),this._config.urlTitle," ")}:this._firstParagraphMatches.foundInParagraph?{score:this._config.scores.okay,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag. */
Object(_.__)("%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms appear in the first paragraph of the copy, but not within one sentence. %2$sFix that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.bad,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag. */
-Object(_.__)("%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms do not appear in the first paragraph. %2$sMake sure the topic is clear immediately%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}};function ki(e,t,r){return e>t&&e<=r}function Ni(e,t,r){return e>=t&&e=t&&e<=r}var Ii=class extends yi{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super(),this.defaultConfig={parameters:{recommendedMinimum:1,recommendedMaximum:4,acceptableMaximum:8},parametersNoFunctionWordSupport:{recommendedMaximum:6,acceptableMaximum:9},scores:{veryBad:-999,bad:3,okay:6,good:9},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ai.b)("https://yoa.st/33i"),urlCallToAction:Object(Ai.b)("https://yoa.st/33j"),isRelatedKeyphrase:!1},this.identifier="keyphraseLength",this._config=Object(T.merge)(this.defaultConfig,e),this._isProductPage=t}getResult(e,t){this._keyphraseLengthData=t.getResearch("keyphraseLength");const r=new wi;t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=e.getKeyword();this._keyphraseLengthData.functionWords.length>0&&!xr(n).exactMatchRequested&&(this._config.countTextIn.singular=Object(_.__)("content word","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("content words","wordpress-seo")),t.getConfig("keyphraseLength")?this._config=this.getCustomConfig(t):0===this._keyphraseLengthData.functionWords.length&&(this._config.parameters=Object(T.merge)({},this._config.parameters,this._config.parametersNoFunctionWordSupport)),this._boundaries=this._config.parameters;const s=this.calculateResult();return r.setScore(s.score),r.setText(s.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}getCustomConfig(e){const t=e.getConfig("keyphraseLength");return this._isProductPage&&t.hasOwnProperty("productPages")?Object(T.merge)(this._config,t.productPages):Object(T.merge)(this._config,t.defaultAnalysis)}calculateResult(){if(this._isProductPage){if(0===this._keyphraseLengthData.keyphraseLength)return this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sKeyphrase in introduction%3$s: Your keyphrase or its synonyms do not appear in the first paragraph. %2$sMake sure the topic is clear immediately%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}};function Oi(e,t,r){return e>t&&e<=r}function Ci(e,t,r){return e>=t&&e=t&&e<=r}var Si=class extends Ti{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super(),this.defaultConfig={parameters:{recommendedMinimum:1,recommendedMaximum:4,acceptableMaximum:8},parametersNoFunctionWordSupport:{recommendedMaximum:6,acceptableMaximum:9},scores:{veryBad:-999,bad:3,okay:6,good:9},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ei.b)("https://yoa.st/33i"),urlCallToAction:Object(Ei.b)("https://yoa.st/33j"),isRelatedKeyphrase:!1},this.identifier="keyphraseLength",this._config=Object(T.merge)(this.defaultConfig,e),this._isProductPage=t}getResult(e,t){this._keyphraseLengthData=t.getResearch("keyphraseLength");const r=new yi;t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=e.getKeyword();this._keyphraseLengthData.functionWords.length>0&&!xr(n).exactMatchRequested&&(this._config.countTextIn.singular=Object(_.__)("content word","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("content words","wordpress-seo")),t.getConfig("keyphraseLength")?this._config=this.getCustomConfig(t):0===this._keyphraseLengthData.functionWords.length&&(this._config.parameters=Object(T.merge)({},this._config.parameters,this._config.parametersNoFunctionWordSupport)),this._boundaries=this._config.parameters;const s=this.calculateResult();return r.setScore(s.score),r.setText(s.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}getCustomConfig(e){const t=e.getConfig("keyphraseLength");return this._isProductPage&&t.hasOwnProperty("productPages")?Object(T.merge)(this._config,t.productPages):Object(T.merge)(this._config,t.defaultAnalysis)}calculateResult(){if(this._isProductPage){if(0===this._keyphraseLengthData.keyphraseLength)return this._config.isRelatedKeyphrase?{score:this._config.scores.veryBad,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sKeyphrase length%3$s: %2$sSet a keyphrase in order to calculate your SEO score%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.veryBad,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
@@ -29,14 +29,14 @@ Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's
%3$s and %4$s expand to links on yoast.com,
%5$s expands to the anchor end tag,
%6$s expands to the word 'words' or 'characters' or 'content words'. */
-Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's less than the recommended minimum of %2$d %6$s. %4$sMake it longer%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(ki(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._boundaries.acceptableMaximum))return{score:this._config.scores.okay,resultText:Object(_.sprintf)(
+Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's less than the recommended minimum of %2$d %6$s. %4$sMake it longer%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(Oi(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._boundaries.acceptableMaximum))return{score:this._config.scores.okay,resultText:Object(_.sprintf)(
/* translators:
%1$d expands to the number of words / characters in the keyphrase,
%2$d expands to the recommended maximum of words / characters in the keyphrase,
%3$s and %4$s expand to links on yoast.com,
%5$s expands to the anchor end tag,
%6$s expands to the word 'words' or 'characters' or 'content words'. */
-Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's more than the recommended maximum of %2$d %6$s. %4$sMake it shorter%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(Ri(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum))return{score:this._config.scores.good,resultText:Object(_.sprintf)(
+Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's more than the recommended maximum of %2$d %6$s. %4$sMake it shorter%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)};if(wi(this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMinimum,this._boundaries.recommendedMaximum))return{score:this._config.scores.good,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */
Object(_.__)("%1$sKeyphrase length%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}return this._keyphraseLengthData.keyphraseLength",this._config.countTextIn.plural)}}},xi=function(e){return.7+e/3},Di=function(e,t,r,n,s){const i=s?s(e).length:br(e);if(0===i)return 0;const a=r*i/(100*xi(t));if(a<2)return 2;switch(n){case"min":return Math.ceil(a);default:case"max":return Math.floor(a)}},Li=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{noWordForms:{overMaximum:4,maximum:3,minimum:.5},multipleWordForms:{overMaximum:4,maximum:3.5,minimum:.5}},scores:{wayOverMaximum:-50,overMaximum:-10,correctDensity:9,underMinimum:4},urlTitle:Object(Ai.b)("https://yoa.st/33v"),urlCallToAction:Object(Ai.b)("https://yoa.st/33w"),applicableIfTextLongerThan:100};this.identifier="keywordDensity",this._config=Object(T.merge)(t,e)}setBoundaries(e,t,r){this._hasMorphologicalForms?this._boundaries=this._config.parameters.multipleWordForms:this._boundaries=this._config.parameters.noWordForms,this._minRecommendedKeywordCount=Di(e,t,this._boundaries.minimum,"min",r),this._maxRecommendedKeywordCount=Di(e,t,this._boundaries.maximum,"max",r)}getResult(e,t){const r=t.getHelper("getWordsCustomHelper");this._keywordCount=t.getResearch("keywordCount");const n=this._keywordCount.length,s=new wi;this._keywordDensity=t.getResearch("getKeywordDensity"),this._hasMorphologicalForms=!1!==t.getData("morphology");let i=e.getText();i=kr(i),this.setBoundaries(i,n,r),this._keywordDensity=this._keywordDensity*xi(n);const a=this.calculateResult();return s.setScore(a.score),s.setText(a.resultText),s.setHasMarks(this._keywordCount.count>0),s}hasNoMatches(){return 0===this._keywordCount.count}hasTooFewMatches(){return Ni(this._keywordDensity,0,this._boundaries.minimum)||1===this._keywordCount.count}hasGoodNumberOfMatches(){return Ri(this._keywordDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keywordCount.count&&this._minRecommendedKeywordCount<=2}hasTooManyMatches(){return ki(this._keywordDensity,this._boundaries.maximum,this._boundaries.overMaximum)}calculateResult(){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:Object(_.sprintf)(
+Object(_.__)("%3$sKeyphrase length%5$s: The keyphrase contains %1$d %6$s. That's way more than the recommended maximum of %2$d %6$s. %4$sMake it shorter%5$s!","wordpress-seo"),this._keyphraseLengthData.keyphraseLength,this._boundaries.recommendedMaximum,this._config.urlTitle,this._config.urlCallToAction,"",this._config.countTextIn.plural)}}},ki=function(e){return.7+e/3},Ni=function(e,t,r,n,s){const i=s?s(e).length:br(e);if(0===i)return 0;const a=r*i/(100*ki(t));if(a<2)return 2;switch(n){case"min":return Math.ceil(a);default:case"max":return Math.floor(a)}},Ri=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{noWordForms:{overMaximum:4,maximum:3,minimum:.5},multipleWordForms:{overMaximum:4,maximum:3.5,minimum:.5}},scores:{wayOverMaximum:-50,overMaximum:-10,correctDensity:9,underMinimum:4},urlTitle:Object(Ei.b)("https://yoa.st/33v"),urlCallToAction:Object(Ei.b)("https://yoa.st/33w"),applicableIfTextLongerThan:100};this.identifier="keywordDensity",this._config=Object(T.merge)(t,e)}setBoundaries(e,t,r){this._hasMorphologicalForms?this._boundaries=this._config.parameters.multipleWordForms:this._boundaries=this._config.parameters.noWordForms,this._minRecommendedKeywordCount=Ni(e,t,this._boundaries.minimum,"min",r),this._maxRecommendedKeywordCount=Ni(e,t,this._boundaries.maximum,"max",r)}getResult(e,t){const r=t.getHelper("getWordsCustomHelper");this._keywordCount=t.getResearch("keywordCount");const n=this._keywordCount.length,s=new yi;this._keywordDensity=t.getResearch("getKeywordDensity"),this._hasMorphologicalForms=!1!==t.getData("morphology");let i=e.getText();i=kr(i),this.setBoundaries(i,n,r),this._keywordDensity=this._keywordDensity*ki(n);const a=this.calculateResult();return s.setScore(a.score),s.setText(a.resultText),s.setHasMarks(this._keywordCount.count>0),s}hasNoMatches(){return 0===this._keywordCount.count}hasTooFewMatches(){return Ci(this._keywordDensity,0,this._boundaries.minimum)||1===this._keywordCount.count}hasGoodNumberOfMatches(){return wi(this._keywordDensity,this._boundaries.minimum,this._boundaries.maximum)||2===this._keywordCount.count&&this._minRecommendedKeywordCount<=2}hasTooManyMatches(){return Oi(this._keywordDensity,this._boundaries.maximum,this._boundaries.overMaximum)}calculateResult(){return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:Object(_.sprintf)(
/* translators:
%1$s and %4$s expand to links to Yoast.com,
%2$s expands to the anchor end tag,
@@ -86,7 +86,7 @@ Object(_._n)("%1$sKeyphrase density%2$s: The keyphrase was found %5$d time. That
%2$s expands to the anchor end tag,
%3$d expands to the recommended maximal number of times the keyphrase should occur in the text,
%5$d expands to the number of times the keyphrase occurred in the text. */
-Object(_._n)("%1$sKeyphrase density%2$s: The keyphrase was found %5$d time. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!","%1$sKeyphrase density%2$s: The keyphrase was found %5$d times. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!",this._keywordCount.count,"wordpress-seo"),this._config.urlTitle,"",this._maxRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}}getMarks(){return this._keywordCount.markings}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").keyphraseDensity;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();s=kr(s);const i=r?r(s):It(s).length;return e.hasText()&&e.hasKeyword()&&i>=this._config.applicableIfTextLongerThan}},Mi=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:Object(Ai.b)("https://yoa.st/33k"),urlCallToAction:Object(Ai.b)("https://yoa.st/33l")};this.identifier="metaDescriptionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keyphraseCounts=t.getResearch("metaDescriptionKeyword");const r=new wi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),r}calculateResult(){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:Object(_.sprintf)(
+Object(_._n)("%1$sKeyphrase density%2$s: The keyphrase was found %5$d time. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!","%1$sKeyphrase density%2$s: The keyphrase was found %5$d times. That's way more than the recommended maximum of %3$d times for a text of this length. %4$sDon't overoptimize%2$s!",this._keywordCount.count,"wordpress-seo"),this._config.urlTitle,"",this._maxRecommendedKeywordCount,this._config.urlCallToAction,this._keywordCount.count)}}getMarks(){return this._keywordCount.markings}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").keyphraseDensity;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();s=kr(s);const i=r?r(s):It(s).length;return e.hasText()&&e.hasKeyword()&&i>=this._config.applicableIfTextLongerThan}},Ii=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{good:9,ok:6,bad:3},urlTitle:Object(Ei.b)("https://yoa.st/33k"),urlCallToAction:Object(Ei.b)("https://yoa.st/33l")};this.identifier="metaDescriptionKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keyphraseCounts=t.getResearch("metaDescriptionKeyword");const r=new yi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),r}calculateResult(){return 1===this._keyphraseCounts||2===this._keyphraseCounts?{score:this._config.scores.good,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */
Object(_.__)("%1$sKeyphrase in meta description%2$s: Keyphrase or synonym appear in the meta description. Well done!","wordpress-seo"),this._config.urlTitle,"")}:this._keyphraseCounts>=3?{score:this._config.scores.bad,resultText:Object(_.sprintf)(
/**
@@ -101,9 +101,9 @@ Object(_.__)("%1$sKeyphrase in meta description%2$s: The meta description contai
* %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag.
* %3$s expands to a link on yoast.com, %4$s expands to the anchor end tag.
*/
-Object(_.__)("%1$sKeyphrase in meta description%2$s: The meta description has been specified, but it does not contain the keyphrase. %3$sFix that%4$s!","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction,"")}}isApplicable(e){return e.hasKeyword()&&e.hasDescription()}};const Pi=function(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth};function Fi(){return["en","de","es","fr","it","nl","ru","id","pt","pl","ar","sv","he","hu","nb","tr","cs","sk","el","ja"]}var ji=function(e){return Math.round(e)===e?Math.round(e):Math.round(10*e)/10};function Bi(){return["en","es","de","fr"]}var Ui=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:Object(Ai.b)("https://yoa.st/34l"),urlCallToAction:Object(Ai.b)("https://yoa.st/34m")};this.identifier="textCompetingLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new wi;this.totalAnchorsWithKeyphrase=t.getResearch("getAnchorsWithKeyphrase").anchorsWithKeyphraseCount;const n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!1)),r}isApplicable(e){return e.hasText()&&e.hasKeyword()}calculateResult(){if(this.totalAnchorsWithKeyphrase>this._config.parameters.recommendedMaximum)return{score:this._config.scores.bad,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sKeyphrase in meta description%2$s: The meta description has been specified, but it does not contain the keyphrase. %3$sFix that%4$s!","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction,"")}}isApplicable(e){return e.hasKeyword()&&e.hasDescription()}};const xi=function(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth};function Di(){return["en","de","es","fr","it","nl","ru","id","pt","pl","ar","sv","he","hu","nb","tr","cs","sk","el","ja"]}var Li=function(e){return Math.round(e)===e?Math.round(e):Math.round(10*e)/10};function Mi(){return["en","es","de","fr"]}var Pi=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximum:0},scores:{bad:2},urlTitle:Object(Ei.b)("https://yoa.st/34l"),urlCallToAction:Object(Ei.b)("https://yoa.st/34m")};this.identifier="textCompetingLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=new yi;this.totalAnchorsWithKeyphrase=t.getResearch("getAnchorsWithKeyphrase").anchorsWithKeyphraseCount;const n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!1)),r}isApplicable(e){return e.hasText()&&e.hasKeyword()}calculateResult(){if(this.totalAnchorsWithKeyphrase>this._config.parameters.recommendedMaximum)return{score:this._config.scores.bad,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sLink keyphrase%3$s: You're linking to another page with the words you want this page to rank for. %2$sDon't do that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}},Hi=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:Object(Ai.b)("https://yoa.st/33z"),urlCallToAction:Object(Ai.b)("https://yoa.st/34a")};this.identifier="internalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){this.linkStatistics=t.getResearch("getLinkStatistics");const r=new wi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasText()}calculateResult(){return 0===this.linkStatistics.internalTotal?{score:this._config.scores.noInternal,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sLink keyphrase%3$s: You're linking to another page with the words you want this page to rank for. %2$sDon't do that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}},Fi=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},urlTitle:Object(Ei.b)("https://yoa.st/33z"),urlCallToAction:Object(Ei.b)("https://yoa.st/34a")};this.identifier="internalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){this.linkStatistics=t.getResearch("getLinkStatistics");const r=new yi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}isApplicable(e){return e.hasText()}calculateResult(){return 0===this.linkStatistics.internalTotal?{score:this._config.scores.noInternal,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sInternal links%3$s: No internal links appear in this page, %2$smake sure to add some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.linkStatistics.internalNofollow===this.linkStatistics.internalTotal?{score:this._config.scores.noneInternalFollow,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
@@ -111,11 +111,11 @@ Object(_.__)("%1$sInternal links%3$s: The internal links in this page are all no
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sInternal links%2$s: You have enough internal links. Good job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.someInternalFollow,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
-Object(_.__)("%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!","wordpress-seo"),this._config.urlTitle,"")}}},$i=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:Object(Ai.b)("https://yoa.st/33g"),urlCallToAction:Object(Ai.b)("https://yoa.st/33h"),feedbackStrings:{bad:Object(_.__)("For the best SEO results write the exact match of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo")}};this.identifier="keyphraseInSEOTitle",
+Object(_.__)("%1$sInternal links%2$s: There are both nofollowed and normal internal links on this page. Good job!","wordpress-seo"),this._config.urlTitle,"")}}},ji=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedPosition:0},scores:{good:9,okay:6,bad:2},urlTitle:Object(Ei.b)("https://yoa.st/33g"),urlCallToAction:Object(Ei.b)("https://yoa.st/33h"),feedbackStrings:{bad:Object(_.__)("For the best SEO results write the exact match of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo")}};this.identifier="keyphraseInSEOTitle",
/* translators: This is the name of the 'Keyphrase in SEO title' SEO assessment.
It appears before the feedback in the analysis, for example in the feedback string:
"Keyphrase in SEO title: The focus keyphrase appears at the beginning of the SEO title. Good job!" */
-this.name=Object(_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=Object(T.merge)(t,e)}getResult(e,t){const r=A(e.getLocale());this._keyphraseMatches=t.getResearch("findKeyphraseInSEOTitle"),this._keyphrase=Object(T.escape)(e.getKeyword());const n=new wi,s=this.calculateResult(this._keyphrase,r);return n.setScore(s.score),n.setText(s.resultText),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n}isApplicable(e){return e.hasKeyword()&&e.hasTitle()}calculateResult(e,t){const r=this._config.feedbackStrings;"ja"===t&&(r.bad=Object(_.__)("For the best SEO results include all words of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo"));const n=this._keyphraseMatches.exactMatchFound,s=this._keyphraseMatches.position,i=this._keyphraseMatches.allWordsFound,a=this._keyphraseMatches.exactMatchKeyphrase,o=this._config.urlTitle+this.name+"";return!0===n?0===s?{score:this._config.scores.good,resultText:Object(_.sprintf)(
+this.name=Object(_.__)("Keyphrase in SEO title","wordpress-seo"),this._config=Object(T.merge)(t,e)}getResult(e,t){const r=A(e.getLocale());this._keyphraseMatches=t.getResearch("findKeyphraseInSEOTitle"),this._keyphrase=Object(T.escape)(e.getKeyword());const n=new yi,s=this.calculateResult(this._keyphrase,r);return n.setScore(s.score),n.setText(s.resultText),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n}isApplicable(e){return e.hasKeyword()&&e.hasTitle()}calculateResult(e,t){const r=this._config.feedbackStrings;"ja"===t&&(r.bad=Object(_.__)("For the best SEO results include all words of your keyphrase in the SEO title, and put the keyphrase at the beginning of the title","wordpress-seo"));const n=this._keyphraseMatches.exactMatchFound,s=this._keyphraseMatches.position,i=this._keyphraseMatches.allWordsFound,a=this._keyphraseMatches.exactMatchKeyphrase,o=this._config.urlTitle+this.name+"";return!0===n?0===s?{score:this._config.scores.good,resultText:Object(_.sprintf)(
/* translators: %1$s expands to the title of the "Keyphrase in SEO title" assessment (translated to the current language)
and links to an article on yoast.com. */
Object(_.__)("%1$s: The exact match of the focus keyphrase appears at the beginning of the SEO title. Good job!","wordpress-seo"),o)}:{score:this._config.scores.okay,resultText:Object(_.sprintf)(
@@ -137,7 +137,7 @@ Object(_.__)("%1$s: Does not contain the exact match. %2$sTry to write the exact
/* translators: %1$s expands to the title of the "Keyphrase in SEO title" assessment (translated to the current language)
and links to an article on yoast.com. %2$s expands to a link on yoast.com, %3$s expands to the anchor end tag,
%4$s expands to the keyphrase of the article, %5$s expands to the call to action text. */
-Object(_.__)('%1$s: Not all the words from your keyphrase "%4$s" appear in the SEO title. %2$s%5$s%3$s.',"wordpress-seo"),o,this._config.urlCallToAction,"",e,r.bad)}}};class Ki extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{okay:6,good:9},urlTitle:Object(Ai.b)("https://yoa.st/33o"),urlCallToAction:Object(Ai.b)("https://yoa.st/33p")};this.identifier="slugKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keywordInSlug=t.getResearch("keywordCountInSlug");const r=new wi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("slug","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&e.hasSlug()&&t.hasResearch("keywordCountInSlug")}calculateResult(){return this._keywordInSlug.keyphraseLength<3?100===this._keywordInSlug.percentWordMatches?{score:this._config.scores.good,resultText:Object(_.sprintf)(
+Object(_.__)('%1$s: Not all the words from your keyphrase "%4$s" appear in the SEO title. %2$s%5$s%3$s.',"wordpress-seo"),o,this._config.urlCallToAction,"",e,r.bad)}}};class Bi extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{okay:6,good:9},urlTitle:Object(Ei.b)("https://yoa.st/33o"),urlCallToAction:Object(Ei.b)("https://yoa.st/33p")};this.identifier="slugKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._keywordInSlug=t.getResearch("keywordCountInSlug");const r=new yi,n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r.getScore()<9&&(r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("slug","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&e.hasSlug()&&t.hasResearch("keywordCountInSlug")}calculateResult(){return this._keywordInSlug.keyphraseLength<3?100===this._keywordInSlug.percentWordMatches?{score:this._config.scores.good,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sKeyphrase in slug%2$s: Great work!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.okay,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
@@ -145,9 +145,9 @@ Object(_.__)("%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appea
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sKeyphrase in slug%2$s: More than half of your keyphrase appears in the slug. That's great!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.okay,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appear in the slug. %2$sChange that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}var qi=Ki,Gi=function(e){return Object(T.uniqBy)(e,(function(e){return e.getOriginal()}))};const zi=/^\s+$/,Wi=/([\s\t\u00A0])/;var Yi=class{constructor(e){this.researcher=e}splitIntoSentences(e){const t=this.researcher.getHelper("memoizedTokenizer")(e,!1);return zi.test(t[t.length-1])&&t.pop(),t.map((function(e){return new class{constructor(e){this.text=e,this.tokens=[],this.sourceCodeRange={}}}(e)}))}splitIntoTokens(e){const t=e.text.split(Wi).filter(e=>""!==e),r=[];return t.forEach(e=>{if(""===e)return;const t=[],n=[];for(;St.test(e);)t.push(e[0]),e=e.slice(1);for(;kt.test(e);)n.unshift(e[e.length-1]),e=e.slice(0,-1);let s=[...t,e,...n];s=s.filter(e=>""!==e),r.push(...s)}),r.map(e=>new class{constructor(e){this.text=e,this.sourceCodeRange={}}}(e))}},Vi=r(201);const Qi=["b","big","i","small","tt","abbr","acronym","cite","code","dfn","em","kbd","strong","samp","time","var","a","bdo","br","img","map","object","q","script","span","sub","sup","button","input","label","select","textarea"];var Xi=function(e){return Qi.includes(e)||"#text"===e};function Ji(e){return"#text"===e.name&&e.value&&e.value.match(/^[\n\s]+$/g)}function Zi(e){return e&&e.childNodes.length>0}function ea(e){return"p"===e}function ta(e){return["h1","h2","h3","h4","h5","h6"].includes(e)}function ra(e){if("#text"===e.nodeName)return new class{constructor(e){this.name="#text",this.value=e}}(e.value);let t=[];Object(T.isEmpty)(e.childNodes)||(t=e.childNodes.map(ra),function(e){return!(ea(e)||Xi(e)||ta(e))}(e.nodeName)&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=[];let n={};Object(T.isEmpty)(t)||(n={startOffset:t.startTag?t.startTag.endOffset:t.startOffset,endOffset:t.endTag?t.endTag.startOffset:t.endOffset});let s=Nn.createImplicit({},[],n);return e.forEach(e=>{Xi(e.name)&&!Ji(e)?s.childNodes.push(e):(Zi(s)&&(Object(T.isEmpty)(e.sourceCodeLocation)||(Object(T.isEmpty)(s.sourceCodeLocation)||(s.sourceCodeLocation.endOffset=e.sourceCodeLocation.startOffset),n.startOffset=e.sourceCodeLocation.endOffset),r.push(s),s=Nn.createImplicit({},[],n)),r.push(e))}),Zi(s)&&r.push(s),r}(t,e.sourceCodeLocation)));const r=function(e){if(!e)return{};const t={};return e.forEach(e=>{let{name:r,value:n}=e;"class"===r&&(n=new Set(n.split(" "))),t[r]=n}),t}(e.attrs);if(ea(e.nodeName))return new Nn(r,t,e.sourceCodeLocation);if(ta(e.nodeName)){const n=parseInt(e.nodeName[1],10);return new Sn(n,r,t,e.sourceCodeLocation)}return new wn(e.nodeName,r,t,e.sourceCodeLocation)}function na(e){return t=>t.name===e}function sa(e){return t=>!!t.attributes.class&&t.attributes.class.has(e)}const ia=["code","kbd","math","q","samp","script","var","#comment"];var aa=[sa("yoast-table-of-contents"),sa("yoast-reading-time__wrapper"),("breadcrumbs",e=>"breadcrumbs"===e.attributes.id),na("base"),na("blockquote"),na("canvas"),na("code"),na("head"),na("iframe"),na("input"),na("kbd"),na("link"),na("math"),na("meta"),na("meter"),na("noscript"),na("object"),na("portal"),na("pre"),na("progress"),na("q"),na("samp"),na("script"),na("slot"),na("style"),na("svg"),na("template"),na("textarea"),na("title"),na("var")];function oa(e){const t=[];return e.forEach(e=>{ia.includes(e.name)?t.push(e.sourceCodeLocation):(e.sourceCodeLocation.startTag&&t.push(e.sourceCodeLocation.startTag),e.sourceCodeLocation.endTag&&t.push(e.sourceCodeLocation.endTag))}),t.sort((e,t)=>e.startOffset-t.startOffset),t}function la(e,t,r){return e.forEach(e=>{e.startOffset>=t&&e.startOffset{e.startOffset===t&&(t+=e.endOffset-e.startOffset)}),t}function ua(e,t){let r,n,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(0===t.length||!e.sourceCodeLocation)return t;r=e instanceof Nn&&e.isImplicit?e.sourceCodeLocation.startOffset:s>=0?s:e.sourceCodeLocation.startTag.endOffset;let i=[];const a=e.findAll(e=>e.sourceCodeLocation,!0);return a.length>0&&(i=oa(a)),t.forEach(e=>{n=r+e.text.length,i.length>0&&(n=la(i,r,n),r=ca(i,r)),e.sourceCodeRange={startOffset:r,endOffset:n},r=n}),t}var ha=function e(t,r){return(t instanceof Nn||t instanceof Sn)&&(t.sentences=function(e,t){let r=t.splitIntoSentences(e.innerText());return r=ua(e,r),r.map(r=>function(e,t,r){return t.tokens=r(t),t.tokens=ua(e,t.tokens,t.sourceCodeRange.startOffset),t}(e,r,t.splitIntoTokens))}(t,r)),t.childNodes&&(t.childNodes=t.childNodes.map(t=>e(t,r))),t};function da(e){return ia.includes(e.name)&&(e.childNodes=[]),Object(T.isEmpty)(e.childNodes)||e.childNodes.map(da),e}function pa(e,t){let r=ra(Object(Vi.parseFragment)(e,{sourceCodeLocationInfo:!0}));return r=da(r),r=ha(r,t),function e(t,r){if(!function(e,t){return"#text"!==e.name&&t.some(t=>t(e))}(t,r))return t.childNodes&&(t.childNodes=t.childNodes.filter(t=>e(t,r))),t}(r,aa)}const ga=function(e,t){this.type="assessor",this.setResearcher(e),this._assessments=[],this._options=t||{}};ga.prototype.setResearcher=function(e){if(Object(T.isUndefined)(e))throw new Mt("The assessor requires a researcher.");this._researcher=e},ga.prototype.getAvailableAssessments=function(){return this._assessments},ga.prototype.isApplicable=function(e,t,r){return!e.hasOwnProperty("isApplicable")&&"function"!=typeof e.isApplicable||e.isApplicable(t,r)},ga.prototype.hasMarker=function(e){return Object(T.isFunction)(this._options.marker)&&(e.hasOwnProperty("getMarks")||"function"==typeof e.getMarks)},ga.prototype.getSpecificMarker=function(){return this._options.marker},ga.prototype.getPaper=function(){return this._lastPaper},ga.prototype.getMarker=function(e,t,r){const n=this._options.marker;return function(){let s=e.getMarks(t,r);s=Gi(s),n(t,s)}},ga.prototype.assess=function(e){this._researcher.setPaper(e);const t=new Yi(this._researcher);e.setTree(pa(e.getText(),t));let r=this.getAvailableAssessments();this.results=[],r=Object(T.filter)(r,function(t){return this.isApplicable(t,e,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=Object(T.map)(r,this.executeAssessment.bind(this,e,this._researcher)),this._lastPaper=e},ga.prototype.setHasMarkers=function(e){this._hasMarkers=e},ga.prototype.hasMarkers=function(){return this._hasMarkers},ga.prototype.executeAssessment=function(e,t,r){let n;try{n=r.getResult(e,t),n.setIdentifier(r.identifier),n.hasMarks()&&(n.marks=r.getMarks(e,t),n.marks=Gi(n.marks)),n.hasMarks()&&this.hasMarker(r)&&(this.setHasMarkers(!0),n.setMarker(this.getMarker(r,e,t)))}catch(e){s=e,Object(T.isUndefined)(s)&&(s=""),Object(T.isUndefined)(console)||Object(T.isUndefined)(console.trace)||console.trace(s),n=new wi,n.setScore(-1),n.setText(Object(_.sprintf)(
+Object(_.__)("%1$sKeyphrase in slug%3$s: (Part of) your keyphrase does not appear in the slug. %2$sChange that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}var Ui=Bi,Hi=function(e){return Object(T.uniqBy)(e,(function(e){return e.getOriginal()}))};const $i=/^\s+$/,Ki=/([\s\t\u00A0])/;var qi=class{constructor(e){this.researcher=e}splitIntoSentences(e){const t=this.researcher.getHelper("memoizedTokenizer")(e,!1);return $i.test(t[t.length-1])&&t.pop(),t.map((function(e){return new class{constructor(e){this.text=e,this.tokens=[],this.sourceCodeRange={}}}(e)}))}splitIntoTokens(e){const t=e.text.split(Ki).filter(e=>""!==e),r=[];return t.forEach(e=>{if(""===e)return;const t=[],n=[];for(;St.test(e);)t.push(e[0]),e=e.slice(1);for(;kt.test(e);)n.unshift(e[e.length-1]),e=e.slice(0,-1);let s=[...t,e,...n];s=s.filter(e=>""!==e),r.push(...s)}),r.map(e=>new class{constructor(e){this.text=e,this.sourceCodeRange={}}}(e))}},Gi=r(201);const zi=["b","big","i","small","tt","abbr","acronym","cite","code","dfn","em","kbd","strong","samp","time","var","a","bdo","br","img","map","object","q","script","span","sub","sup","button","input","label","select","textarea"];var Wi=function(e){return zi.includes(e)||"#text"===e},Yi=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.name=e,this.attributes=t,this.childNodes=r,Object(T.isEmpty)(n)||(this.sourceCodeLocation=new class{constructor(e){e.startTag&&(this.startTag={startOffset:e.startTag.startOffset,endOffset:e.startTag.endOffset}),e.endTag&&(this.endTag={startOffset:e.endTag.startOffset,endOffset:e.endTag.endOffset}),this.startOffset=e.startOffset,this.endOffset=e.endOffset}}(n))}findAll(e){return function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const s=[];return t.childNodes?(t.childNodes.forEach(t=>{r(t)?(s.push(t),n&&s.push(...e(t,r,n))):s.push(...e(t,r,n))}),s):s}(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}innerText(){return function e(t){let r="";return Object(T.isEmpty)(t.childNodes)||t.childNodes.forEach(t=>{"#text"===t.name?r+=t.value:r+=e(t)}),r}(this)}},Vi=class extends Yi{constructor(e){super("h"+e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),this.level=e}};class Qi extends Yi{constructor(){let e=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super("p",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),this.isImplicit=e}static createImplicit(){return new Qi(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},!0)}}var Xi=Qi;function Ji(e){return"#text"===e.name&&e.value&&e.value.match(/^[\n\s]+$/g)}function Zi(e){return e&&e.childNodes.length>0}function ea(e){return"p"===e}function ta(e){return["h1","h2","h3","h4","h5","h6"].includes(e)}function ra(e){if("#text"===e.nodeName)return new class{constructor(e){this.name="#text",this.value=e}}(e.value);let t=[];Object(T.isEmpty)(e.childNodes)||(t=e.childNodes.map(ra),function(e){return!(ea(e)||Wi(e)||ta(e))}(e.nodeName)&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=[];let n={};Object(T.isEmpty)(t)||(n={startOffset:t.startTag?t.startTag.endOffset:t.startOffset,endOffset:t.endTag?t.endTag.startOffset:t.endOffset});let s=Xi.createImplicit({},[],n);return e.forEach(e=>{Wi(e.name)&&!Ji(e)?s.childNodes.push(e):(Zi(s)&&(Object(T.isEmpty)(e.sourceCodeLocation)||(Object(T.isEmpty)(s.sourceCodeLocation)||(s.sourceCodeLocation.endOffset=e.sourceCodeLocation.startOffset),n.startOffset=e.sourceCodeLocation.endOffset),r.push(s),s=Xi.createImplicit({},[],n)),r.push(e))}),Zi(s)&&r.push(s),r}(t,e.sourceCodeLocation)));const r=function(e){if(!e)return{};const t={};return e.forEach(e=>{let{name:r,value:n}=e;"class"===r&&(n=new Set(n.split(" "))),t[r]=n}),t}(e.attrs);if(ea(e.nodeName))return new Xi(r,t,e.sourceCodeLocation);if(ta(e.nodeName)){const n=parseInt(e.nodeName[1],10);return new Vi(n,r,t,e.sourceCodeLocation)}return new Yi(e.nodeName,r,t,e.sourceCodeLocation)}function na(e){return t=>t.name===e}function sa(e){return t=>!!t.attributes.class&&t.attributes.class.has(e)}const ia=["code","kbd","math","q","samp","script","var","#comment"];var aa=[sa("yoast-table-of-contents"),sa("yoast-reading-time__wrapper"),("breadcrumbs",e=>"breadcrumbs"===e.attributes.id),na("base"),na("blockquote"),na("canvas"),na("code"),na("head"),na("iframe"),na("input"),na("kbd"),na("link"),na("math"),na("meta"),na("meter"),na("noscript"),na("object"),na("portal"),na("pre"),na("progress"),na("q"),na("samp"),na("script"),na("slot"),na("style"),na("svg"),na("template"),na("textarea"),na("title"),na("var")];function oa(e){const t=[];return e.forEach(e=>{ia.includes(e.name)?t.push(e.sourceCodeLocation):(e.sourceCodeLocation.startTag&&t.push(e.sourceCodeLocation.startTag),e.sourceCodeLocation.endTag&&t.push(e.sourceCodeLocation.endTag))}),t.sort((e,t)=>e.startOffset-t.startOffset),t}function la(e,t,r){return e.forEach(e=>{e.startOffset>=t&&e.startOffset{e.startOffset===t&&(t+=e.endOffset-e.startOffset)}),t}function ua(e,t){let r,n,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(0===t.length||!e.sourceCodeLocation)return t;r=e instanceof Xi&&e.isImplicit?e.sourceCodeLocation.startOffset:s>=0?s:e.sourceCodeLocation.startTag.endOffset;let i=[];const a=e.findAll(e=>e.sourceCodeLocation,!0);return a.length>0&&(i=oa(a)),t.forEach(e=>{n=r+e.text.length,i.length>0&&(n=la(i,r,n),r=ca(i,r)),e.sourceCodeRange={startOffset:r,endOffset:n},r=n}),t}var ha=function e(t,r){return(t instanceof Xi||t instanceof Vi)&&(t.sentences=function(e,t){let r=t.splitIntoSentences(e.innerText());return r=ua(e,r),r.map(r=>function(e,t,r){return t.tokens=r(t),t.tokens=ua(e,t.tokens,t.sourceCodeRange.startOffset),t}(e,r,t.splitIntoTokens))}(t,r)),t.childNodes&&(t.childNodes=t.childNodes.map(t=>e(t,r))),t};function da(e){return ia.includes(e.name)&&(e.childNodes=[]),Object(T.isEmpty)(e.childNodes)||e.childNodes.map(da),e}function pa(e,t){let r=ra(Object(Gi.parseFragment)(e,{sourceCodeLocationInfo:!0}));return r=da(r),r=ha(r,t),function e(t,r){if(!function(e,t){return"#text"!==e.name&&t.some(t=>t(e))}(t,r))return t.childNodes&&(t.childNodes=t.childNodes.filter(t=>e(t,r))),t}(r,aa)}const ga=function(e,t){this.type="assessor",this.setResearcher(e),this._assessments=[],this._options=t||{}};ga.prototype.setResearcher=function(e){if(Object(T.isUndefined)(e))throw new Mt("The assessor requires a researcher.");this._researcher=e},ga.prototype.getAvailableAssessments=function(){return this._assessments},ga.prototype.isApplicable=function(e,t,r){return!e.hasOwnProperty("isApplicable")&&"function"!=typeof e.isApplicable||e.isApplicable(t,r)},ga.prototype.hasMarker=function(e){return Object(T.isFunction)(this._options.marker)&&(e.hasOwnProperty("getMarks")||"function"==typeof e.getMarks)},ga.prototype.getSpecificMarker=function(){return this._options.marker},ga.prototype.getPaper=function(){return this._lastPaper},ga.prototype.getMarker=function(e,t,r){const n=this._options.marker;return function(){let s=e.getMarks(t,r);s=Hi(s),n(t,s)}},ga.prototype.assess=function(e){this._researcher.setPaper(e);const t=new qi(this._researcher);e.setTree(pa(e.getText(),t));let r=this.getAvailableAssessments();this.results=[],r=Object(T.filter)(r,function(t){return this.isApplicable(t,e,this._researcher)}.bind(this)),this.setHasMarkers(!1),this.results=Object(T.map)(r,this.executeAssessment.bind(this,e,this._researcher)),this._lastPaper=e},ga.prototype.setHasMarkers=function(e){this._hasMarkers=e},ga.prototype.hasMarkers=function(){return this._hasMarkers},ga.prototype.executeAssessment=function(e,t,r){let n;try{n=r.getResult(e,t),n.setIdentifier(r.identifier),n.hasMarks()&&(n.marks=r.getMarks(e,t),n.marks=Hi(n.marks)),n.hasMarks()&&this.hasMarker(r)&&(this.setHasMarkers(!0),n.setMarker(this.getMarker(r,e,t)))}catch(e){s=e,Object(T.isUndefined)(s)&&(s=""),Object(T.isUndefined)(console)||Object(T.isUndefined)(console.trace)||console.trace(s),n=new yi,n.setScore(-1),n.setText(Object(_.sprintf)(
/* translators: %1$s expands to the name of the assessment. */
-Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),r.identifier,e))}var s;return n},ga.prototype.getValidResults=function(){return Object(T.filter)(this.results,function(e){return this.isValidResult(e)}.bind(this))},ga.prototype.isValidResult=function(e){return e.hasScore()&&e.hasText()},ga.prototype.calculateOverallScore=function(){const e=this.getValidResults(),t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(t/(9*e.length)*100)||0},ga.prototype.addAssessment=function(e,t){return t.hasOwnProperty("identifier")||(t.identifier=e),this.getAssessment(t.identifier)&&this.removeAssessment(t.identifier),this._assessments.push(t),!0},ga.prototype.removeAssessment=function(e){const t=Object(T.findIndex)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}));-1!==t&&this._assessments.splice(t,1)},ga.prototype.getAssessment=function(e){return Object(T.find)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}))},ga.prototype.getApplicableAssessments=function(){const e=this.getAvailableAssessments();return Object(T.filter)(e,function(e){return this.isApplicable(e,this.getPaper(),this._researcher)}.bind(this))};var fa=ga,ma={recommendedMaximumLength:60,maximumLength:80};class _a extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMaximumLength:120,maximumLength:156,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:Object(Ai.b)("https://yoa.st/34d"),urlCallToAction:Object(Ai.b)("https://yoa.st/34e")};this.identifier="metaDescriptionLength",this._config=Object(T.merge)(t,e)}getMaximumLength(e){return this.getConfig(e).maximumLength}getConfig(e){let t=this._config;return"ja"===e&&(t=Object(T.merge)(t,ma)),t}getResult(e,t){const r=t.getResearch("metaDescriptionLength"),n=new wi,s=t.getConfig("language"),i=this.getConfig(s);return n.setScore(this.calculateScore(r,s)),n.setText(this.translateScore(r,i)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),n.max=i.maximumLength,n.actual=r,n}calculateScore(e,t){const r=this.getConfig(t);return 0===e?r.scores.noMetaDescription:e<=this._config.recommendedMaximumLength?r.scores.tooShort:e>this._config.maximumLength?r.scores.tooLong:r.scores.correctLength}translateScore(e,t){return 0===e?Object(_.sprintf)(
+Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),r.identifier,e))}var s;return n},ga.prototype.getValidResults=function(){return Object(T.filter)(this.results,function(e){return this.isValidResult(e)}.bind(this))},ga.prototype.isValidResult=function(e){return e.hasScore()&&e.hasText()},ga.prototype.calculateOverallScore=function(){const e=this.getValidResults(),t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(t/(9*e.length)*100)||0},ga.prototype.addAssessment=function(e,t){return t.hasOwnProperty("identifier")||(t.identifier=e),this.getAssessment(t.identifier)&&this.removeAssessment(t.identifier),this._assessments.push(t),!0},ga.prototype.removeAssessment=function(e){const t=Object(T.findIndex)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}));-1!==t&&this._assessments.splice(t,1)},ga.prototype.getAssessment=function(e){return Object(T.find)(this._assessments,(function(t){return t.hasOwnProperty("identifier")&&e===t.identifier}))},ga.prototype.getApplicableAssessments=function(){const e=this.getAvailableAssessments();return Object(T.filter)(e,function(e){return this.isApplicable(e,this.getPaper(),this._researcher)}.bind(this))};var fa=ga,ma={recommendedMaximumLength:60,maximumLength:80};class _a extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMaximumLength:120,maximumLength:156,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9},urlTitle:Object(Ei.b)("https://yoa.st/34d"),urlCallToAction:Object(Ei.b)("https://yoa.st/34e")};this.identifier="metaDescriptionLength",this._config=Object(T.merge)(t,e)}getMaximumLength(e){return this.getConfig(e).maximumLength}getConfig(e){let t=this._config;return"ja"===e&&(t=Object(T.merge)(t,ma)),t}getResult(e,t){const r=t.getResearch("metaDescriptionLength"),n=new yi,s=t.getConfig("language"),i=this.getConfig(s);return n.setScore(this.calculateScore(r,s)),n.setText(this.translateScore(r,i)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("meta description","wordpress-seo"))),n.max=i.maximumLength,n.actual=r,n}calculateScore(e,t){const r=this.getConfig(t);return 0===e?r.scores.noMetaDescription:e<=this._config.recommendedMaximumLength?r.scores.tooShort:e>this._config.maximumLength?r.scores.tooLong:r.scores.correctLength}translateScore(e,t){return 0===e?Object(_.sprintf)(
/* translators: %1$s and %2$s expand to a links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sMeta description length%3$s: No meta description has been specified. Search engines will display copy from the page instead. %2$sMake sure to write one%3$s!","wordpress-seo"),t.urlTitle,t.urlCallToAction,""):e<=t.recommendedMaximumLength?Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag,
@@ -158,7 +158,7 @@ Object(_.__)("%1$sMeta description length%3$s: The meta description is too short
%4$d expands to the total available number of characters in the meta description */
Object(_.__)("%1$sMeta description length%3$s: The meta description is over %4$d characters. To ensure the entire description will be visible, %2$syou should reduce the length%3$s!","wordpress-seo"),t.urlTitle,t.urlCallToAction,"",t.maximumLength):Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
-Object(_.__)("%1$sMeta description length%2$s: Well done!","wordpress-seo"),t.urlTitle,"")}}class Ta extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:Object(Ai.b)("https://yoa.st/33m"),urlCallToAction:Object(Ai.b)("https://yoa.st/33n")};this.identifier="subheadingsKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._subHeadings=t.getResearch("matchKeywordInSubheadings");const r=new wi;this._minNumberOfSubheadings=Math.ceil(this._subHeadings.count*this._config.parameters.lowerBoundary),this._maxNumberOfSubheadings=Math.floor(this._subHeadings.count*this._config.parameters.upperBoundary);const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}hasSubheadings(e){return Zn(e.getText()).length>0}isApplicable(e){return e.hasText()&&e.hasKeyword()&&this.hasSubheadings(e)}hasTooFewMatches(){return this._subHeadings.matches>0&&this._subHeadings.matches1&&this._subHeadings.matches>this._maxNumberOfSubheadings}isOneOfOne(){return 1===this._subHeadings.count&&1===this._subHeadings.matches}hasGoodNumberOfMatches(){return Ri(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}calculateResult(){return this.hasTooFewMatches()?{score:this._config.scores.tooFewMatches,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sMeta description length%2$s: Well done!","wordpress-seo"),t.urlTitle,"")}}class Ta extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{noMatches:3,tooFewMatches:3,goodNumberOfMatches:9,tooManyMatches:3},urlTitle:Object(Ei.b)("https://yoa.st/33m"),urlCallToAction:Object(Ei.b)("https://yoa.st/33n")};this.identifier="subheadingsKeyword",this._config=Object(T.merge)(t,e)}getResult(e,t){this._subHeadings=t.getResearch("matchKeywordInSubheadings");const r=new yi;this._minNumberOfSubheadings=Math.ceil(this._subHeadings.count*this._config.parameters.lowerBoundary),this._maxNumberOfSubheadings=Math.floor(this._subHeadings.count*this._config.parameters.upperBoundary);const n=this.calculateResult();return r.setScore(n.score),r.setText(n.resultText),r}hasSubheadings(e){return Vn(e.getText()).length>0}isApplicable(e){return e.hasText()&&e.hasKeyword()&&this.hasSubheadings(e)}hasTooFewMatches(){return this._subHeadings.matches>0&&this._subHeadings.matches1&&this._subHeadings.matches>this._maxNumberOfSubheadings}isOneOfOne(){return 1===this._subHeadings.count&&1===this._subHeadings.matches}hasGoodNumberOfMatches(){return wi(this._subHeadings.matches,this._minNumberOfSubheadings,this._maxNumberOfSubheadings)}calculateResult(){return this.hasTooFewMatches()?{score:this._config.scores.tooFewMatches,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */
Object(_.__)("%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your H2 and H3 subheadings%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.hasTooManyMatches()?{score:this._config.scores.tooManyMatches,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */
@@ -170,7 +170,7 @@ Object(_.__)("%1$sKeyphrase in subheading%2$s: Your H2 or H3 subheading reflects
%3$d expands to the number of subheadings containing the keyphrase. */
Object(_._n)("%1$sKeyphrase in subheading%2$s: %3$s of your H2 and H3 subheadings reflects the topic of your copy. Good job!","%1$sKeyphrase in subheading%2$s: %3$s of your H2 and H3 subheadings reflect the topic of your copy. Good job!",this._subHeadings.matches,"wordpress-seo"),this._config.urlTitle,"",this._subHeadings.matches)}:{score:this._config.scores.noMatches,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to a link on yoast.com, %3$s expands to the anchor end tag. */
-Object(_.__)("%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your H2 and H3 subheadings%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class Ea extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:Object(Ai.b)("https://yoa.st/4f7"),urlCallToAction:Object(Ai.b)("https://yoa.st/4f6")};this.identifier="imageKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.altProperties=t.getResearch("altTagCount"),this._minNumberOfKeywordMatches=Math.ceil(this.imageCount*this._config.parameters.lowerBoundary),this._maxNumberOfKeywordMatches=Math.floor(this.imageCount*this._config.parameters.upperBoundary);const r=this.calculateResult(),n=new wi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e,t){return this.imageCount=t.getResearch("imageCount"),e.hasText()&&this.imageCount>0}hasTooFewMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>0&&this.altProperties.withAltKeyword0||5===this.imageCount&&Ri(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&Ri(this.altProperties.withAltKeyword,this._minNumberOfKeywordMatches,this._maxNumberOfKeywordMatches)}hasTooManyMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>this._maxNumberOfKeywordMatches}calculateResult(){return this.altProperties.withAlt>0?{score:this._config.scores.withAlt,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sKeyphrase in subheading%3$s: %2$sUse more keyphrases or synonyms in your H2 and H3 subheadings%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class Ea extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{lowerBoundary:.3,upperBoundary:.75},scores:{withAltGoodNumberOfKeywordMatches:9,withAltTooFewKeywordMatches:6,withAltTooManyKeywordMatches:6,withAltNonKeyword:6,withAlt:6,noAlt:6},urlTitle:Object(Ei.b)("https://yoa.st/4f7"),urlCallToAction:Object(Ei.b)("https://yoa.st/4f6")};this.identifier="imageKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.altProperties=t.getResearch("altTagCount"),this._minNumberOfKeywordMatches=Math.ceil(this.imageCount*this._config.parameters.lowerBoundary),this._maxNumberOfKeywordMatches=Math.floor(this.imageCount*this._config.parameters.upperBoundary);const r=this.calculateResult(),n=new yi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e,t){return this.imageCount=t.getResearch("imageCount"),e.hasText()&&this.imageCount>0}hasTooFewMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>0&&this.altProperties.withAltKeyword0||5===this.imageCount&&wi(this.altProperties.withAltKeyword,2,4)||this.imageCount>4&&wi(this.altProperties.withAltKeyword,this._minNumberOfKeywordMatches,this._maxNumberOfKeywordMatches)}hasTooManyMatches(){return this.imageCount>4&&this.altProperties.withAltKeyword>this._maxNumberOfKeywordMatches}calculateResult(){return this.altProperties.withAlt>0?{score:this._config.scores.withAlt,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sImage Keyphrase%3$s: Images on this page have alt attributes, but you have not set your keyphrase. %2$sFix that%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:this.altProperties.withAltNonKeyword>0&&0===this.altProperties.withAltKeyword?{score:this._config.scores.withAltNonKeyword,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
@@ -187,15 +187,15 @@ Object(_.__)("%1$sImage Keyphrase%2$s: Good job!","wordpress-seo"),this._config.
* %5$s expands to the anchor end tag. */
Object(_.__)("%3$sImage Keyphrase%5$s: Out of %2$d images on this page, %1$d have alt attributes with words from your keyphrase or synonyms. That's a bit much. %4$sOnly include the keyphrase or its synonyms when it really fits the image%5$s.","wordpress-seo"),this.altProperties.withAltKeyword,this.imageCount,this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.noAlt,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sImage Keyphrase%3$s: Images on this page do not have alt attributes that reflect the topic of your text. %2$sAdd your keyphrase or synonyms to the alt tags of relevant images%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class va extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={scores:{bad:3,good:9},recommendedCount:1,urlTitle:Object(Ai.b)("https://yoa.st/4f4"),urlCallToAction:Object(Ai.b)("https://yoa.st/4f5")};this.identifier="images",this._config=Object(T.merge)(r,e),this._countVideos=t}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.videoCount=t.getResearch("videoCount");const r=this.calculateResult(),n=new wi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e){return e.hasText()}calculateResult(){const e=this._countVideos?this.imageCount+this.videoCount:this.imageCount;if(0===e)return this._countVideos?{score:this._config.scores.bad,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sImage Keyphrase%3$s: Images on this page do not have alt attributes that reflect the topic of your text. %2$sAdd your keyphrase or synonyms to the alt tags of relevant images%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}}class va extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={scores:{bad:3,good:9},recommendedCount:1,urlTitle:Object(Ei.b)("https://yoa.st/4f4"),urlCallToAction:Object(Ei.b)("https://yoa.st/4f5")};this.identifier="images",this._config=Object(T.merge)(r,e),this._countVideos=t}getResult(e,t){this.imageCount=t.getResearch("imageCount"),this.videoCount=t.getResearch("videoCount");const r=this.calculateResult(),n=new yi;return n.setScore(r.score),n.setText(r.resultText),n}isApplicable(e){return e.hasText()}calculateResult(){const e=this._countVideos?this.imageCount+this.videoCount:this.imageCount;if(0===e)return this._countVideos?{score:this._config.scores.bad,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sImages and videos%3$s: No images or videos appear on this page. %2$sAdd some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}:{score:this._config.scores.bad,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sImages%3$s: No images appear on this page. %2$sAdd some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")};if(this._config.scores.okay){if(Ri(e,1,3)&&!this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sImages%3$s: No images appear on this page. %2$sAdd some%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")};if(this._config.scores.okay){if(wi(e,1,3)&&!this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)(
/* translators: %3$s and %4$s expand to links on yoast.com, %5$s expands to the anchor end tag,
* %1$d expands to the number of images found in the text,
* %2$d expands to the recommended number of images in the text, */
-Object(_._n)("%3$sImages%5$s: Only %1$d image appears on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!","%3$sImages%5$s: Only %1$d images appear on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!",e,"wordpress-seo"),e,this._config.recommendedCount,this._config.urlTitle,this._config.urlCallToAction,"")};if(Ri(e,1,3)&&this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)(
+Object(_._n)("%3$sImages%5$s: Only %1$d image appears on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!","%3$sImages%5$s: Only %1$d images appear on this page. We recommend at least %2$d. %4$sAdd more relevant images%5$s!",e,"wordpress-seo"),e,this._config.recommendedCount,this._config.urlTitle,this._config.urlCallToAction,"")};if(wi(e,1,3)&&this._countVideos)return{score:this._config.scores.okay,resultText:Object(_.sprintf)(
/* translators: %3$s and %4$s expand to links on yoast.com, %5$s expands to the anchor end tag,
* %1$d expands to the number of images found in the text,
* %2$d expands to the recommended number of images in the text, */
@@ -205,7 +205,7 @@ Object(_._n)("%3$sImages and videos%5$s: Only %1$d image or video appears on thi
Object(_.__)("%1$sImages and videos%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.good,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com,
* %2$s expands to the anchor end tag. */
-Object(_.__)("%1$sImages%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}}class ba extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ai.b)("https://yoa.st/34n"),urlCallToAction:Object(Ai.b)("https://yoa.st/34o"),cornerstoneContent:!1,customContentType:""};this.identifier="textLength",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("wordCountInText");t.getConfig("textLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=this.calculateResult(r.count),s=new wi;return s.setScore(n.score),s.setText(n.resultText),s}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("textLength");return r.hasOwnProperty(t.customContentType)?Object(T.merge)(t,r[t.customContentType]):!0===t.cornerstoneContent&&""===t.customContentType&&r.hasOwnProperty("defaultCornerstone")?Object(T.merge)(t,r.defaultCornerstone):Object(T.merge)(t,r.defaultAnalysis)}calculateResult(e){if(e>=this._config.recommendedMinimum)return{score:this._config.scores.recommendedMinimum,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sImages%2$s: Good job!","wordpress-seo"),this._config.urlTitle,"")}}}class ba extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20},countTextIn:{singular:Object(_.__)("word","wordpress-seo"),plural:Object(_.__)("words","wordpress-seo")},urlTitle:Object(Ei.b)("https://yoa.st/34n"),urlCallToAction:Object(Ei.b)("https://yoa.st/34o"),cornerstoneContent:!1,customContentType:""};this.identifier="textLength",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("wordCountInText");t.getConfig("textLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn.singular=Object(_.__)("character","wordpress-seo"),this._config.countTextIn.plural=Object(_.__)("characters","wordpress-seo"));const n=this.calculateResult(r.count),s=new yi;return s.setScore(n.score),s.setText(n.resultText),s}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("textLength");return r.hasOwnProperty(t.customContentType)?Object(T.merge)(t,r[t.customContentType]):!0===t.cornerstoneContent&&""===t.customContentType&&r.hasOwnProperty("defaultCornerstone")?Object(T.merge)(t,r.defaultCornerstone):Object(T.merge)(t,r.defaultAnalysis)}calculateResult(e){if(e>=this._config.recommendedMinimum)return{score:this._config.scores.recommendedMinimum,resultText:Object(_.sprintf)(
/* translators: %1$d expands to the number of words / characters in the text,
%2$s expands to a link on yoast.com, %3$s expands to the anchor end tag,
%4$s expands to the word 'words' or 'characters'. */
@@ -229,7 +229,7 @@ Object(_.__)("%2$sText length%4$s: The text contains %1$d %6$s. This is below th
%2$s expands to a link on yoast.com, %3$s expands to a link on yoast.com,
%4$s expands to the anchor end tag, %5$d expands to the recommended minimum of words / characters,
%6$s expands to the word 'words' or 'characters'. */
-Object(_.__)("%2$sText length%4$s: The text contains %1$d %6$s. This is below the recommended minimum of %5$d %6$s. %3$sAdd more content%4$s.","wordpress-seo"),e,this._config.urlTitle,this._config.urlCallToAction,"",this._config.recommendedMinimum,this._config.countTextIn.plural)}}}class ya extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{noLinks:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:Object(Ai.b)("https://yoa.st/34f"),urlCallToAction:Object(Ai.b)("https://yoa.st/34g")};this.identifier="externalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("getLinkStatistics"),n=new wi;return Object(T.isEmpty)(r)||(n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r))),n}isApplicable(e){return e.hasText()}calculateScore(e){return 0===e.externalTotal?this._config.scores.noLinks:e.externalNofollow===e.externalTotal?this._config.scores.allNofollowed:e.externalDofollow",this._config.recommendedMinimum,this._config.countTextIn.plural)}}}class ya extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{noLinks:3,allNofollowed:7,someNoFollowed:8,allFollowed:9},urlTitle:Object(Ei.b)("https://yoa.st/34f"),urlCallToAction:Object(Ei.b)("https://yoa.st/34g")};this.identifier="externalLinks",this._config=Object(T.merge)(t,e)}getResult(e,t){const r=t.getResearch("getLinkStatistics"),n=new yi;return Object(T.isEmpty)(r)||(n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r))),n}isApplicable(e){return e.hasText()}calculateScore(e){return 0===e.externalTotal?this._config.scores.noLinks:e.externalNofollow===e.externalTotal?this._config.scores.allNofollowed:e.externalDofollow"):e.externalNofollow===e.externalTotal?Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
@@ -237,38 +237,38 @@ Object(_.__)("%1$sOutbound links%3$s: All outbound links on this page are nofoll
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sOutbound links%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):e.externalDofollow"):""}}class Aa extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={minLength:400,maxLength:600,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:Object(Ai.b)("https://yoa.st/34h"),urlCallToAction:Object(Ai.b)("https://yoa.st/34i")};this._allowShortTitle=t,this.identifier="titleWidth",this._config=Object(T.merge)(r,e)}getMaximumLength(){return 600}getResult(e,t){const r=t.getResearch("pageTitleWidth"),n=new wi;return n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n.max=this._config.maxLength,n.actual=r,n}calculateScore(e){return ki(e,1,400)?this._config.scores.widthTooShort:ki(e,this._config.minLength,this._config.maxLength)?this._config.scores.widthCorrect:e>this._config.maxLength?this._config.scores.widthTooLong:this._config.scores.noTitle}translateScore(e){return ki(e,1,400)?this._allowShortTitle?Object(_.sprintf)(
+Object(_.__)("%1$sOutbound links%2$s: There are both nofollowed and normal outbound links on this page. Good job!","wordpress-seo"),this._config.urlTitle,""):""}}class Aa extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={minLength:400,maxLength:600,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9},urlTitle:Object(Ei.b)("https://yoa.st/34h"),urlCallToAction:Object(Ei.b)("https://yoa.st/34i")};this._allowShortTitle=t,this.identifier="titleWidth",this._config=Object(T.merge)(r,e)}getMaximumLength(){return 600}getResult(e,t){const r=t.getResearch("pageTitleWidth"),n=new yi;return n.setScore(this.calculateScore(r)),n.setText(this.translateScore(r)),n.getScore()<9&&(n.setHasJumps(!0),n.setEditFieldName(Object(_.__)("SEO title","wordpress-seo"))),n.max=this._config.maxLength,n.actual=r,n}calculateScore(e){return Oi(e,1,400)?this._config.scores.widthTooShort:Oi(e,this._config.minLength,this._config.maxLength)?this._config.scores.widthCorrect:e>this._config.maxLength?this._config.scores.widthTooLong:this._config.scores.noTitle}translateScore(e){return Oi(e,1,400)?this._allowShortTitle?Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sSEO title width%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sSEO title width%3$s: The SEO title is too short. %2$sUse the space to add keyphrase variations or create compelling call-to-action copy%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):ki(e,this._config.minLength,this._config.maxLength)?Object(_.sprintf)(
+Object(_.__)("%1$sSEO title width%3$s: The SEO title is too short. %2$sUse the space to add keyphrase variations or create compelling call-to-action copy%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):Oi(e,this._config.minLength,this._config.maxLength)?Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sSEO title width%2$s: Good job!","wordpress-seo"),this._config.urlTitle,""):e>this._config.maxLength?Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
Object(_.__)("%1$sSEO title width%3$s: The SEO title is wider than the viewable limit. %2$sTry to make it shorter%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,""):Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}var Oa=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{onlyFunctionWords:0},urlTitle:Object(Ai.b)("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:Object(Ai.b)("https://yoa.st/functionwordskeyphrase-2")};this.identifier="functionWordsInKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this._functionWordsInKeyphrase=t.getResearch("functionWordsInKeyphrase"),this._keyword=Object(T.escape)(e.getKeyword());const r=new wi;return this._functionWordsInKeyphrase&&(r.setScore(this._config.scores.onlyFunctionWords),r.setText(Object(_.sprintf)(
+Object(_.__)("%1$sSEO title width%3$s: %2$sPlease create an SEO title%3$s.","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}var Oa=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{onlyFunctionWords:0},urlTitle:Object(Ei.b)("https://yoa.st/functionwordskeyphrase-1"),urlCallToAction:Object(Ei.b)("https://yoa.st/functionwordskeyphrase-2")};this.identifier="functionWordsInKeyphrase",this._config=Object(T.merge)(t,e)}getResult(e,t){this._functionWordsInKeyphrase=t.getResearch("functionWordsInKeyphrase"),this._keyword=Object(T.escape)(e.getKeyword());const r=new yi;return this._functionWordsInKeyphrase&&(r.setScore(this._config.scores.onlyFunctionWords),r.setText(Object(_.sprintf)(
/**
* translators:
* %1$s and %2$s expand to links on yoast.com,
* %3$s expands to the anchor end tag,
* %4$s expands to the focus keyphrase of the article.
*/
-Object(_.__)('%1$sFunction words in keyphrase%3$s: Your keyphrase "%4$s" contains function words only. %2$sLearn more about what makes a good keyphrase.%3$s',"wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"",this._keyword)),r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&t.hasResearch("functionWordsInKeyphrase")}},Ca=function(e){return""+e+" "},wa=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{textContainsSuperfluousH1:1},urlTitle:Object(Ai.b)("https://yoa.st/3a6"),urlCallToAction:Object(Ai.b)("https://yoa.st/3a7")};this.identifier="singleH1",this._config=Object(T.merge)(t,e)}getResult(e,t){this._h1s=t.getResearch("h1s");const r=new wi,n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!0)),r}calculateResult(){if(!(this._h1s.length<=1))return{score:this._config.scores.textContainsSuperfluousH1,resultText:Object(_.sprintf)(
+Object(_.__)('%1$sFunction words in keyphrase%3$s: Your keyphrase "%4$s" contains function words only. %2$sLearn more about what makes a good keyphrase.%3$s',"wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"",this._keyword)),r.setHasJumps(!0),r.setEditFieldName(Object(_.__)("keyphrase","wordpress-seo"))),r}isApplicable(e,t){return e.hasKeyword()&&t.hasResearch("functionWordsInKeyphrase")}},Ca=function(e){return""+e+" "},wa=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={scores:{textContainsSuperfluousH1:1},urlTitle:Object(Ei.b)("https://yoa.st/3a6"),urlCallToAction:Object(Ei.b)("https://yoa.st/3a7")};this.identifier="singleH1",this._config=Object(T.merge)(t,e)}getResult(e,t){this._h1s=t.getResearch("h1s");const r=new yi,n=this.calculateResult();return Object(T.isUndefined)(n)||(r.setScore(n.score),r.setText(n.resultText),r.setHasMarks(!0)),r}calculateResult(){if(!(this._h1s.length<=1))return{score:this._config.scores.textContainsSuperfluousH1,resultText:Object(_.sprintf)(
/* translators: %1$s and %2$s expand to links on yoast.com, %3$s expands to the anchor end tag */
-Object(_.__)("%1$sSingle title%3$s: H1s should only be used as your main title. Find all H1s in your text that aren't your main title and %2$schange them to a lower heading level%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}getMarks(){const e=this._h1s;return Object(T.map)(e,(function(e){return new gs({original:""+e.content+" ",marked:""+Ca(e.content)+" "})}))}isApplicable(e){return e.hasText()}};const Sa=function(e,t){fa.call(this,e,t),this.type="SEOAssessor",this._assessments=[new Si,new Ii,new Li,new Mi,new _a,new Ta,new Ui,new Ea,new va,new ba,new ya,new $i,new Hi,new Aa({scores:{widthTooShort:9}},!0),new qi,new Oa,new wa]};Object(v.inherits)(Sa,fa);var ka=Sa;class Na extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={urlTitle:Object(Ai.b)("https://yoa.st/35d"),urlCallToAction:Object(Ai.b)("https://yoa.st/35e"),countTextIn:Object(_.__)("words","wordpress-seo"),parameters:{recommendedLength:150,maximumRecommendedLength:200}};this.identifier="textParagraphTooLong",this._config=Object(T.merge)(r,e),this._isProduct=t}getTooLongParagraphs(e,t){const r=t.parameters.recommendedLength;return Object(T.filter)(e,(function(e){return e.countLength>r}))}getConfig(e){const t=this._config,r=e.getConfig("paragraphLength");return r&&(t.parameters=this._isProduct?r.productPageParams:r.defaultPageParams),t}calculateResult(e,t,r){let n;if(0===e.length)return{};const s=e[0].countLength;return s<=r.parameters.recommendedLength&&(n=9),ki(s,r.parameters.recommendedLength,r.parameters.maximumRecommendedLength)&&(n=6),s>r.parameters.maximumRecommendedLength&&(n=3),n>=7?{score:n,hasMarks:!1,text:Object(_.sprintf)(
+Object(_.__)("%1$sSingle title%3$s: H1s should only be used as your main title. Find all H1s in your text that aren't your main title and %2$schange them to a lower heading level%3$s!","wordpress-seo"),this._config.urlTitle,this._config.urlCallToAction,"")}}getMarks(){const e=this._h1s;return Object(T.map)(e,(function(e){return new us({original:""+e.content+" ",marked:""+Ca(e.content)+" "})}))}isApplicable(e){return e.hasText()}};const Sa=function(e,t){fa.call(this,e,t),this.type="SEOAssessor",this._assessments=[new Ai,new Si,new Ri,new Ii,new _a,new Ta,new Pi,new Ea,new va,new ba,new ya,new ji,new Fi,new Aa({scores:{widthTooShort:9}},!0),new Ui,new Oa,new wa]};Object(v.inherits)(Sa,fa);var ka=Sa;class Na extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();const r={urlTitle:Object(Ei.b)("https://yoa.st/35d"),urlCallToAction:Object(Ei.b)("https://yoa.st/35e"),countTextIn:Object(_.__)("words","wordpress-seo"),parameters:{recommendedLength:150,maximumRecommendedLength:200}};this.identifier="textParagraphTooLong",this._config=Object(T.merge)(r,e),this._isProduct=t}getTooLongParagraphs(e,t){const r=t.parameters.recommendedLength;return Object(T.filter)(e,(function(e){return e.countLength>r}))}getConfig(e){const t=this._config,r=e.getConfig("paragraphLength");return r&&(t.parameters=this._isProduct?r.productPageParams:r.defaultPageParams),t}calculateResult(e,t,r){let n;if(0===e.length)return{};const s=e[0].countLength;return s<=r.parameters.recommendedLength&&(n=9),Oi(s,r.parameters.recommendedLength,r.parameters.maximumRecommendedLength)&&(n=6),s>r.parameters.maximumRecommendedLength&&(n=3),n>=7?{score:n,hasMarks:!1,text:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sParagraph length%2$s: None of the paragraphs are too long. Great job!","wordpress-seo"),r.urlTitle,"")}:{score:n,hasMarks:!0,text:Object(_.sprintf)(
/* translators: %1$s and %5$s expand to a link on yoast.com, %2$s expands to the anchor end tag,
%3$d expands to the number of paragraphs over the recommended word / character limit, %4$d expands to the word / character limit,
%6$s expands to the word 'words' or 'characters'. */
-Object(_._n)("%1$sParagraph length%2$s: %3$d of the paragraphs contains more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!","%1$sParagraph length%2$s: %3$d of the paragraphs contain more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!",t.length,"wordpress-seo"),r.urlTitle,"",t.length,r.parameters.recommendedLength,r.urlCallToAction,this._config.countTextIn)}}sortParagraphs(e){return e.sort((function(e,t){return t.countLength-e.countLength}))}getMarks(e,t){const r=t.getResearch("getParagraphLength"),n=this.getTooLongParagraphs(r,this.getConfig(t));return Object(T.map)(n,(function(e){const t=ft(e.text),r=Ca(t);return new gs({original:t,marked:r})}))}getResult(e,t){let r=t.getResearch("getParagraphLength");t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo")),r=this.sortParagraphs(r);const n=this.getConfig(t),s=this.getTooLongParagraphs(r,n),i=this.calculateResult(r,s,n),a=new wi;return a.setScore(i.score),a.setText(i.text),a.setHasMarks(i.hasMarks),a}isApplicable(e){return this.hasEnoughContentForAssessment(e)}}var Ra=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super();const n={recommendedLength:20,slightlyTooMany:25,farTooMany:30,urlTitle:Object(Ai.b)("https://yoa.st/34v"),urlCallToAction:Object(Ai.b)("https://yoa.st/34w"),countTextIn:Object(_.__)("words","wordpress-seo")};this._config=Object(T.merge)(n,e),this._isCornerstone=t,this._isProduct=r,this.identifier="textSentenceLength"}getResult(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const n=this.calculatePercentage(r),s=this.calculateScore(n),i=new wi;return i.setScore(s),i.setText(this.translateScore(s,n)),i.setHasMarks(n>0),i}isApplicable(e){return this.hasEnoughContentForAssessment(e)}getMarks(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t));const n=this.getTooLongSentences(r);return Object(T.map)(n,(function(e){const t=gt(e.sentence);return new gs({original:t,marked:Ca(t)})}))}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("sentenceLength");return r.hasOwnProperty("recommendedLength")&&(t.recommendedLength=r.recommendedLength),!0===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("cornerstonePercentages")?Object(T.merge)(t,r.cornerstonePercentages):!1===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("percentages")?Object(T.merge)(t,r.percentages):t}translateScore(e,t){return e>=7?Object(_.sprintf)(
+Object(_._n)("%1$sParagraph length%2$s: %3$d of the paragraphs contains more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!","%1$sParagraph length%2$s: %3$d of the paragraphs contain more than the recommended maximum of %4$d %6$s. %5$sShorten your paragraphs%2$s!",t.length,"wordpress-seo"),r.urlTitle,"",t.length,r.parameters.recommendedLength,r.urlCallToAction,this._config.countTextIn)}}sortParagraphs(e){return e.sort((function(e,t){return t.countLength-e.countLength}))}getMarks(e,t){const r=t.getResearch("getParagraphLength"),n=this.getTooLongParagraphs(r,this.getConfig(t));return Object(T.map)(n,(function(e){const t=ft(e.text),r=Ca(t);return new us({original:t,marked:r})}))}getResult(e,t){let r=t.getResearch("getParagraphLength");t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo")),r=this.sortParagraphs(r);const n=this.getConfig(t),s=this.getTooLongParagraphs(r,n),i=this.calculateResult(r,s,n),a=new yi;return a.setScore(i.score),a.setText(i.text),a.setHasMarks(i.hasMarks),a}isApplicable(e){return this.hasEnoughContentForAssessment(e)}}var Ra=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super();const n={recommendedLength:20,slightlyTooMany:25,farTooMany:30,urlTitle:Object(Ei.b)("https://yoa.st/34v"),urlCallToAction:Object(Ei.b)("https://yoa.st/34w"),countTextIn:Object(_.__)("words","wordpress-seo")};this._config=Object(T.merge)(n,e),this._isCornerstone=t,this._isProduct=r,this.identifier="textSentenceLength"}getResult(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const n=this.calculatePercentage(r),s=this.calculateScore(n),i=new yi;return i.setScore(s),i.setText(this.translateScore(s,n)),i.setHasMarks(n>0),i}isApplicable(e){return this.hasEnoughContentForAssessment(e)}getMarks(e,t){const r=t.getResearch("countSentencesFromText");t.getConfig("sentenceLength")&&(this._config=this.getLanguageSpecificConfig(t));const n=this.getTooLongSentences(r);return Object(T.map)(n,(function(e){const t=gt(e.sentence);return new us({original:t,marked:Ca(t)})}))}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("sentenceLength");return r.hasOwnProperty("recommendedLength")&&(t.recommendedLength=r.recommendedLength),!0===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("cornerstonePercentages")?Object(T.merge)(t,r.cornerstonePercentages):!1===this._isCornerstone&&!1===this._isProduct&&r.hasOwnProperty("percentages")?Object(T.merge)(t,r.percentages):t}translateScore(e,t){return e>=7?Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
Object(_.__)("%1$sSentence length%2$s: Great!","wordpress-seo"),this._config.urlTitle,""):Object(_.sprintf)(
/* translators: %1$s and %6$s expand to a link on yoast.com, %2$s expands to the anchor end tag,
%3$d expands to percentage of sentences, %4$s expands to the recommended maximum sentence length,
%5$s expands to the recommended maximum percentage, %7$s expands to the word 'words' or 'characters'. */
-Object(_.__)("%1$sSentence length%2$s: %3$s of the sentences contain more than %4$s %7$s, which is more than the recommended maximum of %5$s. %6$sTry to shorten the sentences%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.recommendedLength,this._config.slightlyTooMany+"%",this._config.urlCallToAction,this._config.countTextIn)}calculatePercentage(e){let t=0;if(0!==e.length){const r=this.countTooLongSentences(e);t=ji(r/e.length*100)}return t}calculateScore(e){let t;return e<=this._config.slightlyTooMany&&(t=9),ki(e,this._config.slightlyTooMany,this._config.farTooMany)&&(t=6),e>this._config.farTooMany&&(t=3),t}getTooLongSentences(e){return function(e,t){return Object(T.filter)(e,(function(e){return e.sentenceLength>t}))}(e,this._config.recommendedLength)}countTooLongSentences(e){return this.getTooLongSentences(e).length}},Ia=class extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximumLength:300,slightlyTooMany:300,farTooMany:350},countTextIn:Object(_.__)("words","wordpress-seo"),urlTitle:Object(Ai.b)("https://yoa.st/34x"),urlCallToAction:Object(Ai.b)("https://yoa.st/34y"),scores:{goodShortTextNoSubheadings:9,goodSubheadings:9,okSubheadings:6,badSubheadings:3,badLongTextNoSubheadings:2},applicableIfTextLongerThan:300,shouldNotAppearInShortText:!1,cornerstoneContent:!1};this.identifier="subheadingsTooLong",this._config=Object(T.merge)(t,e)}checkTextBeforeFirstSubheadingLength(e){let t={isLong:!1,isVeryLong:!1};if(e.length>0&&""===e[0].subheading&&""!==e[0].text){const r=e[0].countLength;t={isLong:ki(r,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany),isVeryLong:r>this._config.parameters.farTooMany}}return t}getTextLength(e,t){const r=t.getHelper("customCountLength");let n=e.getText();return n=kr(n),r?r(n):It(n).length}getResult(e,t){this._subheadingTextsLength=t.getResearch("getSubheadingTextLengths"),t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const r=this.checkTextBeforeFirstSubheadingLength(this._subheadingTextsLength);this._subheadingTextsLength=this._subheadingTextsLength.sort((function(e,t){return t.countLength-e.countLength}));const n=new wi;n.setIdentifier(this.identifier),this._hasSubheadings=this.hasSubheadings(e),this._tooLongTextsNumber=this.getTooLongSubheadingTexts().length,this._textLength=this.getTextLength(e,t);const s=this.calculateResult(r);return s.resultTextPlural=s.resultTextPlural||"",n.setScore(s.score),n.setText(s.resultText),n.setHasMarks(s.hasMarks),n}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("subheadingsTooLong");return!0===t.cornerstoneContent&&r.hasOwnProperty("cornerstoneParameters")?Object(T.merge)(t,r.cornerstoneParameters):Object(T.merge)(t,r.defaultParameters)}isApplicable(e,t){return this._config.shouldNotAppearInShortText?(t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),this.getTextLength(e,t)>this._config.applicableIfTextLongerThan):this.hasEnoughContentForAssessment(e)}hasSubheadings(e){return Jn(e.getText()).length>0}getMarks(){const e=Object(T.map)(this.getTooLongSubheadingTexts(),(function(e){let{subheading:t}=e;t=mt(t);const r=Ca(t);return new gs({original:t,marked:r,fieldsToMark:["heading"]})}));return Object(T.filter)(e,e=>""!==e.getOriginal())}getTooLongSubheadingTexts(){return Object(T.filter)(this._subheadingTextsLength,function(e){return e.countLength>this._config.parameters.recommendedMaximumLength}.bind(this))}calculateResult(e){if(this._textLength>this._config.applicableIfTextLongerThan){if(this._hasSubheadings){if(e.isLong&&this._tooLongTextsNumber<2)return{score:this._config.scores.okSubheadings,hasMarks:!1,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sSentence length%2$s: %3$s of the sentences contain more than %4$s %7$s, which is more than the recommended maximum of %5$s. %6$sTry to shorten the sentences%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.recommendedLength,this._config.slightlyTooMany+"%",this._config.urlCallToAction,this._config.countTextIn)}calculatePercentage(e){let t=0;if(0!==e.length){const r=this.countTooLongSentences(e);t=Li(r/e.length*100)}return t}calculateScore(e){let t;return e<=this._config.slightlyTooMany&&(t=9),Oi(e,this._config.slightlyTooMany,this._config.farTooMany)&&(t=6),e>this._config.farTooMany&&(t=3),t}getTooLongSentences(e){return function(e,t){return Object(T.filter)(e,(function(e){return e.sentenceLength>t}))}(e,this._config.recommendedLength)}countTooLongSentences(e){return this.getTooLongSentences(e).length}},Ia=class extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={parameters:{recommendedMaximumLength:300,slightlyTooMany:300,farTooMany:350},countTextIn:Object(_.__)("words","wordpress-seo"),urlTitle:Object(Ei.b)("https://yoa.st/34x"),urlCallToAction:Object(Ei.b)("https://yoa.st/34y"),scores:{goodShortTextNoSubheadings:9,goodSubheadings:9,okSubheadings:6,badSubheadings:3,badLongTextNoSubheadings:2},applicableIfTextLongerThan:300,shouldNotAppearInShortText:!1,cornerstoneContent:!1};this.identifier="subheadingsTooLong",this._config=Object(T.merge)(t,e)}checkTextBeforeFirstSubheadingLength(e){let t={isLong:!1,isVeryLong:!1};if(e.length>0&&""===e[0].subheading&&""!==e[0].text){const r=e[0].countLength;t={isLong:Oi(r,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany),isVeryLong:r>this._config.parameters.farTooMany}}return t}getTextLength(e,t){const r=t.getHelper("customCountLength");let n=e.getText();return n=kr(n),r?r(n):It(n).length}getResult(e,t){this._subheadingTextsLength=t.getResearch("getSubheadingTextLengths"),t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),t.getConfig("countCharacters")&&(this._config.countTextIn=Object(_.__)("characters","wordpress-seo"));const r=this.checkTextBeforeFirstSubheadingLength(this._subheadingTextsLength);this._subheadingTextsLength=this._subheadingTextsLength.sort((function(e,t){return t.countLength-e.countLength}));const n=new yi;n.setIdentifier(this.identifier),this._hasSubheadings=this.hasSubheadings(e),this._tooLongTextsNumber=this.getTooLongSubheadingTexts().length,this._textLength=this.getTextLength(e,t);const s=this.calculateResult(r);return s.resultTextPlural=s.resultTextPlural||"",n.setScore(s.score),n.setText(s.resultText),n.setHasMarks(s.hasMarks),n}getLanguageSpecificConfig(e){const t=this._config,r=e.getConfig("subheadingsTooLong");return!0===t.cornerstoneContent&&r.hasOwnProperty("cornerstoneParameters")?Object(T.merge)(t,r.cornerstoneParameters):Object(T.merge)(t,r.defaultParameters)}isApplicable(e,t){return this._config.shouldNotAppearInShortText?(t.getConfig("subheadingsTooLong")&&(this._config=this.getLanguageSpecificConfig(t)),this.getTextLength(e,t)>this._config.applicableIfTextLongerThan):this.hasEnoughContentForAssessment(e)}hasSubheadings(e){return Yn(e.getText()).length>0}getMarks(){const e=Object(T.map)(this.getTooLongSubheadingTexts(),(function(e){let{subheading:t}=e;t=mt(t);const r=Ca(t);return new us({original:t,marked:r,fieldsToMark:["heading"]})}));return Object(T.filter)(e,e=>""!==e.getOriginal())}getTooLongSubheadingTexts(){return Object(T.filter)(this._subheadingTextsLength,function(e){return e.countLength>this._config.parameters.recommendedMaximumLength}.bind(this))}calculateResult(e){if(this._textLength>this._config.applicableIfTextLongerThan){if(this._hasSubheadings){if(e.isLong&&this._tooLongTextsNumber<2)return{score:this._config.scores.okSubheadings,hasMarks:!1,resultText:Object(_.sprintf)(
/* translators: %1$s and %3$s expand to a link to https://yoa.st/headings, %2$s expands to the link closing tag.
* %4$s expands to the recommended number of words following a subheading,
* %5$s expands to the word 'words' or 'characters'.
@@ -279,7 +279,7 @@ Object(_.__)("%1$sSubheading distribution%2$s: The beginning of your text is lon
* %5$s expands to the word 'words' or 'characters'.
*/
Object(_.__)("%1$sSubheading distribution%2$s: The beginning of your text is longer than %4$s %5$s and is not separated by any subheadings. %3$sAdd subheadings to improve readability.%2$s","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction,this._config.parameters.recommendedMaximumLength,this._config.countTextIn)};const t=this._subheadingTextsLength[0].countLength;return t<=this._config.parameters.slightlyTooMany?{score:this._config.scores.goodSubheadings,hasMarks:!1,resultText:Object(_.sprintf)(// translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag.
-Object(_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:ki(t,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,hasMarks:!0,resultText:Object(_.sprintf)(
+Object(_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:Oi(t,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,hasMarks:!0,resultText:Object(_.sprintf)(
/*
* translators: %1$s and %5$s expand to a link on yoast.com, %3$d to the number of text sections
* not separated by subheadings, %4$d expands to the recommended number of words following a
@@ -295,30 +295,30 @@ Object(_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings
/* translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */
Object(_.__)("%1$sSubheading distribution%2$s: Great job!","wordpress-seo"),this._config.urlTitle,"")}:{score:this._config.scores.goodShortTextNoSubheadings,hasMarks:!1,resultText:Object(_.sprintf)(
/* translators: %1$s expands to a link to https://yoa.st/headings, %2$s expands to the link closing tag. */
-Object(_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings, but your text is short enough and probably doesn't need them.","wordpress-seo"),this._config.urlTitle,"")}}};class xa extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/34z"),urlCallToAction:Object(Ai.b)("https://yoa.st/35a"),applicableIfTextLongerThan:200};this.identifier="textTransitionWords",this._config=Object(T.merge)(t,e)}calculateTransitionWordPercentage(e){return 0===e.transitionWordSentences||0===e.totalSentences?0:ji(e.transitionWordSentences/e.totalSentences*100)}calculateScoreFromPercentage(e){return e<20?3:Ni(e,20,30)?6:9}calculateTransitionWordResult(e){const t=this.calculateTransitionWordPercentage(e),r=this.calculateScoreFromPercentage(t),n=t>0;return r<7&&0===t?{score:ji(r),hasMarks:n,text:Object(_.sprintf)(
+Object(_.__)("%1$sSubheading distribution%2$s: You are not using any subheadings, but your text is short enough and probably doesn't need them.","wordpress-seo"),this._config.urlTitle,"")}}};class xa extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/34z"),urlCallToAction:Object(Ei.b)("https://yoa.st/35a"),applicableIfTextLongerThan:200};this.identifier="textTransitionWords",this._config=Object(T.merge)(t,e)}calculateTransitionWordPercentage(e){return 0===e.transitionWordSentences||0===e.totalSentences?0:Li(e.transitionWordSentences/e.totalSentences*100)}calculateScoreFromPercentage(e){return e<20?3:Ci(e,20,30)?6:9}calculateTransitionWordResult(e){const t=this.calculateTransitionWordPercentage(e),r=this.calculateScoreFromPercentage(t),n=t>0;return r<7&&0===t?{score:Li(r),hasMarks:n,text:Object(_.sprintf)(
/* translators: %1$s and %3$s expand to a link to yoast.com, %2$s expands to the anchor end tag */
-Object(_.__)("%1$sTransition words%2$s: None of the sentences contain transition words. %3$sUse some%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)}:r<7?{score:ji(r),hasMarks:n,text:Object(_.sprintf)(
+Object(_.__)("%1$sTransition words%2$s: None of the sentences contain transition words. %3$sUse some%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)}:r<7?{score:Li(r),hasMarks:n,text:Object(_.sprintf)(
/* translators: %1$s and %4$s expand to a link to yoast.com, %2$s expands to the anchor end tag,
%3$s expands to the percentage of sentences containing transition words */
-Object(_.__)("%1$sTransition words%2$s: Only %3$s of the sentences contain transition words, which is not enough. %4$sUse more of them%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.urlCallToAction)}:{score:ji(r),hasMarks:n,text:Object(_.sprintf)(
+Object(_.__)("%1$sTransition words%2$s: Only %3$s of the sentences contain transition words, which is not enough. %4$sUse more of them%2$s.","wordpress-seo"),this._config.urlTitle,"",t+"%",this._config.urlCallToAction)}:{score:Li(r),hasMarks:n,text:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %3$s expands to the anchor end tag. */
-Object(_.__)("%1$sTransition words%2$s: Well done!","wordpress-seo"),this._config.urlTitle,"")}}getResult(e,t){const r=t.getResearch("findTransitionWords"),n=this.calculateTransitionWordResult(r),s=new wi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}getMarks(e,t){const r=t.getResearch("findTransitionWords");return Object(T.map)(r.sentenceResults,(function(e){let t=e.sentence;return t=gt(t),new gs({original:t,marked:Ca(t)})}))}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").transitionWords;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();return s=kr(s),(r?r(s):It(s).length)>=this._config.applicableIfTextLongerThan&&t.hasResearch("findTransitionWords")}}class Da extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/34t"),urlCallToAction:Object(Ai.b)("https://yoa.st/34u")};this.identifier="passiveVoice",this._config=Object(T.merge)(t,e)}calculatePassiveVoiceResult(e){let t,r=0;0!==e.total&&(r=ji(e.passives.length/e.total*100));const n=r>0;return r<=10&&(t=9),ki(r,10,15)&&(t=6),r>15&&(t=3),t>=7?{score:t,hasMarks:n,text:Object(_.sprintf)(
+Object(_.__)("%1$sTransition words%2$s: Well done!","wordpress-seo"),this._config.urlTitle,"")}}getResult(e,t){const r=t.getResearch("findTransitionWords"),n=this.calculateTransitionWordResult(r),s=new yi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}getMarks(e,t){const r=t.getResearch("findTransitionWords");return Object(T.map)(r.sentenceResults,(function(e){let t=e.sentence;return t=gt(t),new us({original:t,marked:Ca(t)})}))}isApplicable(e,t){const r=t.getHelper("customCountLength"),n=t.getConfig("assessmentApplicability").transitionWords;n&&(this._config.applicableIfTextLongerThan=n);let s=e.getText();return s=kr(s),(r?r(s):It(s).length)>=this._config.applicableIfTextLongerThan&&t.hasResearch("findTransitionWords")}}class Da extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/34t"),urlCallToAction:Object(Ei.b)("https://yoa.st/34u")};this.identifier="passiveVoice",this._config=Object(T.merge)(t,e)}calculatePassiveVoiceResult(e){let t,r=0;0!==e.total&&(r=Li(e.passives.length/e.total*100));const n=r>0;return r<=10&&(t=9),Oi(r,10,15)&&(t=6),r>15&&(t=3),t>=7?{score:t,hasMarks:n,text:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag. */
Object(_.__)("%1$sPassive voice%2$s: You're using enough active voice. That's great!","wordpress-seo"),this._config.urlTitle,"")}:{score:t,hasMarks:n,text:Object(_.sprintf)(
/* translators: %1$s and %5$s expand to a link on yoast.com, %2$s expands to the anchor end tag,
%3$s expands to the percentage of sentences in passive voice, %4$s expands to the recommended value. */
-Object(_.__)("%1$sPassive voice%2$s: %3$s of the sentences contain passive voice, which is more than the recommended maximum of %4$s. %5$sTry to use their active counterparts%2$s.","wordpress-seo"),this._config.urlTitle,"",r+"%","10%",this._config.urlCallToAction)}}getMarks(e,t){const r=t.getResearch("getPassiveVoiceResult");return Object(T.map)(r.passives,(function(e){e=gt(e);const t=Ca(e);return new gs({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getPassiveVoiceResult"),n=this.calculatePassiveVoiceResult(r),s=new wi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getPassiveVoiceResult")}}class La extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/35f"),urlCallToAction:Object(Ai.b)("https://yoa.st/35g")};this.identifier="sentenceBeginnings",this._config=Object(T.merge)(t,e)}groupSentenceBeginnings(e){const t=Object(T.partition)(e,(function(e){return e.count>2}));if(0===t[0].length)return{total:0};const r=Object(T.sortBy)(t[0],(function(e){return e.count}));return{total:t[0].length,lowestCount:r[0].count}}calculateSentenceBeginningsResult(e){return e.total>0?{score:3,hasMarks:!0,text:Object(_.sprintf)(
+Object(_.__)("%1$sPassive voice%2$s: %3$s of the sentences contain passive voice, which is more than the recommended maximum of %4$s. %5$sTry to use their active counterparts%2$s.","wordpress-seo"),this._config.urlTitle,"",r+"%","10%",this._config.urlCallToAction)}}getMarks(e,t){const r=t.getResearch("getPassiveVoiceResult");return Object(T.map)(r.passives,(function(e){e=gt(e);const t=Ca(e);return new us({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getPassiveVoiceResult"),n=this.calculatePassiveVoiceResult(r),s=new yi;return s.setScore(n.score),s.setText(n.text),s.setHasMarks(n.hasMarks),s}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getPassiveVoiceResult")}}class La extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/35f"),urlCallToAction:Object(Ei.b)("https://yoa.st/35g")};this.identifier="sentenceBeginnings",this._config=Object(T.merge)(t,e)}groupSentenceBeginnings(e){const t=Object(T.partition)(e,(function(e){return e.count>2}));if(0===t[0].length)return{total:0};const r=Object(T.sortBy)(t[0],(function(e){return e.count}));return{total:t[0].length,lowestCount:r[0].count}}calculateSentenceBeginningsResult(e){return e.total>0?{score:3,hasMarks:!0,text:Object(_.sprintf)(
/* translators: %1$s and %5$s expand to a link on yoast.com, %2$s expands to the anchor end tag,
%3$d expands to the number of consecutive sentences starting with the same word,
%4$d expands to the number of instances where 3 or more consecutive sentences start with the same word. */
Object(_._n)("%1$sConsecutive sentences%2$s: The text contains %3$d consecutive sentences starting with the same word. %5$sTry to mix things up%2$s!","%1$sConsecutive sentences%2$s: The text contains %4$d instances where %3$d or more consecutive sentences start with the same word. %5$sTry to mix things up%2$s!",e.total,"wordpress-seo"),this._config.urlTitle,"",e.lowestCount,e.total,this._config.urlCallToAction)}:{score:9,hasMarks:!1,text:Object(_.sprintf)(
/* translators: %1$s expands to a link on yoast.com, %2$s expands to the anchor end tag */
-Object(_.__)("%1$sConsecutive sentences%2$s: There is enough variety in your sentences. That's great!","wordpress-seo"),this._config.urlTitle,"")}}getMarks(e,t){let r=t.getResearch("getSentenceBeginnings");r=Object(T.filter)(r,(function(e){return e.count>2}));const n=Object(T.map)(r,(function(e){return e.sentences}));return Object(T.map)(Object(T.flatten)(n),(function(e){e=gt(e);const t=Ca(e);return new gs({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getSentenceBeginnings"),n=this.groupSentenceBeginnings(r),s=this.calculateSentenceBeginningsResult(n),i=new wi;return i.setScore(s.score),i.setText(s.text),i.setHasMarks(s.hasMarks),i}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getSentenceBeginnings")}}class Ma extends yi{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ai.b)("https://yoa.st/35h"),urlCallToAction:Object(Ai.b)("https://yoa.st/35i")};this.identifier="textPresence",this._config=Object(T.merge)(t,e)}getResult(e){if(!this.hasEnoughContentForAssessment(e)){const e=new wi;return e.setText(Object(_.sprintf)(
+Object(_.__)("%1$sConsecutive sentences%2$s: There is enough variety in your sentences. That's great!","wordpress-seo"),this._config.urlTitle,"")}}getMarks(e,t){let r=t.getResearch("getSentenceBeginnings");r=Object(T.filter)(r,(function(e){return e.count>2}));const n=Object(T.map)(r,(function(e){return e.sentences}));return Object(T.map)(Object(T.flatten)(n),(function(e){e=gt(e);const t=Ca(e);return new us({original:e,marked:t})}))}getResult(e,t){const r=t.getResearch("getSentenceBeginnings"),n=this.groupSentenceBeginnings(r),s=this.calculateSentenceBeginningsResult(n),i=new yi;return i.setScore(s.score),i.setText(s.text),i.setHasMarks(s.hasMarks),i}isApplicable(e,t){return this.hasEnoughContentForAssessment(e)&&t.hasResearch("getSentenceBeginnings")}}class Ma extends Ti{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const t={urlTitle:Object(Ei.b)("https://yoa.st/35h"),urlCallToAction:Object(Ei.b)("https://yoa.st/35i")};this.identifier="textPresence",this._config=Object(T.merge)(t,e)}getResult(e){if(!this.hasEnoughContentForAssessment(e)){const e=new yi;return e.setText(Object(_.sprintf)(
/* translators: %1$s and %3$s expand to links to articles on Yoast.com,
%2$s expands to the anchor end tag*/
-Object(_.__)("%1$sNot enough content%2$s: %3$sPlease add some content to enable a good analysis%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)),e.setScore(3),e}return new wi}}var Pa=function(e){return-1===e?"error":0===e?"feedback":e<=4?"bad":e>4&&e<=7?"ok":e>7?"good":""};const Fa=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="contentAssessor",this._assessments=[new Ia,new Na,new Ra,new xa,new Da,new Ma,new La]};r(18).inherits(Fa,fa),Fa.prototype.calculatePenaltyPointsFullSupport=function(e){switch(e){case"bad":return 3;case"ok":return 2;default:case"good":return 0}},Fa.prototype.calculatePenaltyPointsPartialSupport=function(e){switch(e){case"bad":return 4;case"ok":return 2;default:case"good":return 0}},Fa.prototype._allAssessmentsSupported=function(){const e=this._assessments.length;return this.getApplicableAssessments().length===e},Fa.prototype.calculatePenaltyPoints=function(){const e=this.getValidResults(),t=Object(T.map)(e,function(e){const t=Pa(e.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(t):this.calculatePenaltyPointsPartialSupport(t)}.bind(this));return Object(T.sum)(t)},Fa.prototype._ratePenaltyPoints=function(e){if(1===this.getValidResults().length)return 30;if(this._allAssessmentsSupported()){if(e>6)return 30;if(e>4)return 60}else{if(e>4)return 30;if(e>2)return 60}return 90},Fa.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;const e=this.calculatePenaltyPoints();return this._ratePenaltyPoints(e)};var ja=Fa;const Ba=function(e,t){fa.call(this,e,t),this.type="taxonomyAssessor",this._assessments=[new Si,new Ii,new Li,new Mi,new _a,new ba({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:Object(Ai.b)("https://yoa.st/34j"),urlCallToAction:Object(Ai.b)("https://yoa.st/34k"),customContentType:"taxonomyAssessor"}),new $i,new Aa({scores:{widthTooShort:9}},!0),new qi,new Oa,new wa]};Object(v.inherits)(Ba,fa);var Ua=Ba;const Ha={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,slug:"",locale:"en_US",permalink:"",date:"",customData:{},textTitle:"",writingDirection:"LTR"};function $a(e,t){this._text=e||"",this._tree=null,t=t||{},Object(T.defaults)(t,Ha),""===t.locale&&(t.locale=Ha.locale),t.hasOwnProperty("url")&&(console.warn("The 'url' attribute is deprecated, use 'slug' instead."),t.slug=t.url||t.slug);const r=t.keyword.replace(/[‘’“”"'.?!:;,¿¡«»&*@#±^%|~`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\u002b\u0026\s]/g,"");Object(T.isEmpty)(r)&&(t.keyword=Ha.keyword),this._attributes=t}$a.prototype.hasKeyword=function(){return""!==this._attributes.keyword},$a.prototype.getKeyword=function(){return this._attributes.keyword},$a.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},$a.prototype.getSynonyms=function(){return this._attributes.synonyms},$a.prototype.hasText=function(){return""!==this._text},$a.prototype.getText=function(){return this._text},$a.prototype.setTree=function(e){this._tree=e},$a.prototype.getTree=function(){return this._tree},$a.prototype.hasDescription=function(){return""!==this._attributes.description},$a.prototype.getDescription=function(){return this._attributes.description},$a.prototype.hasTitle=function(){return""!==this._attributes.title},$a.prototype.getTitle=function(){return this._attributes.title},$a.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},$a.prototype.getTitleWidth=function(){return this._attributes.titleWidth},$a.prototype.hasSlug=function(){return""!==this._attributes.slug},$a.prototype.getSlug=function(){return this._attributes.slug},$a.prototype.hasUrl=function(){return console.warn("This function is deprecated, use hasSlug instead"),this.hasSlug()},$a.prototype.getUrl=function(){return console.warn("This function is deprecated, use getSlug instead"),this.getSlug()},$a.prototype.hasLocale=function(){return""!==this._attributes.locale},$a.prototype.getLocale=function(){return this._attributes.locale},$a.prototype.getWritingDirection=function(){return this._attributes.writingDirection},$a.prototype.hasPermalink=function(){return""!==this._attributes.permalink},$a.prototype.getPermalink=function(){return this._attributes.permalink},$a.prototype.hasDate=function(){return""!==this._attributes.date},$a.prototype.getDate=function(){return this._attributes.date},$a.prototype.hasCustomData=function(){return!Object(T.isEmpty)(this._attributes.customData)},$a.prototype.getCustomData=function(){return this._attributes.customData},$a.prototype.hasTextTitle=function(){return""!==this._attributes.textTitle&&!Object(T.isNil)(this._attributes.textTitle)},$a.prototype.getTextTitle=function(){return this._attributes.textTitle},$a.prototype.serialize=function(){return{_parseClass:"Paper",text:this._text,...this._attributes}},$a.prototype.equals=function(e){return this._text===e.getText()&&Object(T.isEqual)(this._attributes,e._attributes)},$a.parse=function(e){if(e instanceof $a)return e;const{text:t,_parseClass:r,...n}=e;return new $a(t,n)};var Ka=$a;const qa=function(e,t){fa.call(this,e,t),this.type="relatedKeywordAssessor",this._assessments=[new Si,new Ii({isRelatedKeyphrase:!0}),new Li,new Mi,new Ui,new Oa,new Ea]};Object(v.inherits)(qa,fa);var Ga=qa;const za="Avoid using %1$s as it is potentially harmful.",Wa="Be careful when using %1$s as it is potentially harmful.",Ya="Consider using an alternative, such as %2$s.",Va="Consider using an alternative, such as %2$s, unless referring to someone who explicitly wants to be referred to with this term.",Qa=[za,Ya].join(" "),Xa=[Wa,Ya].join(" "),Ja=[Wa,Va].join(" "),Za=[za,Va].join(" "),eo="Alternatively, if talking about a specific person, use their preferred descriptor if known.";function to(e,t,r){return e.every((e,n)=>r[t+n]===e)}function ro(e,t){const r=t.map(e=>It(e,!1));return t=>!r.some(r=>{const n=t-r.length;return n>=0&&to(r,n,e)})}function no(e,t){return r=>!ro(e,t)(r)}function so(e,t,r){const n=r.map(e=>It(e,!1));return r=>n.some(n=>{const s=r+t.length;return s>=0&&to(n,s,e)})}function io(e,t,r){return n=>!so(e,t,r)(n)}function ao(e,t){const r=[];return e.forEach((n,s)=>{to(t,s,e)&&r.push(s)}),r}var oo=["arisen","awoken","reawoken","babysat","backslid","backslidden","beat","beaten","become","begun","bent","unbent","bet","bid","outbid","rebid","underbid","overbid","bidden","bitten","blown","bought","overbought","bound","unbound","rebound","broadcast","rebroadcast","broken","brought","browbeat","browbeaten","built","prebuilt","rebuilt","overbuilt","burnt","burst","bust","cast","miscast","recast","caught","chosen","clung","come","overcome","cost","crept","cut","undercut","recut","daydreamt","dealt","misdealt","redealt","disproven","done","predone","outdone","misdone","redone","overdone","undone","drawn","outdrawn","redrawn","overdrawn","dreamt","driven","outdriven","drunk","outdrunk","overdrunk","dug","dwelt","eaten","overeaten","fallen","felt","fit","refit","retrofit","flown","outflown","flung","forbidden","forecast","foregone","foreseen","foretold","forgiven","forgotten","forsaken","fought","outfought","found","frostbitten","frozen","unfrozen","given","gone","undergone","gotten","ground","reground","grown","outgrown","regrown","had","handwritten","heard","reheard","misheard","overheard","held","hewn","hidden","unhidden","hit","hung","rehung","overhung","unhung","hurt","inlaid","input","interwound","interwoven","jerry-built","kept","knelt","knit","reknit","unknit","known","laid","mislaid","relaid","overlaid","lain","underlain","leant","leapt","outleapt","learnt","unlearnt","relearnt","mislearnt","left","lent","let","lip-read","lit","relit","lost","made","premade","remade","meant","met","mown","offset","paid","prepaid","repaid","overpaid","partaken","proofread","proven","put","quick-frozen","quit","read","misread","reread","retread","rewaken","rid","ridden","outridden","overridden","risen","roughcast","run","outrun","rerun","overrun","rung","said","sand-cast","sat","outsat","sawn","seen","overseen","sent","resent","set","preset","reset","misset","sewn","resewn","oversewn","unsewn","shaken","shat","shaven","shit","shone","outshone","shorn","shot","outshot","overshot","shown","shrunk","preshrunk","shut","sight-read","slain","slept","outslept","overslept","slid","slit","slung","unslung","slunk","smelt","outsmelt","snuck","sold","undersold","presold","outsold","resold","oversold","sought","sown","spat","spelt","misspelt","spent","underspent","outspent","misspent","overspent","spilt","overspilt","spit","split","spoilt","spoken","outspoken","misspoken","overspoken","spread","sprung","spun","unspun","stolen","stood","understood","misunderstood","strewn","stricken","stridden","striven","struck","strung","unstrung","stuck","unstuck","stung","stunk","sublet","sunburnt","sung","outsung","sunk","sweat","swept","swollen","sworn","outsworn","swum","outswum","swung","taken","undertaken","mistaken","retaken","overtaken","taught","mistaught","retaught","telecast","test-driven","test-flown","thought","outthought","rethought","overthought","thrown","outthrown","overthrown","thrust","told","retold","torn","retorn","trod","trodden","typecast","typeset","upheld","upset","waylaid","wept","wet","rewet","withdrawn","withheld","withstood","woken","won","rewon","worn","reworn","wound","rewound","overwound","unwound","woven","rewoven","unwoven","written","typewritten","underwritten","outwritten","miswritten","rewritten","overwritten","wrung"];const lo=/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi;const co=["am","is","are","was","were","been","get","gets","got","gotten","be","she's","he's","it's","i'm","we're","they're","you're","that's","isn't","weren't","wasn't","aren't"],uo=["being","getting","having","what's"];var ho=co.concat(uo);const po=["accordingly","additionally","afterward","afterwards","albeit","also","although","altogether","another","basically","because","before","besides","but","certainly","chiefly","comparatively","concurrently","consequently","contrarily","conversely","correspondingly","despite","doubtedly","during","e.g.","earlier","emphatically","equally","especially","eventually","evidently","explicitly","finally","firstly","following","formerly","forthwith","fourthly","further","furthermore","generally","hence","henceforth","however","i.e.","identically","indeed","initially","instead","last","lastly","later","lest","likewise","markedly","meanwhile","moreover","nevertheless","nonetheless","nor","notwithstanding","obviously","occasionally","otherwise","overall","particularly","presently","previously","rather","regardless","secondly","shortly","significantly","similarly","simultaneously","since","so","soon","specifically","still","straightaway","subsequently","surely","surprisingly","than","then","thereafter","therefore","thereupon","thirdly","though","thus","till","undeniably","undoubtedly","unless","unlike","unquestionably","until","when","whenever","whereas","while"];po.concat(["above all","after all","after that","all in all","all of a sudden","all things considered","analogous to","although this may be true","analogous to","another key point","as a matter of fact","as a result","as an illustration","as can be seen","as has been noted","as I have noted","as I have said","as I have shown","as long as","as much as","as opposed to","as shown above","as soon as","as well as","at any rate","at first","at last","at least","at length","at the present time","at the same time","at this instant","at this point","at this time","balanced against","being that","by all means","by and large","by comparison","by the same token","by the time","compared to","be that as it may","coupled with","different from","due to","equally important","even if","even more","even so","even though","first thing to remember","for example","for fear that","for instance","for one thing","for that reason","for the most part","for the purpose of","for the same reason","for this purpose","for this reason","from time to time","given that","given these points","important to realize","in a word","in addition","in another case","in any case","in any event","in brief","in case","in conclusion","in contrast","in detail","in due time","in effect","in either case","in essence","in fact","in general","in light of","in like fashion","in like manner","in order that","in order to","in other words","in particular","in reality","in short","in similar fashion","in spite of","in sum","in summary","in that case","in the event that","in the final analysis","in the first place","in the fourth place","in the hope that","in the light of","in the long run","in the meantime","in the same fashion","in the same way","in the second place","in the third place","in this case","in this situation","in time","in truth","in view of","inasmuch as","most compelling evidence","most important","must be remembered","not only","not to mention","note that","now that","of course","on account of","on balance","on condition that","on one hand","on the condition that","on the contrary","on the negative side","on the other hand","on the positive side","on the whole","on this occasion","once","once in a while","only if","owing to","point often overlooked","prior to","provided that","seeing that","so as to","so far","so long as","so that","sooner or later","such as","summing up","take the case of","that is","that is to say","then again","this time","to be sure","to begin with","to clarify","to conclude","to demonstrate","to emphasize","to enumerate","to explain","to illustrate","to list","to point out","to put it another way","to put it differently","to repeat","to rephrase it","to say nothing of","to sum up","to summarize","to that end","to the end that","to this end","together with","under those circumstances","until now","up against","up to the present time","vis a vis","what's more","while it may be true","while this may be true","with attention to","with the result that","with this in mind","with this intention","with this purpose in mind","without a doubt","without delay","without doubt","without reservation"]);const go=["the","an","a"],fo=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","hundred","hundreds","thousand","thousands","million","millions","billion","billions"],mo=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],_o=["i","you","he","she","it","we","they"],To=["me","him","us","them"],Eo=["this","that","these","those"],vo=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],bo=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],yo=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],Ao=["none","nobody","everyone","everybody","someone","somebody","anyone","anybody","nothing","everything","something","anything","each","other","whatever","whichever","whoever","whomever","whomsoever","whosoever","others","neither","both","either","any","such"],Oo=["one's","nobody's","everyone's","everybody's","someone's","somebody's","anyone's","anybody's","nothing's","everything's","something's","anything's","whoever's","others'","other's","another's","neither's","either's"],Co=["which","what","whose"],wo=["who","whom"],So=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],ko=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],No=["there","here","whither","thither","hither","whence","thence"],Ro=["always","once","twice","thrice"],Io=["can","cannot","can't","could","couldn't","could've","dare","dares","dared","do","don't","does","doesn't","did","didn't","done","have","haven't","had","hadn't","has","hasn't","i've","you've","we've","they've","i'd","you'd","he'd","she'd","it'd","we'd","they'd","would","wouldn't","would've","may","might","must","need","needn't","needs","ought","shall","shalln't","shan't","should","shouldn't","will","won't","i'll","you'll","he'll","she'll","it'll","we'll","they'll","there's","there're","there'll","here's","here're","there'll"],xo=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],Do=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],Lo=["in","from","with","under","throughout","atop","for","on","of","to","aboard","about","above","abreast","absent","across","adjacent","after","against","along","alongside","amid","mid","among","apropos","apud","around","as","astride","at","ontop","afore","tofore","behind","ahind","below","ablow","beneath","neath","beside","between","atween","beyond","ayond","by","chez","circa","spite","down","except","into","less","like","minus","near","nearer","nearest","anear","notwithstanding","off","onto","opposite","out","outen","over","past","per","pre","qua","sans","sauf","sithence","through","thru","truout","toward","underneath","up","upon","upside","versus","via","vis-à-vis","without","ago","apart","aside","aslant","away","withal","towards","amidst","amongst","midst","whilst"],Mo=["back","within","forward","backward","ahead"],Po=["and","or","and/or","yet"],Fo=["sooner","just","only"],jo=["if","even"],Bo=["say","says","said","claimed","ask","asks","asked","stated","explain","explains","explained","think","thinks","talks","talked","announces","announced","tells","told","discusses","discussed","suggests","suggested","understands","understood"],Uo=["again","definitely","eternally","expressively","instead","expressly","immediately","including","instantly","namely","naturally","next","notably","now","nowadays","ordinarily","positively","truly","ultimately","uniquely","usually","almost","maybe","probably","granted","initially","too","actually","already","e.g","i.e","often","regularly","simply","optionally","perhaps","sometimes","likely","never","ever","else","inasmuch","provided","currently","incidentally","elsewhere","particular","recently","relatively","f.i","clearly","apparently"],Ho=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],$o=["seem","seems","seemed","let","let's","lets","make","makes","made","want","showed","shown","go","goes","went","gone","take","takes","took","taken","put","puts","use","used","try","tries","tried","mean","means","meant","called","based","add","adds","added","contain","contains","contained","consist","consists","consisted","ensure","ensures","ensured"],Ko=["new","newer","newest","old","older","oldest","previous","good","well","better","best","big","bigger","biggest","easy","easier","easiest","fast","faster","fastest","far","hard","harder","hardest","least","own","large","larger","largest","long","longer","longest","low","lower","lowest","high","higher","highest","regular","simple","simpler","simplest","small","smaller","smallest","tiny","tinier","tiniest","short","shorter","shortest","main","actual","nice","nicer","nicest","real","same","able","certain","usual","so-called","mainly","mostly","recent","anymore","complete","lately","possible","commonly","constantly","continually","directly","easily","nearly","slightly","somewhere","estimated","latest","different","similar","widely","bad","worse","worst","great","specific","available","average","awful","awesome","basic","beautiful","busy","current","entire","everywhere","important","major","multiple","normal","necessary","obvious","partly","special","last","early","earlier","earliest","young","younger","youngest"],qo=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],Go=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],zo=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],Wo=["thing","things","way","ways","matter","case","likelihood","ones","piece","pieces","stuff","times","part","parts","percent","instance","instances","aspect","aspects","item","items","idea","theme","person","instance","instances","detail","details","factor","factors","difference","differences"],Yo=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],Vo=["jr","sr"],Qo=([].concat(mo,Do,Ko),[].concat(go,Lo,Po,Eo,Ho,bo,vo),[].concat(po,Ro,_o,To,yo,qo,fo,co,Io,xo,Bo,$o,Ao,Fo,jo,Co,wo,So,No,Yo,Mo,ko,Go,zo,Wo),[].concat(go,Lo,Eo,vo,mo,Do,bo),[].concat(Io,xo,Bo,$o),[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Yo,Vo));[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Wo,Yo,zo,["ms","mss","mrs","mr","dr","prof"],Vo);const Xo=wt.filter(e=>It(e,!1).length>0);function Jo(e,t){return r=>so(e,t,Qo)(r)||function(e,t){return r=>{const n=r+t.length;return nolder person, older citizen","person older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"seniorCitizens",nonInclusivePhrases:["senior citizens"],inclusiveAlternatives:["older people, older citizens ","people older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"agingDependants",nonInclusivePhrases:["aging dependants"],inclusiveAlternatives:["older people ","people older than 70 "],score:3,feedbackFormat:[Za,Zo].join(" ")},{identifier:"elderly",nonInclusivePhrases:["elderly"],inclusiveAlternatives:["older people ","people older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"senile",nonInclusivePhrases:["senile"],inclusiveAlternatives:"",score:3,feedbackFormat:[za,"Consider using an alternative, such as a specific characteristic or experience if it is known (e.g. has Alzheimer's )."].join(" ")},{identifier:"senility",nonInclusivePhrases:["senility"],inclusiveAlternatives:"dementia ",score:3,feedbackFormat:Qa},{identifier:"seniors",nonInclusivePhrases:["seniors"],inclusiveAlternatives:["older people ","people older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(ro(e,["high school","college","graduating","juniors and"])).filter(io(e,t,["in high school","in college","who are graduating"]))},{identifier:"theAged",nonInclusivePhrases:["the aged"],inclusiveAlternatives:["older people ","people older than 70 "],score:3,feedbackFormat:[Qa,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];el.forEach(e=>{e.category="age",e.learnMoreUrl="https://yoa.st/inclusive-language-age"});var tl=el;const rl=[{identifier:"albinos",nonInclusivePhrases:["albinos"],inclusiveAlternatives:"people with albinism, albino people ",score:6,feedbackFormat:Ja},{identifier:"anAlbino",nonInclusivePhrases:["an albino"],inclusiveAlternatives:"person with albinism, albino person ",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"obese",nonInclusivePhrases:["obese","overweight"],inclusiveAlternatives:"has a higher weight, higher-weight person, person in higher weight body, heavier person ",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesitySingular",nonInclusivePhrases:["person with obesity","fat person"],inclusiveAlternatives:"person who has a higher weight, higher-weight person, person in higher weight body, heavier person ",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesityPlural",nonInclusivePhrases:["people with obesity","fat people"],inclusiveAlternatives:"people who have a higher weight, higher-weight people, people in higher weight bodies, heavier people ",score:6,feedbackFormat:[Ja].join(" ")},{identifier:"verticallyChallenged",nonInclusivePhrases:["vertically challenged"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism ",score:3,feedbackFormat:Qa},{identifier:"midget",nonInclusivePhrases:["midget"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism ",score:3,feedbackFormat:Qa},{identifier:"midgets",nonInclusivePhrases:["midgets"],inclusiveAlternatives:"little people, have short stature, people with dwarfism ",score:3,feedbackFormat:Qa},{identifier:"harelip",nonInclusivePhrases:["harelip"],inclusiveAlternatives:"cleft lip, cleft palate ",score:3,feedbackFormat:Qa}];rl.forEach(e=>{e.category="appearance",e.learnMoreUrl="https://yoa.st/inclusive-language-appearance"});var nl=rl;const sl=["so","very","a bit","really","pretty","kind of","that","too","totally","completely","absolutely","even","also","as"],il=ho.slice(0,-2),al=il.splice(19,4),ol=function(e,t){return Object(T.flatMap)(e,e=>Object(T.flatMap)(t,t=>`${e} ${t}`))},ll=ol(il,sl).concat(il);let cl=Object(T.flatMap)(il,e=>e+" not");cl=cl.concat(al);const ul=ol(cl,sl).concat(cl),hl=ll.concat(ul),dl=ol(["driving","drive","drove","drives","driven"],["me","you","them","him","her","someone","somebody","anyone","anybody","everyone","everybody"]),pl=["go","goes","going","gone","went"],gl=dl.concat(pl),fl=["in love"],ml=ll.concat(ul),_l=["about"],Tl="Avoid using %1$s as it is derogatory. Consider using an alternative, such as %2$s instead.",El=Wa+" Unless you are referencing the specific medical condition, consider using another alternative to describe the trait or behavior, such as %2$s.",vl=["Avoid using crazy as it is potentially harmful.",Ya].join(" "),bl=[{identifier:"binge",nonInclusivePhrases:["binge"],inclusiveAlternatives:"indulge, satiate, wallow, spree, marathon, consume excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","drinks","drinking"]))},{identifier:"bingeing",nonInclusivePhrases:["bingeing","binging"],inclusiveAlternatives:"indulging, satiating, wallowing, spreeing, marathoning, consuming excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binged",nonInclusivePhrases:["binged"],inclusiveAlternatives:"indulged, satiated, wallowed, spreed, marathoned, consumed excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binges",nonInclusivePhrases:["binges"],inclusiveAlternatives:"indulges, satiates, wallows, sprees, marathons, consumes excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"wheelchairBound",nonInclusivePhrases:["wheelchair-bound","wheelchair bound","confined to a wheelchair"],inclusiveAlternatives:"uses a wheelchair, is a wheelchair user ",score:3,feedbackFormat:Qa},{identifier:"mentallyRetarded",nonInclusivePhrases:["mentally retarded"],inclusiveAlternatives:"person with an intellectual disability ",score:3,feedbackFormat:Qa},{identifier:"retarded",nonInclusivePhrases:["retarded"],inclusiveAlternatives:"uninformed, ignorant, foolish, irrational, insensible ",score:3,feedbackFormat:Tl,rule:(e,t)=>ao(e,t).filter(ro(e,["mentally"]))},{identifier:"alcoholic",nonInclusivePhrases:["an alcoholic"],inclusiveAlternatives:"person with alcohol use disorder ",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","beverage"]))},{identifier:"alcoholics",nonInclusivePhrases:["alcoholics"],inclusiveAlternatives:"people with alcohol use disorder ",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["anonymous"]))},{identifier:"cripple",nonInclusivePhrases:["a cripple"],inclusiveAlternatives:"person with a physical disability, a physically disabled person ",score:3,feedbackFormat:Tl},{identifier:"crippled",nonInclusivePhrases:["crippled"],inclusiveAlternatives:"has a physical disability, is physically disabled ",score:3,feedbackFormat:Qa},{identifier:"daft",nonInclusivePhrases:["daft"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless ",score:6,feedbackFormat:Xa},{identifier:"handicapped",nonInclusivePhrases:["handicapped"],inclusiveAlternatives:"disabled, person with a disability ",score:3,feedbackFormat:Qa},{identifier:"handicap",nonInclusivePhrases:["handicap"],inclusiveAlternatives:"disability ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(io(e,t,["toilet","toilets","parking","bathroom","bathrooms","stall","stalls"]))},{identifier:"insane",nonInclusivePhrases:["insane"],inclusiveAlternatives:"wild, confusing, unpredictable, impulsive, reckless, out of control, unbelievable, amazing, incomprehensible, nonsensical, outrageous, ridiculous ",score:3,feedbackFormat:Qa},{identifier:"imbecile",nonInclusivePhrases:["imbecile"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless ",score:3,feedbackFormat:Tl},{identifier:"specialNeeds",nonInclusivePhrases:["special needs"],inclusiveAlternatives:["functional needs, support needs ","disabled, person with a disability "],score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s when referring to someone's needs, or %3$s when referring to a person."},{identifier:"hardOfHearing",nonInclusivePhrases:["hard-of-hearing"],inclusiveAlternatives:"hard of hearing, partially deaf, has partial hearing loss ",score:3,feedbackFormat:Qa},{identifier:"hearingImpaired",nonInclusivePhrases:["hearing impaired"],inclusiveAlternatives:"deaf or hard of hearing, partially deaf, has partial hearing loss ",score:3,feedbackFormat:Qa},{identifier:"functioning",nonInclusivePhrases:["high functioning","low functioning"],inclusiveAlternatives:"describing the specific characteristic or experience",score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition.",rule:(e,t)=>ao(e,t).filter(io(e,t,["autism"]))},{identifier:"autismHigh",nonInclusivePhrases:["high functioning autism","high-functioning autism"],inclusiveAlternatives:"autism with high support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"autismLow",nonInclusivePhrases:["low functioning autism","low-functioning autism"],inclusiveAlternatives:"autism with low support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"lame",nonInclusivePhrases:["lame"],inclusiveAlternatives:"boring, lousy, unimpressive, sad, corny ",score:3,feedbackFormat:Qa},{identifier:"lamer",nonInclusivePhrases:["lamer"],inclusiveAlternatives:"more boring, lousier, more unimpressive, sadder, cornier ",score:3,feedbackFormat:Qa},{identifier:"lamest",nonInclusivePhrases:["lamest"],inclusiveAlternatives:"most boring, lousiest, most unimpressive, saddest, corniest ",score:3,feedbackFormat:Qa},{identifier:"commitSuicide",nonInclusivePhrases:["commit suicide"],inclusiveAlternatives:"take one's life, die by suicide, kill oneself ",score:3,feedbackFormat:Qa},{identifier:"committingSuicide",nonInclusivePhrases:["committing suicide"],inclusiveAlternatives:"taking one's life, dying by suicide, killing oneself ",score:3,feedbackFormat:Qa},{identifier:"commitsSuicide",nonInclusivePhrases:["commits suicide"],inclusiveAlternatives:"takes one's life, dies by suicide, kills oneself ",score:3,feedbackFormat:Qa},{identifier:"committedSuicide",nonInclusivePhrases:["committed suicide"],inclusiveAlternatives:"took one's life, died by suicide, killed themself ",score:3,feedbackFormat:Qa},{identifier:"handicapParking",nonInclusivePhrases:["handicap parking"],inclusiveAlternatives:"accessible parking ",score:3,feedbackFormat:Qa},{identifier:"fellOnDeafEars",nonInclusivePhrases:["fell on deaf ears"],inclusiveAlternatives:"was not addressed, was ignored, was disregarded ",score:3,feedbackFormat:Qa},{identifier:"turnOnBlindEye",nonInclusivePhrases:["turn a blind eye"],inclusiveAlternatives:"ignore, pretend not to notice ",score:3,feedbackFormat:Qa},{identifier:"blindLeadingBlind",nonInclusivePhrases:["the blind leading the blind"],inclusiveAlternatives:"ignorant, misguided, incompetent, unqualified, insensitive, unaware ",score:3,feedbackFormat:Qa},{identifier:"handicapBathroom",nonInclusivePhrases:["handicap bathroom","handicap bathrooms"],inclusiveAlternatives:"accessible bathroom(s) ",score:3,feedbackFormat:Qa},{identifier:"handicapToilet",nonInclusivePhrases:["handicap toilet","handicap toilets"],inclusiveAlternatives:"accessible toilet(s) ",score:3,feedbackFormat:Qa},{identifier:"handicapStall",nonInclusivePhrases:["handicap stall","handicap stalls"],inclusiveAlternatives:"accessible stall(s) ",score:3,feedbackFormat:Qa},{identifier:"stupid",nonInclusivePhrases:["stupid"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless "],score:3,feedbackFormat:Qa},{identifier:"dumb",nonInclusivePhrases:["dumb","dumber","dumbest"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless "],score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,["deaf and"]))},{identifier:"deaf",nonInclusivePhrases:["deaf-mute","deaf and dumb"],inclusiveAlternatives:"deaf ",score:3,feedbackFormat:Qa},{identifier:"addict",nonInclusivePhrases:["addict"],inclusiveAlternatives:"person with a (drug, alcohol, ...) addiction, person with substance abuse disorder ",score:6,feedbackFormat:Ja},{identifier:"addicts",nonInclusivePhrases:["addicts"],inclusiveAlternatives:"people with a (drug, alcohol, ...) addiction, people with substance abuse disorder ",score:6,feedbackFormat:Ja},{identifier:"brainDamaged",nonInclusivePhrases:["brain-damaged"],inclusiveAlternatives:"person with a (traumatic) brain injury ",score:6,feedbackFormat:Ja},{identifier:"differentlyAbled",nonInclusivePhrases:["differently abled","differently-abled"],inclusiveAlternatives:"disabled, person with a disability ",score:6,feedbackFormat:Ja},{identifier:"epilepticFit",nonInclusivePhrases:["epileptic fit"],inclusiveAlternatives:"epileptic seizure ",score:3,feedbackFormat:Qa},{identifier:"epilepticFits",nonInclusivePhrases:["epileptic fits"],inclusiveAlternatives:"epileptic seizures ",score:3,feedbackFormat:Qa},{identifier:"sanityCheck",nonInclusivePhrases:["sanity check"],inclusiveAlternatives:"final check, confidence check, rationality check, soundness check ",score:3,feedbackFormat:Qa},{identifier:"to be not crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to be not impressed by, to be not enthusiastic about, to be not into, to not like ",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ul))},{identifier:"to be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to love, to be obsessed with, to be infatuated with ",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ll))},{identifier:"crazy in love",nonInclusivePhrases:["crazy in love"],inclusiveAlternatives:"wildly in love, head over heels, infatuated ",score:3,feedbackFormat:vl},{identifier:"to go crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to go wild, to go out of control, to go up the wall, to be aggravated, to get confused ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,pl))},{identifier:"to drive crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to drive one to their limit, to get on one's last nerve, to make one livid, to aggravate, to make one's blood boil, to exasperate, to get into one's head ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,dl))},{identifier:"crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,gl)).filter(io(e,t,fl)).filter(function(e,t,r,n){return s=>!function(e,t,r,n){return s=>so(e,t,n)(s)&&no(e,r)(s)}(e,t,r,n)(s)}(e,t,ml,_l))},{identifier:"crazier",nonInclusivePhrases:["crazier"],inclusiveAlternatives:"more wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed ",score:3,feedbackFormat:Qa},{identifier:"craziest",nonInclusivePhrases:["craziest"],inclusiveAlternatives:"most wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed ",score:3,feedbackFormat:Qa},{identifier:"psychopathic",nonInclusivePhrases:["psychopath","psychopaths","psychopathic"],inclusiveAlternatives:"toxic, manipulative, unpredictable, impulsive, reckless, out of control ",score:3,feedbackFormat:Qa},{identifier:"schizophrenic",nonInclusivePhrases:["schizophrenic","bipolar"],inclusiveAlternatives:"of two minds, chaotic, confusing ",score:6,feedbackFormat:El},{identifier:"paranoid",nonInclusivePhrases:["paranoid"],inclusiveAlternatives:"overly suspicious, unreasonable, defensive ",score:6,feedbackFormat:El},{identifier:"manic",nonInclusivePhrases:["manic"],inclusiveAlternatives:"excited, raving, unbalanced, wild ",score:6,feedbackFormat:El},{identifier:"hysterical",nonInclusivePhrases:["hysterical"],inclusiveAlternatives:"intense, vehement, piercing, chaotic ",score:3,feedbackFormat:Qa},{identifier:"psycho",nonInclusivePhrases:["psycho","psychos"],inclusiveAlternatives:"toxic, distraught, unpredictable, reckless, out of control ",score:3,feedbackFormat:Qa},{identifier:"neurotic",nonInclusivePhrases:["neurotic","lunatic"],inclusiveAlternatives:"distraught, unstable, startling, confusing, baffling ",score:3,feedbackFormat:Qa},{identifier:"sociopath",nonInclusivePhrases:["sociopath"],inclusiveAlternatives:["person with antisocial personality disorder ","toxic, manipulative, cruel "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"sociopaths",nonInclusivePhrases:["sociopaths"],inclusiveAlternatives:["people with antisocial personality disorder ","toxic, manipulative, cruel "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"narcissistic",nonInclusivePhrases:["narcissistic"],inclusiveAlternatives:["person with narcissistic personality disorder ","selfish, egotistical, self-centered, self-absorbed, vain, toxic, manipulative "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"OCD",nonInclusivePhrases:["ocd"],inclusiveAlternatives:"pedantic, obsessed, perfectionist ",score:6,feedbackFormat:[Object(_.sprintf)(El,"OCD","%2$s"),"If you are referring to someone who has the medical condition, then state that they have OCD rather than that they are OCD."].join(" "),rule:(e,t)=>ao(e,t).filter(no(e,hl))},{identifier:"theMentallyIll",nonInclusivePhrases:["the mentally ill"],inclusiveAlternatives:"people who are mentally ill , mentally ill people ",score:3,feedbackFormat:["Avoid using %1$s as it is generalizing. Consider using an alternative, such as %2$s instead."].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theDisabled",nonInclusivePhrases:["the disabled"],inclusiveAlternatives:"people who have a disability , disabled people ",score:3,feedbackFormat:[Qa].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];bl.forEach(e=>{e.category="disability",e.learnMoreUrl="https://yoa.st/inclusive-language-disability"});var yl=bl;const Al="Avoid using %1$s as it is exclusionary. Consider using an alternative, such as %2$s.",Ol="Be careful when using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",Cl="Avoid using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",wl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of %1$s, use an alternative, such as %2$s.",Sl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men, use an alternative, such as %2$s.",kl="Avoid using %1$s as it is derogatory.",Nl=[{identifier:"firemen",nonInclusivePhrases:["firemen"],inclusiveAlternatives:"firefighters ",score:6,feedbackFormat:Sl},{identifier:"policemen",nonInclusivePhrases:["policemen"],inclusiveAlternatives:"police officers ",score:6,feedbackFormat:Sl},{identifier:"menAndWomen",nonInclusivePhrases:["men and women","women and men"],inclusiveAlternatives:"people, people of all genders, individuals, human beings ",score:6,feedbackFormat:wl},{identifier:"boysAndGirls",nonInclusivePhrases:["boys and girls","girls and boys"],inclusiveAlternatives:"kids, children ",score:6,feedbackFormat:wl},{identifier:"heOrShe",nonInclusivePhrases:["he/she","he or she","she or he","(s)he"],inclusiveAlternatives:"they ",score:6,feedbackFormat:Ol},{identifier:"birthSex",nonInclusivePhrases:["birth sex","natal sex"],inclusiveAlternatives:"assigned sex, assigned sex at birth ",score:3,feedbackFormat:Qa},{identifier:"mankind",nonInclusivePhrases:["mankind"],inclusiveAlternatives:"individuals, people, persons, human beings, humanity ",score:3,feedbackFormat:Al},{identifier:"preferredPronouns",nonInclusivePhrases:["preferred pronouns"],inclusiveAlternatives:"pronouns ",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own pronouns."].join("")},{identifier:"oppositeGender",nonInclusivePhrases:["opposite gender"],inclusiveAlternatives:"another gender ",score:3,feedbackFormat:Al},{identifier:"oppositeSex",nonInclusivePhrases:["opposite sex"],inclusiveAlternatives:"another sex ",score:3,feedbackFormat:Al},{identifier:"femaleBodied",nonInclusivePhrases:["female-bodied"],inclusiveAlternatives:"assigned female at birth ",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s ."},{identifier:"maleBodied",nonInclusivePhrases:["male-bodied"],inclusiveAlternatives:"assigned male at birth ",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s ."},{identifier:"hermaphrodite",nonInclusivePhrases:["hermaphrodite"],inclusiveAlternatives:"intersex ",score:3,feedbackFormat:Qa},{identifier:"hermaphrodites",nonInclusivePhrases:["hermaphrodites"],inclusiveAlternatives:"intersex people ",score:3,feedbackFormat:Qa},{identifier:"bothGenders",nonInclusivePhrases:["both genders"],inclusiveAlternatives:"people, folks, human beings, all genders ",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of two genders, use an alternative, such as %2$s."},{identifier:"ladiesAndGentleman",nonInclusivePhrases:["ladies and gentlemen"],inclusiveAlternatives:"everyone, folks, honored guests ",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men and women, use an alternative, such as %2$s."},{identifier:"husbandAndWife",nonInclusivePhrases:["husband and wife","husbands and wives"],inclusiveAlternatives:"spouses, partners ",score:6,feedbackFormat:Ol.slice(0,-1)+", unless referring to someone who explicitly wants to be referred to with this term."},{identifier:"mothersAndFathers",nonInclusivePhrases:["mothers and fathers","fathers and mothers"],inclusiveAlternatives:"parents ",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of people who use this term, use an alternative, such as %2$s."},{identifier:"manHours",nonInclusivePhrases:["man-hours"],inclusiveAlternatives:"person-hours, business hours ",score:3,feedbackFormat:Al},{identifier:"preferredName",nonInclusivePhrases:["preferred name"],inclusiveAlternatives:"name, affirming name ",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own name."].join("")},{identifier:"transgenders",nonInclusivePhrases:["transgenders"],inclusiveAlternatives:"trans people, transgender people ",score:3,feedbackFormat:[kl,Ya].join(" ")},{identifier:"transsexual",nonInclusivePhrases:["transsexual"],inclusiveAlternatives:"transgender ",score:6,feedbackFormat:Ja},{identifier:"transsexuals",nonInclusivePhrases:["transsexuals"],inclusiveAlternatives:"trans people, transgender people ",score:6,feedbackFormat:Ja},{identifier:"transWoman",nonInclusivePhrases:["transwoman"],inclusiveAlternatives:"trans woman, transgender woman ",score:6,feedbackFormat:Ja},{identifier:"transWomen",nonInclusivePhrases:["transwomen"],inclusiveAlternatives:"trans women, transgender women ",score:6,feedbackFormat:Ja},{identifier:"transMan",nonInclusivePhrases:["transman"],inclusiveAlternatives:"trans man, transgender man ",score:6,feedbackFormat:Ja},{identifier:"transMen",nonInclusivePhrases:["transmen"],inclusiveAlternatives:"trans men, transgender men ",score:6,feedbackFormat:Ja},{identifier:"transgendered",nonInclusivePhrases:["transgendered"],inclusiveAlternatives:["transgender, trans ","transitioned, went through a gender transition"],score:3,feedbackFormat:[Qa.slice(0,-1),"if referring to a person. If referring to a transition process, consider using an alternative such as %3$s ."].join(" ")},{identifier:"maleToFemale",nonInclusivePhrases:["male-to-female","mtf"],inclusiveAlternatives:"trans woman, transgender woman ",score:6,feedbackFormat:Ja},{identifier:"femaleToMale",nonInclusivePhrases:["female-to-male","ftm"],inclusiveAlternatives:"trans man, transgender man ",score:6,feedbackFormat:Ja},{identifier:"heShe",nonInclusivePhrases:["he-she"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"shemale",nonInclusivePhrases:["shemale","she-male"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"manMade",nonInclusivePhrases:["man-made","manmade"],inclusiveAlternatives:"artificial, synthetic, machine-made ",score:3,feedbackFormat:Al},{identifier:"toEachTheirOwn",nonInclusivePhrases:["to each his own"],inclusiveAlternatives:"to each their own ",score:3,feedbackFormat:Al},{identifier:"manned",nonInclusivePhrases:["manned"],inclusiveAlternatives:"crewed ",score:3,feedbackFormat:Al},{identifier:"aTransgender",nonInclusivePhrases:["a transgender","the transgender"],inclusiveAlternatives:"transgender person ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Nl.forEach(e=>{e.category="gender",e.learnMoreUrl="https://yoa.st/inclusive-language-gender"});var Rl=Nl;const Il="Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead, unless you are referring to the culture in which this term originated.",xl="Avoid using %1$s as it is overgeneralizing. Consider using %2$s instead. ",Dl=[{identifier:"firstWorld",nonInclusivePhrases:["First World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Assembly","assembly"]))},{identifier:"thirdWorld",nonInclusivePhrases:["Third World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Quarterly","quarterly","country"]))},{identifier:"tribe",nonInclusivePhrases:["tribe"],inclusiveAlternatives:"group, cohort, crew, league, guild, team, union ",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"tribes",nonInclusivePhrases:["tribes"],inclusiveAlternatives:"groups, cohorts, crews, leagues, guilds, teams, unions ",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"exotic",nonInclusivePhrases:["exotic"],inclusiveAlternatives:"unfamiliar, foreign, peculiar, fascinating, alluring, bizarre, non-native, introduced ",score:6,feedbackFormat:Wa+" Unless you are referring to animals, consider using an alternative, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["longhair","longhairs","shorthair","shorthairs"]))},{identifier:"sherpa",nonInclusivePhrases:["sherpa"],inclusiveAlternatives:"commander, coach, mastermind, coach, mentor ",score:6,feedbackFormat:Il},{identifier:"guru",nonInclusivePhrases:["guru"],inclusiveAlternatives:"mentor, doyen, coach, mastermind, virtuoso, expert ",score:6,feedbackFormat:Il},{identifier:"gurus",nonInclusivePhrases:["gurus"],inclusiveAlternatives:"mentors, doyens, coaches, masterminds, virtuosos, experts ",score:6,feedbackFormat:Il},{identifier:"nonWhite",nonInclusivePhrases:["non-white"],inclusiveAlternatives:"people of color, POC, BIPOC or specifying the racial groups mentioned",score:3,feedbackFormat:Qa},{identifier:"oriental",nonInclusivePhrases:["oriental"],inclusiveAlternatives:"Asian . When possible, be more specific (e.g. East Asian )",score:6,feedbackFormat:Wa+" Unless you are referring to objects or animals, consider using an alternative, such as %2$s."},{identifier:"asianAmerican",nonInclusivePhrases:["Asian-American"],inclusiveAlternatives:"Asian American ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"asianAmericans",nonInclusivePhrases:["Asian-Americans"],inclusiveAlternatives:"Asian Americans ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmerican",nonInclusivePhrases:["African-American"],inclusiveAlternatives:"African American, Black, American of African descent ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmericans",nonInclusivePhrases:["African-Americans"],inclusiveAlternatives:"African Americans, Black, Americans of African descent ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"whiteRace",nonInclusivePhrases:["the White race"],inclusiveAlternatives:"",score:3,feedbackFormat:za,caseSensitive:!0},{identifier:"whitelist",nonInclusivePhrases:["whitelist"],inclusiveAlternatives:"allowlist ",score:3,feedbackFormat:Qa},{identifier:"whitelists",nonInclusivePhrases:["whitelists"],inclusiveAlternatives:"allowlists ",score:3,feedbackFormat:Qa},{identifier:"whitelisting",nonInclusivePhrases:["whitelisting"],inclusiveAlternatives:"allowlisting ",score:3,feedbackFormat:Qa},{identifier:"whitelisted",nonInclusivePhrases:["whitelisted"],inclusiveAlternatives:"allowlisted ",score:3,feedbackFormat:Qa},{identifier:"blacklist",nonInclusivePhrases:["blacklist"],inclusiveAlternatives:"blocklist, denylist, faillist, redlist ",score:3,feedbackFormat:Qa},{identifier:"blacklists",nonInclusivePhrases:["blacklists"],inclusiveAlternatives:"blocklists, denylists, faillists, redlists ",score:3,feedbackFormat:Qa},{identifier:"blacklisting",nonInclusivePhrases:["blacklisting"],inclusiveAlternatives:"blocklisting, denylisting, faillisting, redlisting ",score:3,feedbackFormat:Qa},{identifier:"blacklisted",nonInclusivePhrases:["blacklisted"],inclusiveAlternatives:"blocklisted, denylisted, faillisted, redlisted ",score:3,feedbackFormat:Qa},{identifier:"gyp",nonInclusivePhrases:["gyp"],inclusiveAlternatives:"fraud, cheat, swindle, rip-off ",score:3,feedbackFormat:Qa},{identifier:"gyps",nonInclusivePhrases:["gyps"],inclusiveAlternatives:"frauds, cheats, swindles, rips off, rip-offs ",score:3,feedbackFormat:Qa},{identifier:"gypped",nonInclusivePhrases:["gypped"],inclusiveAlternatives:"cheated, swindled, ripped off ",score:3,feedbackFormat:Qa},{identifier:"gypping",nonInclusivePhrases:["gypping"],inclusiveAlternatives:"cheating, swindling, ripping off ",score:3,feedbackFormat:Qa},{identifier:"gypsy",nonInclusivePhrases:["gypsy","gipsy"],inclusiveAlternatives:["Romani, Romani person ","traveler, wanderer, free-spirited "],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"gypsies",nonInclusivePhrases:["gypsies","gipsies"],inclusiveAlternatives:["Romani, Romani people ","travelers, wanderers, free-spirited "],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"eskimo",nonInclusivePhrases:["eskimo","eskimos"],inclusiveAlternatives:"the specific name of the Indigenous community (for example, Inuit )",score:6,feedbackFormat:Ja},{identifier:"coloredPerson",nonInclusivePhrases:["colored person"],inclusiveAlternatives:"person of color, POC, BIPOC ",score:3,feedbackFormat:Qa},{identifier:"coloredPeople",nonInclusivePhrases:["colored people"],inclusiveAlternatives:"people of color, POC, BIPOC ",score:3,feedbackFormat:Qa},{identifier:"americanIndians",nonInclusivePhrases:["American Indian","American Indians"],inclusiveAlternatives:"Native American(s), Indigenous peoples of America ",score:6,feedbackFormat:Ja,caseSensitive:!0},{identifier:"mulatto",nonInclusivePhrases:["mulatto","mulattos","mulattoes"],inclusiveAlternatives:"mixed, biracial, multiracial ",score:3,feedbackFormat:Qa},{identifier:"savage",nonInclusivePhrases:["savage"],inclusiveAlternatives:"severe, dreadful, untamed, brutal, fearless, fierce, brilliant, amazing ",score:3,feedbackFormat:Qa},{identifier:"civilized",nonInclusivePhrases:["civilized"],inclusiveAlternatives:"proper, well-mannered, enlightened, respectful ",score:3,feedbackFormat:Qa},{identifier:"primitive",nonInclusivePhrases:["primitive"],inclusiveAlternatives:"early, rudimentary ",score:3,feedbackFormat:Qa},{identifier:"ebonics",nonInclusivePhrases:["Ebonics"],inclusiveAlternatives:"African American English, African American Language ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"powWow",nonInclusivePhrases:["pow-wow"],inclusiveAlternatives:"chat, brief conversation, brainstorm, huddle ",score:6,feedbackFormat:Il},{identifier:"lowManOnTheTotemPole",nonInclusivePhrases:["low man on the totem pole"],inclusiveAlternatives:"person of lower rank, junior-level ",score:3,feedbackFormat:Qa},{identifier:"spiritAnimal",nonInclusivePhrases:["spirit animal"],inclusiveAlternatives:"inspiration, hero, icon, idol ",score:6,feedbackFormat:Il},{identifier:"firstWorldCountries",nonInclusivePhrases:["first world countries"],inclusiveAlternatives:"the specific name for the countries or regions",score:3,feedbackFormat:xl},{identifier:"firstWorldHyphen",nonInclusivePhrases:["first-world"],inclusiveAlternatives:"the specific name for the country or region",score:3,feedbackFormat:xl},{identifier:"third-worldCountry",nonInclusivePhrases:["third-world country"],inclusiveAlternatives:"low-income country, developing country ",score:3,feedbackFormat:Qa},{identifier:"third-worldCountry",nonInclusivePhrases:["third world country"],inclusiveAlternatives:"low-income country, developing country ",score:3,feedbackFormat:Qa},{identifier:"underdevelopedCountry",nonInclusivePhrases:["underdeveloped country"],inclusiveAlternatives:"developing country",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."},{identifier:"underdevelopedCountries",nonInclusivePhrases:["underdeveloped countries"],inclusiveAlternatives:"developing countries",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."}];Dl.forEach(e=>{e.category="culture",e.learnMoreUrl="https://yoa.st/inclusive-language-culture"});var Ll=Dl;const Ml=[{identifier:"illegalImmigrant",nonInclusivePhrases:["illegal immigrant","illegal alien"],inclusiveAlternatives:"undocumented person, person without papers, immigrant without papers ",score:3,feedbackFormat:Qa},{identifier:"illegalImmigrants",nonInclusivePhrases:["illegal immigrants","illegal aliens"],inclusiveAlternatives:"undocumented people, people without papers, immigrants without papers ",score:3,feedbackFormat:Qa},{identifier:"povertyStricken",nonInclusivePhrases:["poverty stricken"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income ",score:3,feedbackFormat:Qa},{identifier:"welfareReliant",nonInclusivePhrases:["welfare reliant"],inclusiveAlternatives:"receiving welfare ",score:3,feedbackFormat:Qa},{identifier:"prostitute",nonInclusivePhrases:["prostitute"],inclusiveAlternatives:"sex worker ",score:6,feedbackFormat:Ja},{identifier:"prostitutes",nonInclusivePhrases:["prostitutes"],inclusiveAlternatives:"sex workers ",score:6,feedbackFormat:Ja},{identifier:"ex-con",nonInclusivePhrases:["ex-con"],inclusiveAlternatives:"person who has had felony convictions, person who has been incarcerated ",score:3,feedbackFormat:Qa},{identifier:"ex-cons",nonInclusivePhrases:["ex-cons"],inclusiveAlternatives:"people who have had felony convictions, people who have been incarcerated ",score:3,feedbackFormat:Qa},{identifier:"felon",nonInclusivePhrases:["felon"],inclusiveAlternatives:"person with felony convictions, person who has been incarcerated ",score:6,feedbackFormat:Xa},{identifier:"felons",nonInclusivePhrases:["felons"],inclusiveAlternatives:"people with felony convictions, people who have been incarcerated ",score:6,feedbackFormat:Xa},{identifier:"ex-offender",nonInclusivePhrases:["ex-offender"],inclusiveAlternatives:"formerly incarcerated person ",score:3,feedbackFormat:Qa},{identifier:"ex-offenders",nonInclusivePhrases:["ex-offenders"],inclusiveAlternatives:"formerly incarcerated people ",score:3,feedbackFormat:Qa},{identifier:"theHomeless",nonInclusivePhrases:["the homeless"],inclusiveAlternatives:"people experiencing homelessness ",score:3,feedbackFormat:"Avoid using %1$s as it is generalizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theUndocumented",nonInclusivePhrases:["the undocumented"],inclusiveAlternatives:"people who are undocumented, undocumented people, people without papers ",score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"thePoor",nonInclusivePhrases:["the poor"],inclusiveAlternatives:["people whose income is below the poverty threshold","people with low-income"],score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s or %3$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Ml.forEach(e=>{e.category="ses",e.learnMoreUrl="https://yoa.st/inclusive-language-ses"});var Pl=Ml;const Fl=[{identifier:"minorities",nonInclusivePhrases:["minorities"],inclusiveAlternatives:["marginalized groups ","underrepresented groups ","gender and sexuality minorities "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially overgeneralizing. Consider using an alternative, such as %2$s, %3$s or specific minorities, such as %4$s."},{identifier:"normal",nonInclusivePhrases:["normal person","normal people","normal behaviour","normal behavior","mentally normal","behaviorally normal","behaviourally normal","psychologically normal"],inclusiveAlternatives:["typical "],score:3,feedbackFormat:"Avoid using normal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."},{identifier:"abnormal",nonInclusivePhrases:["abnormal person","abnormal people","abnormal behaviour","abnormal behavior","mentally abnormal","behaviorally abnormal","behaviourally abnormal","psychologically abnormal"],inclusiveAlternatives:["atypical "],score:3,feedbackFormat:"Avoid using abnormal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."}];Fl.forEach(e=>{e.category="other",e.learnMoreUrl="https://yoa.st/inclusive-language-other"});var jl=Fl;const Bl=[{identifier:"homosexuals",nonInclusivePhrases:["homosexuals"],inclusiveAlternatives:"gay men, queer people, lesbians ",score:6,feedbackFormat:"Be careful when using %1$s as it may overgeneralize or be harmful. Instead, be specific about the group you are referring to (e.g. %2$s)."}];Bl.forEach(e=>{e.category="sexualOrientation",e.learnMoreUrl="https://yoa.st/inclusive-language-orientation"});var Ul=[...tl,...nl,...yl,...Rl,...Ll,...Pl,...jl,...Bl];class Hl{constructor(e){let{identifier:t,nonInclusivePhrases:r,inclusiveAlternatives:n,score:s,feedbackFormat:i,learnMoreUrl:a,rule:o,caseSensitive:l,category:c}=e;this.identifier=t,this.nonInclusivePhrases=r,this.inclusiveAlternatives=n,Object(T.isString)(this.inclusiveAlternatives)&&(this.inclusiveAlternatives=[this.inclusiveAlternatives]),this.score=s,this.feedbackFormat=i,this.learnMoreUrl=Object(Ai.b)(a),this.rule=o||ao,this.caseSensitive=l||!1,this.category=c}isApplicable(e,t){const r=t.getResearch("sentences"),n=e.getTextTitle();return r.push(n),this.foundPhrases=[],r.forEach(e=>{let t=It(e,!1);this.caseSensitive||(t=t.map(e=>e.toLocaleLowerCase()));const r=this.nonInclusivePhrases.find(e=>this.rule(t,It(e,!1)).length>=1);r&&this.foundPhrases.push({sentence:e,phrase:r})}),this.foundPhrases.length>=1}getResult(){const e=Object(_.sprintf)("%1$sLearn more.%2$s",this.learnMoreUrl,""),t=Object(_.sprintf)(this.feedbackFormat,this.foundPhrases[0].phrase,...this.inclusiveAlternatives),r=new wi({score:this.score,text:`${t} ${e}`});return r.setIdentifier(this.identifier),r.setHasMarks(!0),r}getMarks(){return this.foundPhrases?this.foundPhrases.map(e=>new gs({original:e.sentence,marked:Ca(e.sentence)})):[]}}const $l={infoLinks:{}};var Kl=class extends fa{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.type="inclusiveLanguageAssessor",this._options=Object.assign({},$l,t);const r=this._options.infoLinks;this._assessments=Ul.map(e=>(r[e.category]&&(e.learnMoreUrl=r[e.category]),new Hl(e)))}calculateOverallScore(){const e=this.getValidResults(),t=e.filter(e=>6===e.getScore());return e.filter(e=>3===e.getScore()).length>=1?30:t.length>=1?60:90}};const ql=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="cornerstoneContentAssessor",this._assessments=[new Ia({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumLength:250},applicableIfTextLongerThan:250,cornerstoneContent:!0}),new Na,new Ra({slightlyTooMany:20,farTooMany:25},!0),new xa,new Da,new Ma,new La]};r(18).inherits(ql,ja);var Gl=ql;const zl=function(e,t){fa.call(this,e,t),this.type="cornerstoneRelatedKeywordAssessor",this._assessments=[new Si,new Ii({isRelatedKeyphrase:!0}),new Li,new Mi,new Ui,new Oa,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}})]};Object(v.inherits)(zl,fa);var Wl=zl;const Yl=function(e,t){fa.call(this,e,t),this.type="cornerstoneSEOAssessor",this._assessments=[new Si,new Ii,new Li,new Mi,new _a({scores:{tooLong:3,tooShort:3}}),new Ta,new Ui,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}}),new va,new ba({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20},cornerstoneContent:!0}),new ya({scores:{noLinks:3}}),new $i,new Hi,new Aa({scores:{widthTooShort:9}},!0),new qi({scores:{okay:3}}),new Oa,new wa]};Object(v.inherits)(Yl,ka);var Vl=Yl;function Ql(e,t){for(let r=0;r3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"analyze";if(!Object(T.isNumber)(e))throw new Error("Task.id should be a number.");if(!Object(T.isFunction)(t))throw new Error("Task.execute should be a function.");if(!Object(T.isFunction)(r))throw new Error("Task.done should be a function.");if(!Object(T.isObject)(n))throw new Error("Task.data should be an object.");this.id=e,this.execute=t,this.done=r,this.data=n,this.type=s}}const ec={pollTime:50};const tc={AssessmentResult:wi,Mark:gs,Paper:Ka,Sentence:Dn,Clause:di,ProminentWord:jn};var rc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t._parseClass&&tc[t._parseClass]?"Sentence"===t._parseClass||"Clause"===t._parseClass?tc[t._parseClass].prototype.parse(t):tc[t._parseClass].parse(t):r?Object(T.mapValues)(t,t=>e(t)):t},nc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t.serialize?t.serialize():r?Object(T.mapValues)(t,t=>e(t)):t},sc=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"%%";r=Object(T.escapeRegExp)(r);const n=new RegExp(`${r}(.+?)${r}`,"g");let s,i=e;for(;null!==(s=n.exec(e));){const e=s[1],n=new RegExp(`${r}${Object(T.escapeRegExp)(e)}${r}`,"g");e in t&&(i=i.replace(n,t[e]))}return i};const ic=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";r&&(n=sc(n,r));let s=n?[n]:[];return t.name&&t.message&&(t.stack&&e.debug(t.stack),s.push(`${t.name}: ${t.message}`)),s=s.join("\n\t"),e.error(s),s};function ac(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return async function(){try{return await t(...arguments)}catch(t){return{error:ic(e,t,arguments.length<=1?void 0:arguments[1],r)}}}}var oc=class{aggregate(e){console.warn("'aggregate' must be implemented by a child class of 'ScoreAggregator'")}};const lc={bad:3,ok:2,good:0},cc={bad:4,ok:2,good:0},uc=["en","nl","de","it","ru","fr","es"];var hc=class extends oc{isFullySupported(e){if(e&&e.includes("_")){const t=A(e);return uc.includes(t)}return!1}calculateScore(e,t){if(e){if(t>6)return 30;if(t>4)return 60}else{if(t>4)return 30;if(t>2)return 60}return 90}calculatePenalty(e){return e.reduce((e,t)=>{const r=Pa(t.getScore()),n=this.isFullySupported(this.locale)?lc[r]:cc[r];return n?e+n:e},0)}getValidResults(e){return e.filter(e=>e.hasScore()&&e.hasText())}setLocale(e){this.locale=e}aggregate(e){const t=this.getValidResults(e);if(t.length<=1)return 0;const r=this.calculatePenalty(t),n=this.isFullySupported(this.locale);return this.calculateScore(n,r)}},dc=class extends oc{aggregate(e){const t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(100*t/(9*e.length))||0}};const pc=Object(E.getLogger)("yoast-analysis-worker");pc.setDefaultLevel("error");class gc{constructor(e,t){this._scope=e,this._configuration={contentAnalysisActive:!0,keywordAnalysisActive:!0,inclusiveLanguageAnalysisActive:!1,useCornerstone:!1,useTaxonomy:!1,locale:"en_US",customAnalysisType:""},this._scheduler=new class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._configuration=Object(T.merge)(ec,e),this._tasks={standard:[],extensions:[],analyze:[],analyzeRelatedKeywords:[]},this._pollHandle=null,this._started=!1,this.startPolling=this.startPolling.bind(this),this.stopPolling=this.stopPolling.bind(this),this.tick=this.tick.bind(this)}startPolling(){this._started||(this._started=!0,this.tick())}tick(){this.executeNextTask().then(()=>{this._pollHandle=setTimeout(this.tick,this._configuration.pollTime)})}stopPolling(){clearTimeout(this._pollHandle),this._pollHandle=null,this._started=!1}schedule(e){let{id:t,execute:r,done:n,data:s,type:i}=e;const a=new Zl(t,r,n,s,i);switch(i){case"customMessage":case"loadScript":this._tasks.extensions.push(a);break;case"analyze":this._tasks.analyze=[a];break;case"analyzeRelatedKeywords":this._tasks.analyzeRelatedKeywords=[a];break;default:this._tasks.standard.push(a)}}getNextTask(){return this._tasks.extensions.length>0?this._tasks.extensions.shift():this._tasks.analyze.length>0?this._tasks.analyze.shift():this._tasks.analyzeRelatedKeywords.length>0?this._tasks.analyzeRelatedKeywords.shift():this._tasks.standard.length>0?this._tasks.standard.shift():null}executeNextTask(){const e=this.getNextTask();return null===e?Promise.resolve(null):Promise.resolve().then(()=>e.execute(e.id,e.data)).then(t=>(e.done(e.id,t),t))}},this._paper=null,this._relatedKeywords={},this._researcher=t,this._contentAssessor=null,this._seoAssessor=null,this._relatedKeywordAssessor=null,this.additionalAssessors={},this._inclusiveLanguageOptions={},this._results={readability:{results:[],score:0},seo:{"":{results:[],score:0}},inclusiveLanguage:{results:[],score:0}},this._registeredAssessments=[],this._registeredMessageHandlers={},this._registeredParsers=[],this.setupTreeAnalysis(),this.bindActions(),this.assessRelatedKeywords=this.assessRelatedKeywords.bind(this),this.registerAssessment=this.registerAssessment.bind(this),this.registerMessageHandler=this.registerMessageHandler.bind(this),this.refreshAssessment=this.refreshAssessment.bind(this),this.setCustomContentAssessorClass=this.setCustomContentAssessorClass.bind(this),this.setCustomCornerstoneContentAssessorClass=this.setCustomCornerstoneContentAssessorClass.bind(this),this.setCustomSEOAssessorClass=this.setCustomSEOAssessorClass.bind(this),this.setCustomCornerstoneSEOAssessorClass=this.setCustomCornerstoneSEOAssessorClass.bind(this),this.setCustomRelatedKeywordAssessorClass=this.setCustomRelatedKeywordAssessorClass.bind(this),this.setCustomCornerstoneRelatedKeywordAssessorClass=this.setCustomCornerstoneRelatedKeywordAssessorClass.bind(this),this.registerAssessor=this.registerAssessor.bind(this),this.registerResearch=this.registerResearch.bind(this),this.registerHelper=this.registerHelper.bind(this),this.registerResearcherConfig=this.registerResearcherConfig.bind(this),this.setInclusiveLanguageOptions=this.setInclusiveLanguageOptions.bind(this),this.handleMessage=this.handleMessage.bind(this),this.analyzeRelatedKeywords=ac(pc,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=ac(pc,this.analyze,"An error occurred while running the analysis."),this.runResearch=ac(pc,this.runResearch,"An error occurred after running the '%%name%%' research.")}bindActions(){this.analyze=this.analyze.bind(this),this.analyzeDone=this.analyzeDone.bind(this),this.analyzeRelatedKeywordsDone=this.analyzeRelatedKeywordsDone.bind(this),this.loadScript=this.loadScript.bind(this),this.loadScriptDone=this.loadScriptDone.bind(this),this.customMessage=this.customMessage.bind(this),this.customMessageDone=this.customMessageDone.bind(this),this.clearCache=this.clearCache.bind(this),this.runResearch=this.runResearch.bind(this),this.runResearchDone=this.runResearchDone.bind(this)}setCustomContentAssessorClass(e,t,r){this._CustomContentAssessorClasses[t]=e,this._CustomContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomCornerstoneContentAssessorClass(e,t,r){this._CustomCornerstoneContentAssessorClasses[t]=e,this._CustomCornerstoneContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomSEOAssessorClass(e,t,r){this._CustomSEOAssessorClasses[t]=e,this._CustomSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomCornerstoneSEOAssessorClass(e,t,r){this._CustomCornerstoneSEOAssessorClasses[t]=e,this._CustomCornerstoneSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomRelatedKeywordAssessorClass(e,t,r){this._CustomRelatedKeywordAssessorClasses[t]=e,this._CustomRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setCustomCornerstoneRelatedKeywordAssessorClass(e,t,r){this._CustomCornerstoneRelatedKeywordAssessorClasses[t]=e,this._CustomCornerstoneRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setInclusiveLanguageOptions(e){this._inclusiveLanguageOptions=e}setupTreeAnalysis(){this._treeResearcher=null,this._contentTreeAssessor=null,this._seoTreeAssessor=null,this._relatedKeywordTreeAssessor=null,this._CustomSEOAssessorClasses={},this._CustomCornerstoneSEOAssessorClasses={},this._CustomContentAssessorClasses={},this._CustomCornerstoneContentAssessorClasses={},this._CustomRelatedKeywordAssessorClasses={},this._CustomCornerstoneRelatedKeywordAssessorClasses={},this._CustomSEOAssessorOptions={},this._CustomCornerstoneSEOAssessorOptions={},this._CustomContentAssessorOptions={},this._CustomCornerstoneContentAssessorOptions={},this._CustomRelatedKeywordAssessorOptions={},this._CustomCornerstoneRelatedKeywordAssessorOptions={},this._registeredTreeAssessments=[],this._seoScoreAggregator=new dc,this._contentScoreAggregator=new hc,this._tree=null,this._treeBuilder=null}register(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker=this}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;switch(n=rc(n),pc.debug("AnalysisWebWorker incoming:",t,r,n),t){case"initialize":this.initialize(r,n),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:r,execute:this.analyze,done:this.analyzeDone,data:n,type:t});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:r,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:n,type:t});break;case"loadScript":this._scheduler.schedule({id:r,execute:this.loadScript,done:this.loadScriptDone,data:n,type:t});break;case"runResearch":this._scheduler.schedule({id:r,execute:this.runResearch,done:this.runResearchDone,data:n});break;case"customMessage":{const e=n.name;if(e&&this._registeredMessageHandlers[e]){this._scheduler.schedule({id:r,execute:this.customMessage,done:this.customMessageDone,data:n,type:t});break}this.customMessageDone(r,{error:new Error("No message handler registered for messages with name: "+e)});break}default:console.warn("AnalysisWebWorker unrecognized action:",t)}}createContentAssessor(){const{contentAnalysisActive:e,useCornerstone:t,customAnalysisType:r}=this._configuration;if(!1===e)return null;let n;return!0===t?(n=this._CustomCornerstoneContentAssessorClasses[r]?new this._CustomCornerstoneContentAssessorClasses[r](this._researcher,this._CustomCornerstoneContentAssessorOptions[r]):new Gl(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"cornerstoneReadability"===s&&n.addAssessment(t,r)})):(n=this._CustomContentAssessorClasses[r]?new this._CustomContentAssessorClasses[r](this._researcher,this._CustomContentAssessorOptions[r]):new ja(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"readability"===s&&n.addAssessment(t,r)})),n}createSEOAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Ua(this._researcher):!0===t?this._CustomCornerstoneSEOAssessorClasses[n]?new this._CustomCornerstoneSEOAssessorClasses[n](this._researcher,this._CustomCornerstoneSEOAssessorOptions[n]):new Vl(this._researcher):this._CustomSEOAssessorClasses[n]?new this._CustomSEOAssessorClasses[n](this._researcher,this._CustomSEOAssessorOptions[n]):new ka(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"seo"===n&&s.addAssessment(t,r)}),s}createInclusiveLanguageAssessor(){const{inclusiveLanguageAnalysisActive:e}=this._configuration;return!1===e?null:new Kl(this._researcher,this._inclusiveLanguageOptions)}createRelatedKeywordsAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Jl(this._researcher):!0===t?this._CustomCornerstoneRelatedKeywordAssessorClasses[n]?new this._CustomCornerstoneRelatedKeywordAssessorClasses[n](this._researcher,this._CustomCornerstoneRelatedKeywordAssessorOptions[n]):new Wl(this._researcher):this._CustomRelatedKeywordAssessorClasses[n]?new this._CustomRelatedKeywordAssessorClasses[n](this._researcher,this._CustomRelatedKeywordAssessorOptions[n]):new Ga(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"relatedKeyphrase"===n&&s.addAssessment(t,r)}),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};pc.debug("AnalysisWebWorker outgoing:",e,t,r),r=nc(r),this._scope.postMessage({type:e,id:t,payload:r})}static shouldAssessorsUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const s=Object.keys(e);return{readability:Object(T.isNull)(t)||Ql(s,["contentAnalysisActive","useCornerstone","locale","translations","customAnalysisType"]),seo:Object(T.isNull)(r)||Ql(s,["keywordAnalysisActive","useCornerstone","useTaxonomy","locale","translations","researchData","customAnalysisType"]),inclusiveLanguage:Object(T.isNull)(n)||Ql(s,["inclusiveLanguageAnalysisActive","locale","translations"])}}initialize(e,t){const r=gc.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor,this._inclusiveLanguageAssessor);Object(T.has)(t,"translations")&&Object.values(t.translations).forEach(e=>{if(e){const{domain:t,locale_data:r}=e;Object(_.setLocaleData)(r[t],t)}}),Object(T.has)(t,"researchData")&&(Object(T.forEach)(t.researchData,(e,t)=>{this._researcher.addResearchData(t,e)}),delete t.researchData),Object(T.has)(t,"defaultQueryParams")&&(Object(Ai.a)({params:t.defaultQueryParams}),delete t.defaultQueryParams),Object(T.has)(t,"logLevel")&&(pc.setLevel(t.logLevel,!1),delete t.logLevel),Object(T.has)(t,"enabledFeatures")&&(Object(m.enableFeatures)(t.enabledFeatures),delete t.enabledFeatures),this._configuration=Object(T.merge)(this._configuration,t),r.readability&&(this._contentAssessor=this.createContentAssessor(),this._contentTreeAssessor=null),r.seo&&(this._seoAssessor=this.createSEOAssessor(),this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()),r.inclusiveLanguage&&(this._inclusiveLanguageAssessor=this.createInclusiveLanguageAssessor()),this.clearCache(),this.send("initialize:done",e)}registerAssessor(e,t,r){const n=new t(this._researcher);this.additionalAssessors[e]={assessor:n,shouldUpdate:r}}registerAssessment(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"seo";const{useCornerstone:s}=this._configuration;if(!Object(T.isString)(e))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `pluginName` to be a string.");const i=r+"-"+e;return null!==this._seoAssessor&&"seo"===n&&this._seoAssessor.addAssessment(i,t),null!==this._contentAssessor&&"readability"===n&&this._contentAssessor.addAssessment(i,t),null!==this._contentAssessor&&"cornerstoneReadability"===n&&s&&this._contentAssessor.addAssessment(i,t),null!==this._relatedKeywordAssessor&&"relatedKeyphrase"===n&&this._relatedKeywordAssessor.addAssessment(i,t),this._registeredAssessments.push({combinedName:i,assessment:t,type:n}),this.refreshAssessment(e,r),!0}registerMessageHandler(e,t,r){if(!Object(T.isString)(e))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `handler` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `pluginName` to be a string.");e=r+"-"+e,this._registeredMessageHandlers[e]=t}refreshAssessment(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!Object(T.isString)(t))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `pluginName` to be a string.");this.clearCache()}registerParser(e){if("function"!=typeof e.isApplicable)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'isApplicable'.");if("function"!=typeof e.parse)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'parse'.");this._registeredParsers.push(e)}clearCache(){this._paper=null}setLocale(e){this._configuration.locale!==e&&(this._configuration.locale=e,this._contentAssessor=this.createContentAssessor())}shouldReadabilityUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getLocale()!==e.getLocale()}shouldInclusiveLanguageUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getTextTitle()!==e.getTextTitle()||this._paper.getLocale()!==e.getLocale()}updateInclusiveLanguageAssessor(e){this._configuration.inclusiveLanguageAnalysisActive&&this._inclusiveLanguageAssessor&&e&&(this._inclusiveLanguageAssessor.assess(this._paper),this._results.inclusiveLanguage={results:this._inclusiveLanguageAssessor.results,score:this._inclusiveLanguageAssessor.calculateOverallScore()})}shouldSeoUpdate(e,t){let{keyword:r,synonyms:n}=t;return!!Object(T.isUndefined)(this._relatedKeywords[e])||this._relatedKeywords[e].keyword!==r||this._relatedKeywords[e].synonyms!==n}shouldAdditionalAssessorsUpdate(e){const t={};return Object.keys(this.additionalAssessors).forEach(r=>{t[r]=this.additionalAssessors[r].shouldUpdate(this._paper,e)}),t}updateAdditionalAssessors(e){Object.keys(this.additionalAssessors).forEach(t=>{const{assessor:r}=this.additionalAssessors[t];this._results[t]&&!e[t]||(r.assess(this._paper),this._results[t]={results:r.results,score:r.calculateOverallScore()})})}async analyze(e,t){let{paper:r,relatedKeywords:n={}}=t;const s=null===this._paper||!this._paper.equals(r),i=this.shouldReadabilityUpdate(r),a=this.shouldInclusiveLanguageUpdate(r),o=this.shouldAdditionalAssessorsUpdate(r);if(s){this._paper=r,this._researcher.setPaper(this._paper);const e=new Yi(this._researcher);this._paper.setTree(pa(this._paper.getText(),e)),this.setLocale(this._paper.getLocale())}if(this._configuration.keywordAnalysisActive&&this._seoAssessor&&(s&&(this._results.seo[""]=await this.assess(this._paper,this._tree,{oldAssessor:this._seoAssessor,treeAssessor:this._seoTreeAssessor,scoreAggregator:this._seoScoreAggregator})),!Object(T.isEmpty)(n))){const e=Object.keys(n);(await this.assessRelatedKeywords(r,this._tree,n)).forEach(e=>{this._results.seo[e.key]=e.results}),e.length>1&&(this._results.seo=Object(T.pickBy)(this._results.seo,(t,r)=>Object(T.includes)(e,r)||""===r))}if(this._configuration.contentAnalysisActive&&this._contentAssessor&&i){const e={oldAssessor:this._contentAssessor,treeAssessor:this._contentTreeAssessor,scoreAggregator:this._contentScoreAggregator};e.scoreAggregator.setLocale(this._configuration.locale),this._results.readability=await this.assess(this._paper,this._tree,e)}return this.updateInclusiveLanguageAssessor(a),this.updateAdditionalAssessors(o),this._results}async assess(e,t,r){const{oldAssessor:n,scoreAggregator:s}=r;n.assess(e);const i=[...n.results];return{results:i,score:s.aggregate(i)}}generateAssessmentError(e){const t=new wi;return t.setScore(-1),t.setText(Object(_.sprintf)(
+Object(_.__)("%1$sNot enough content%2$s: %3$sPlease add some content to enable a good analysis%2$s.","wordpress-seo"),this._config.urlTitle,"",this._config.urlCallToAction)),e.setScore(3),e}return new yi}}var Pa=function(e){return-1===e?"error":0===e?"feedback":e<=4?"bad":e>4&&e<=7?"ok":e>7?"good":""};const Fa=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="contentAssessor",this._assessments=[new Ia,new Na,new Ra,new xa,new Da,new Ma,new La]};r(18).inherits(Fa,fa),Fa.prototype.calculatePenaltyPointsFullSupport=function(e){switch(e){case"bad":return 3;case"ok":return 2;default:case"good":return 0}},Fa.prototype.calculatePenaltyPointsPartialSupport=function(e){switch(e){case"bad":return 4;case"ok":return 2;default:case"good":return 0}},Fa.prototype._allAssessmentsSupported=function(){const e=this._assessments.length;return this.getApplicableAssessments().length===e},Fa.prototype.calculatePenaltyPoints=function(){const e=this.getValidResults(),t=Object(T.map)(e,function(e){const t=Pa(e.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(t):this.calculatePenaltyPointsPartialSupport(t)}.bind(this));return Object(T.sum)(t)},Fa.prototype._ratePenaltyPoints=function(e){if(1===this.getValidResults().length)return 30;if(this._allAssessmentsSupported()){if(e>6)return 30;if(e>4)return 60}else{if(e>4)return 30;if(e>2)return 60}return 90},Fa.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;const e=this.calculatePenaltyPoints();return this._ratePenaltyPoints(e)};var ja=Fa;const Ba=function(e,t){fa.call(this,e,t),this.type="taxonomyAssessor",this._assessments=[new Ai,new Si,new Ri,new Ii,new _a,new ba({recommendedMinimum:250,slightlyBelowMinimum:200,belowMinimum:100,veryFarBelowMinimum:50,urlTitle:Object(Ei.b)("https://yoa.st/34j"),urlCallToAction:Object(Ei.b)("https://yoa.st/34k"),customContentType:"taxonomyAssessor"}),new ji,new Aa({scores:{widthTooShort:9}},!0),new Ui,new Oa,new wa]};Object(v.inherits)(Ba,fa);var Ua=Ba;const Ha={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,slug:"",locale:"en_US",permalink:"",date:"",customData:{},textTitle:"",writingDirection:"LTR"};function $a(e,t){this._text=e||"",this._tree=null,t=t||{},Object(T.defaults)(t,Ha),""===t.locale&&(t.locale=Ha.locale),t.hasOwnProperty("url")&&(console.warn("The 'url' attribute is deprecated, use 'slug' instead."),t.slug=t.url||t.slug);const r=t.keyword.replace(/[‘’“”"'.?!:;,¿¡«»&*@#±^%|~`[\](){}⟨⟩<>/\\–\-\u2014\u00d7\u002b\u0026\s]/g,"");Object(T.isEmpty)(r)&&(t.keyword=Ha.keyword),this._attributes=t}$a.prototype.hasKeyword=function(){return""!==this._attributes.keyword},$a.prototype.getKeyword=function(){return this._attributes.keyword},$a.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},$a.prototype.getSynonyms=function(){return this._attributes.synonyms},$a.prototype.hasText=function(){return""!==this._text},$a.prototype.getText=function(){return this._text},$a.prototype.setTree=function(e){this._tree=e},$a.prototype.getTree=function(){return this._tree},$a.prototype.hasDescription=function(){return""!==this._attributes.description},$a.prototype.getDescription=function(){return this._attributes.description},$a.prototype.hasTitle=function(){return""!==this._attributes.title},$a.prototype.getTitle=function(){return this._attributes.title},$a.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},$a.prototype.getTitleWidth=function(){return this._attributes.titleWidth},$a.prototype.hasSlug=function(){return""!==this._attributes.slug},$a.prototype.getSlug=function(){return this._attributes.slug},$a.prototype.hasUrl=function(){return console.warn("This function is deprecated, use hasSlug instead"),this.hasSlug()},$a.prototype.getUrl=function(){return console.warn("This function is deprecated, use getSlug instead"),this.getSlug()},$a.prototype.hasLocale=function(){return""!==this._attributes.locale},$a.prototype.getLocale=function(){return this._attributes.locale},$a.prototype.getWritingDirection=function(){return this._attributes.writingDirection},$a.prototype.hasPermalink=function(){return""!==this._attributes.permalink},$a.prototype.getPermalink=function(){return this._attributes.permalink},$a.prototype.hasDate=function(){return""!==this._attributes.date},$a.prototype.getDate=function(){return this._attributes.date},$a.prototype.hasCustomData=function(){return!Object(T.isEmpty)(this._attributes.customData)},$a.prototype.getCustomData=function(){return this._attributes.customData},$a.prototype.hasTextTitle=function(){return""!==this._attributes.textTitle&&!Object(T.isNil)(this._attributes.textTitle)},$a.prototype.getTextTitle=function(){return this._attributes.textTitle},$a.prototype.serialize=function(){return{_parseClass:"Paper",text:this._text,...this._attributes}},$a.prototype.equals=function(e){return this._text===e.getText()&&Object(T.isEqual)(this._attributes,e._attributes)},$a.parse=function(e){if(e instanceof $a)return e;const{text:t,_parseClass:r,...n}=e;return new $a(t,n)};var Ka=$a;const qa=function(e,t){fa.call(this,e,t),this.type="relatedKeywordAssessor",this._assessments=[new Ai,new Si({isRelatedKeyphrase:!0}),new Ri,new Ii,new Pi,new Oa,new Ea]};Object(v.inherits)(qa,fa);var Ga=qa;const za="Avoid using %1$s as it is potentially harmful.",Wa="Be careful when using %1$s as it is potentially harmful.",Ya="Consider using an alternative, such as %2$s.",Va="Consider using an alternative, such as %2$s, unless referring to someone who explicitly wants to be referred to with this term.",Qa=[za,Ya].join(" "),Xa=[Wa,Ya].join(" "),Ja=[Wa,Va].join(" "),Za=[za,Va].join(" "),eo="Alternatively, if talking about a specific person, use their preferred descriptor if known.";function to(e,t,r){return e.every((e,n)=>r[t+n]===e)}function ro(e,t){const r=t.map(e=>It(e,!1));return t=>!r.some(r=>{const n=t-r.length;return n>=0&&to(r,n,e)})}function no(e,t){return r=>!ro(e,t)(r)}function so(e,t,r){const n=r.map(e=>It(e,!1));return r=>n.some(n=>{const s=r+t.length;return s>=0&&to(n,s,e)})}function io(e,t,r){return n=>!so(e,t,r)(n)}function ao(e,t){const r=[];return e.forEach((n,s)=>{to(t,s,e)&&r.push(s)}),r}var oo=["arisen","awoken","reawoken","babysat","backslid","backslidden","beat","beaten","become","begun","bent","unbent","bet","bid","outbid","rebid","underbid","overbid","bidden","bitten","blown","bought","overbought","bound","unbound","rebound","broadcast","rebroadcast","broken","brought","browbeat","browbeaten","built","prebuilt","rebuilt","overbuilt","burnt","burst","bust","cast","miscast","recast","caught","chosen","clung","come","overcome","cost","crept","cut","undercut","recut","daydreamt","dealt","misdealt","redealt","disproven","done","predone","outdone","misdone","redone","overdone","undone","drawn","outdrawn","redrawn","overdrawn","dreamt","driven","outdriven","drunk","outdrunk","overdrunk","dug","dwelt","eaten","overeaten","fallen","felt","fit","refit","retrofit","flown","outflown","flung","forbidden","forecast","foregone","foreseen","foretold","forgiven","forgotten","forsaken","fought","outfought","found","frostbitten","frozen","unfrozen","given","gone","undergone","gotten","ground","reground","grown","outgrown","regrown","had","handwritten","heard","reheard","misheard","overheard","held","hewn","hidden","unhidden","hit","hung","rehung","overhung","unhung","hurt","inlaid","input","interwound","interwoven","jerry-built","kept","knelt","knit","reknit","unknit","known","laid","mislaid","relaid","overlaid","lain","underlain","leant","leapt","outleapt","learnt","unlearnt","relearnt","mislearnt","left","lent","let","lip-read","lit","relit","lost","made","premade","remade","meant","met","mown","offset","paid","prepaid","repaid","overpaid","partaken","proofread","proven","put","quick-frozen","quit","read","misread","reread","retread","rewaken","rid","ridden","outridden","overridden","risen","roughcast","run","outrun","rerun","overrun","rung","said","sand-cast","sat","outsat","sawn","seen","overseen","sent","resent","set","preset","reset","misset","sewn","resewn","oversewn","unsewn","shaken","shat","shaven","shit","shone","outshone","shorn","shot","outshot","overshot","shown","shrunk","preshrunk","shut","sight-read","slain","slept","outslept","overslept","slid","slit","slung","unslung","slunk","smelt","outsmelt","snuck","sold","undersold","presold","outsold","resold","oversold","sought","sown","spat","spelt","misspelt","spent","underspent","outspent","misspent","overspent","spilt","overspilt","spit","split","spoilt","spoken","outspoken","misspoken","overspoken","spread","sprung","spun","unspun","stolen","stood","understood","misunderstood","strewn","stricken","stridden","striven","struck","strung","unstrung","stuck","unstuck","stung","stunk","sublet","sunburnt","sung","outsung","sunk","sweat","swept","swollen","sworn","outsworn","swum","outswum","swung","taken","undertaken","mistaken","retaken","overtaken","taught","mistaught","retaught","telecast","test-driven","test-flown","thought","outthought","rethought","overthought","thrown","outthrown","overthrown","thrust","told","retold","torn","retorn","trod","trodden","typecast","typeset","upheld","upset","waylaid","wept","wet","rewet","withdrawn","withheld","withstood","woken","won","rewon","worn","reworn","wound","rewound","overwound","unwound","woven","rewoven","unwoven","written","typewritten","underwritten","outwritten","miswritten","rewritten","overwritten","wrung"];const lo=/\w+ed($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi;const co=["am","is","are","was","were","been","get","gets","got","gotten","be","she's","he's","it's","i'm","we're","they're","you're","that's","isn't","weren't","wasn't","aren't"],uo=["being","getting","having","what's"];var ho=co.concat(uo);const po=["accordingly","additionally","afterward","afterwards","albeit","also","although","altogether","another","basically","because","before","besides","but","certainly","chiefly","comparatively","concurrently","consequently","contrarily","conversely","correspondingly","despite","doubtedly","during","e.g.","earlier","emphatically","equally","especially","eventually","evidently","explicitly","finally","firstly","following","formerly","forthwith","fourthly","further","furthermore","generally","hence","henceforth","however","i.e.","identically","indeed","initially","instead","last","lastly","later","lest","likewise","markedly","meanwhile","moreover","nevertheless","nonetheless","nor","notwithstanding","obviously","occasionally","otherwise","overall","particularly","presently","previously","rather","regardless","secondly","shortly","significantly","similarly","simultaneously","since","so","soon","specifically","still","straightaway","subsequently","surely","surprisingly","than","then","thereafter","therefore","thereupon","thirdly","though","thus","till","undeniably","undoubtedly","unless","unlike","unquestionably","until","when","whenever","whereas","while"];po.concat(["above all","after all","after that","all in all","all of a sudden","all things considered","analogous to","although this may be true","analogous to","another key point","as a matter of fact","as a result","as an illustration","as can be seen","as has been noted","as I have noted","as I have said","as I have shown","as long as","as much as","as opposed to","as shown above","as soon as","as well as","at any rate","at first","at last","at least","at length","at the present time","at the same time","at this instant","at this point","at this time","balanced against","being that","by all means","by and large","by comparison","by the same token","by the time","compared to","be that as it may","coupled with","different from","due to","equally important","even if","even more","even so","even though","first thing to remember","for example","for fear that","for instance","for one thing","for that reason","for the most part","for the purpose of","for the same reason","for this purpose","for this reason","from time to time","given that","given these points","important to realize","in a word","in addition","in another case","in any case","in any event","in brief","in case","in conclusion","in contrast","in detail","in due time","in effect","in either case","in essence","in fact","in general","in light of","in like fashion","in like manner","in order that","in order to","in other words","in particular","in reality","in short","in similar fashion","in spite of","in sum","in summary","in that case","in the event that","in the final analysis","in the first place","in the fourth place","in the hope that","in the light of","in the long run","in the meantime","in the same fashion","in the same way","in the second place","in the third place","in this case","in this situation","in time","in truth","in view of","inasmuch as","most compelling evidence","most important","must be remembered","not only","not to mention","note that","now that","of course","on account of","on balance","on condition that","on one hand","on the condition that","on the contrary","on the negative side","on the other hand","on the positive side","on the whole","on this occasion","once","once in a while","only if","owing to","point often overlooked","prior to","provided that","seeing that","so as to","so far","so long as","so that","sooner or later","such as","summing up","take the case of","that is","that is to say","then again","this time","to be sure","to begin with","to clarify","to conclude","to demonstrate","to emphasize","to enumerate","to explain","to illustrate","to list","to point out","to put it another way","to put it differently","to repeat","to rephrase it","to say nothing of","to sum up","to summarize","to that end","to the end that","to this end","together with","under those circumstances","until now","up against","up to the present time","vis a vis","what's more","while it may be true","while this may be true","with attention to","with the result that","with this in mind","with this intention","with this purpose in mind","without a doubt","without delay","without doubt","without reservation"]);const go=["the","an","a"],fo=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","hundred","hundreds","thousand","thousands","million","millions","billion","billions"],mo=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],_o=["i","you","he","she","it","we","they"],To=["me","him","us","them"],Eo=["this","that","these","those"],vo=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],bo=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],yo=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],Ao=["none","nobody","everyone","everybody","someone","somebody","anyone","anybody","nothing","everything","something","anything","each","other","whatever","whichever","whoever","whomever","whomsoever","whosoever","others","neither","both","either","any","such"],Oo=["one's","nobody's","everyone's","everybody's","someone's","somebody's","anyone's","anybody's","nothing's","everything's","something's","anything's","whoever's","others'","other's","another's","neither's","either's"],Co=["which","what","whose"],wo=["who","whom"],So=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],ko=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],No=["there","here","whither","thither","hither","whence","thence"],Ro=["always","once","twice","thrice"],Io=["can","cannot","can't","could","couldn't","could've","dare","dares","dared","do","don't","does","doesn't","did","didn't","done","have","haven't","had","hadn't","has","hasn't","i've","you've","we've","they've","i'd","you'd","he'd","she'd","it'd","we'd","they'd","would","wouldn't","would've","may","might","must","need","needn't","needs","ought","shall","shalln't","shan't","should","shouldn't","will","won't","i'll","you'll","he'll","she'll","it'll","we'll","they'll","there's","there're","there'll","here's","here're","there'll"],xo=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],Do=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],Lo=["in","from","with","under","throughout","atop","for","on","of","to","aboard","about","above","abreast","absent","across","adjacent","after","against","along","alongside","amid","mid","among","apropos","apud","around","as","astride","at","ontop","afore","tofore","behind","ahind","below","ablow","beneath","neath","beside","between","atween","beyond","ayond","by","chez","circa","spite","down","except","into","less","like","minus","near","nearer","nearest","anear","notwithstanding","off","onto","opposite","out","outen","over","past","per","pre","qua","sans","sauf","sithence","through","thru","truout","toward","underneath","up","upon","upside","versus","via","vis-à-vis","without","ago","apart","aside","aslant","away","withal","towards","amidst","amongst","midst","whilst"],Mo=["back","within","forward","backward","ahead"],Po=["and","or","and/or","yet"],Fo=["sooner","just","only"],jo=["if","even"],Bo=["say","says","said","claimed","ask","asks","asked","stated","explain","explains","explained","think","thinks","talks","talked","announces","announced","tells","told","discusses","discussed","suggests","suggested","understands","understood"],Uo=["again","definitely","eternally","expressively","instead","expressly","immediately","including","instantly","namely","naturally","next","notably","now","nowadays","ordinarily","positively","truly","ultimately","uniquely","usually","almost","maybe","probably","granted","initially","too","actually","already","e.g","i.e","often","regularly","simply","optionally","perhaps","sometimes","likely","never","ever","else","inasmuch","provided","currently","incidentally","elsewhere","particular","recently","relatively","f.i","clearly","apparently"],Ho=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],$o=["seem","seems","seemed","let","let's","lets","make","makes","made","want","showed","shown","go","goes","went","gone","take","takes","took","taken","put","puts","use","used","try","tries","tried","mean","means","meant","called","based","add","adds","added","contain","contains","contained","consist","consists","consisted","ensure","ensures","ensured"],Ko=["new","newer","newest","old","older","oldest","previous","good","well","better","best","big","bigger","biggest","easy","easier","easiest","fast","faster","fastest","far","hard","harder","hardest","least","own","large","larger","largest","long","longer","longest","low","lower","lowest","high","higher","highest","regular","simple","simpler","simplest","small","smaller","smallest","tiny","tinier","tiniest","short","shorter","shortest","main","actual","nice","nicer","nicest","real","same","able","certain","usual","so-called","mainly","mostly","recent","anymore","complete","lately","possible","commonly","constantly","continually","directly","easily","nearly","slightly","somewhere","estimated","latest","different","similar","widely","bad","worse","worst","great","specific","available","average","awful","awesome","basic","beautiful","busy","current","entire","everywhere","important","major","multiple","normal","necessary","obvious","partly","special","last","early","earlier","earliest","young","younger","youngest"],qo=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],Go=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],zo=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],Wo=["thing","things","way","ways","matter","case","likelihood","ones","piece","pieces","stuff","times","part","parts","percent","instance","instances","aspect","aspects","item","items","idea","theme","person","instance","instances","detail","details","factor","factors","difference","differences"],Yo=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],Vo=["jr","sr"],Qo=([].concat(mo,Do,Ko),[].concat(go,Lo,Po,Eo,Ho,bo,vo),[].concat(po,Ro,_o,To,yo,qo,fo,co,Io,xo,Bo,$o,Ao,Fo,jo,Co,wo,So,No,Yo,Mo,ko,Go,zo,Wo),[].concat(go,Lo,Eo,vo,mo,Do,bo),[].concat(Io,xo,Bo,$o),[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Yo,Vo));[].concat(go,fo,mo,Eo,vo,yo,_o,To,bo,Ao,Do,Oo,Co,wo,So,ko,No,Ro,Mo,co,uo,Io,xo,Lo,Po,Fo,jo,Bo,po,Uo,Ho,$o,qo,Ko,Go,Wo,Yo,zo,["ms","mss","mrs","mr","dr","prof"],Vo);const Xo=wt.filter(e=>It(e,!1).length>0);function Jo(e,t){return r=>so(e,t,Qo)(r)||function(e,t){return r=>{const n=r+t.length;return nolder person, older citizen","person older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"seniorCitizens",nonInclusivePhrases:["senior citizens"],inclusiveAlternatives:["older people, older citizens ","people older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"agingDependants",nonInclusivePhrases:["aging dependants"],inclusiveAlternatives:["older people ","people older than 70 "],score:3,feedbackFormat:[Za,Zo].join(" ")},{identifier:"elderly",nonInclusivePhrases:["elderly"],inclusiveAlternatives:["older people ","people older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" ")},{identifier:"senile",nonInclusivePhrases:["senile"],inclusiveAlternatives:"",score:3,feedbackFormat:[za,"Consider using an alternative, such as a specific characteristic or experience if it is known (e.g. has Alzheimer's )."].join(" ")},{identifier:"senility",nonInclusivePhrases:["senility"],inclusiveAlternatives:"dementia ",score:3,feedbackFormat:Qa},{identifier:"seniors",nonInclusivePhrases:["seniors"],inclusiveAlternatives:["older people ","people older than 70 "],score:6,feedbackFormat:[Ja,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(ro(e,["high school","college","graduating","juniors and"])).filter(io(e,t,["in high school","in college","who are graduating"]))},{identifier:"theAged",nonInclusivePhrases:["the aged"],inclusiveAlternatives:["older people ","people older than 70 "],score:3,feedbackFormat:[Qa,Zo].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];el.forEach(e=>{e.category="age",e.learnMoreUrl="https://yoa.st/inclusive-language-age"});var tl=el;const rl=[{identifier:"albinos",nonInclusivePhrases:["albinos"],inclusiveAlternatives:"people with albinism, albino people ",score:6,feedbackFormat:Ja},{identifier:"anAlbino",nonInclusivePhrases:["an albino"],inclusiveAlternatives:"person with albinism, albino person ",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"obese",nonInclusivePhrases:["obese","overweight"],inclusiveAlternatives:"has a higher weight, higher-weight person, person in higher weight body, heavier person ",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesitySingular",nonInclusivePhrases:["person with obesity","fat person"],inclusiveAlternatives:"person who has a higher weight, higher-weight person, person in higher weight body, heavier person ",score:6,feedbackFormat:[Ja,eo].join(" ")},{identifier:"obesityPlural",nonInclusivePhrases:["people with obesity","fat people"],inclusiveAlternatives:"people who have a higher weight, higher-weight people, people in higher weight bodies, heavier people ",score:6,feedbackFormat:[Ja].join(" ")},{identifier:"verticallyChallenged",nonInclusivePhrases:["vertically challenged"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism ",score:3,feedbackFormat:Qa},{identifier:"midget",nonInclusivePhrases:["midget"],inclusiveAlternatives:"little person, has short stature, someone with dwarfism ",score:3,feedbackFormat:Qa},{identifier:"midgets",nonInclusivePhrases:["midgets"],inclusiveAlternatives:"little people, have short stature, people with dwarfism ",score:3,feedbackFormat:Qa},{identifier:"harelip",nonInclusivePhrases:["harelip"],inclusiveAlternatives:"cleft lip, cleft palate ",score:3,feedbackFormat:Qa}];rl.forEach(e=>{e.category="appearance",e.learnMoreUrl="https://yoa.st/inclusive-language-appearance"});var nl=rl;const sl=["so","very","a bit","really","pretty","kind of","that","too","totally","completely","absolutely","even","also","as"],il=ho.slice(0,-2),al=il.splice(19,4),ol=function(e,t){return Object(T.flatMap)(e,e=>Object(T.flatMap)(t,t=>`${e} ${t}`))},ll=ol(il,sl).concat(il);let cl=Object(T.flatMap)(il,e=>e+" not");cl=cl.concat(al);const ul=ol(cl,sl).concat(cl),hl=ll.concat(ul),dl=ol(["driving","drive","drove","drives","driven"],["me","you","them","him","her","someone","somebody","anyone","anybody","everyone","everybody"]),pl=["go","goes","going","gone","went"],gl=dl.concat(pl),fl=["in love"],ml=ll.concat(ul),_l=["about"],Tl="Avoid using %1$s as it is derogatory. Consider using an alternative, such as %2$s instead.",El=Wa+" Unless you are referencing the specific medical condition, consider using another alternative to describe the trait or behavior, such as %2$s.",vl=["Avoid using crazy as it is potentially harmful.",Ya].join(" "),bl=[{identifier:"binge",nonInclusivePhrases:["binge"],inclusiveAlternatives:"indulge, satiate, wallow, spree, marathon, consume excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","drinks","drinking"]))},{identifier:"bingeing",nonInclusivePhrases:["bingeing","binging"],inclusiveAlternatives:"indulging, satiating, wallowing, spreeing, marathoning, consuming excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binged",nonInclusivePhrases:["binged"],inclusiveAlternatives:"indulged, satiated, wallowed, spreed, marathoned, consumed excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"binges",nonInclusivePhrases:["binges"],inclusiveAlternatives:"indulges, satiates, wallows, sprees, marathons, consumes excessively ",score:6,feedbackFormat:"Be careful when using %1$s , unless talking about a symptom of a medical condition. If you are not referencing a symptom, consider other alternatives to describe the trait or behavior, such as %2$s."},{identifier:"wheelchairBound",nonInclusivePhrases:["wheelchair-bound","wheelchair bound","confined to a wheelchair"],inclusiveAlternatives:"uses a wheelchair, is a wheelchair user ",score:3,feedbackFormat:Qa},{identifier:"mentallyRetarded",nonInclusivePhrases:["mentally retarded"],inclusiveAlternatives:"person with an intellectual disability ",score:3,feedbackFormat:Qa},{identifier:"retarded",nonInclusivePhrases:["retarded"],inclusiveAlternatives:"uninformed, ignorant, foolish, irrational, insensible ",score:3,feedbackFormat:Tl,rule:(e,t)=>ao(e,t).filter(ro(e,["mentally"]))},{identifier:"alcoholic",nonInclusivePhrases:["an alcoholic"],inclusiveAlternatives:"person with alcohol use disorder ",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["drink","beverage"]))},{identifier:"alcoholics",nonInclusivePhrases:["alcoholics"],inclusiveAlternatives:"people with alcohol use disorder ",score:6,feedbackFormat:Ja,rule:(e,t)=>ao(e,t).filter(io(e,t,["anonymous"]))},{identifier:"cripple",nonInclusivePhrases:["a cripple"],inclusiveAlternatives:"person with a physical disability, a physically disabled person ",score:3,feedbackFormat:Tl},{identifier:"crippled",nonInclusivePhrases:["crippled"],inclusiveAlternatives:"has a physical disability, is physically disabled ",score:3,feedbackFormat:Qa},{identifier:"daft",nonInclusivePhrases:["daft"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless ",score:6,feedbackFormat:Xa},{identifier:"handicapped",nonInclusivePhrases:["handicapped"],inclusiveAlternatives:"disabled, person with a disability ",score:3,feedbackFormat:Qa},{identifier:"handicap",nonInclusivePhrases:["handicap"],inclusiveAlternatives:"disability ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(io(e,t,["toilet","toilets","parking","bathroom","bathrooms","stall","stalls"]))},{identifier:"insane",nonInclusivePhrases:["insane"],inclusiveAlternatives:"wild, confusing, unpredictable, impulsive, reckless, out of control, unbelievable, amazing, incomprehensible, nonsensical, outrageous, ridiculous ",score:3,feedbackFormat:Qa},{identifier:"imbecile",nonInclusivePhrases:["imbecile"],inclusiveAlternatives:"uninformed, ignorant, foolish, inconsiderate, irrational, reckless ",score:3,feedbackFormat:Tl},{identifier:"specialNeeds",nonInclusivePhrases:["special needs"],inclusiveAlternatives:["functional needs, support needs ","disabled, person with a disability "],score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s when referring to someone's needs, or %3$s when referring to a person."},{identifier:"hardOfHearing",nonInclusivePhrases:["hard-of-hearing"],inclusiveAlternatives:"hard of hearing, partially deaf, has partial hearing loss ",score:3,feedbackFormat:Qa},{identifier:"hearingImpaired",nonInclusivePhrases:["hearing impaired"],inclusiveAlternatives:"deaf or hard of hearing, partially deaf, has partial hearing loss ",score:3,feedbackFormat:Qa},{identifier:"functioning",nonInclusivePhrases:["high functioning","low functioning"],inclusiveAlternatives:"describing the specific characteristic or experience",score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition.",rule:(e,t)=>ao(e,t).filter(io(e,t,["autism"]))},{identifier:"autismHigh",nonInclusivePhrases:["high functioning autism","high-functioning autism"],inclusiveAlternatives:"autism with high support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"autismLow",nonInclusivePhrases:["low functioning autism","low-functioning autism"],inclusiveAlternatives:"autism with low support needs or describing the specific characteristic or experience",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s, unless referring to how you characterize your own condition."},{identifier:"lame",nonInclusivePhrases:["lame"],inclusiveAlternatives:"boring, lousy, unimpressive, sad, corny ",score:3,feedbackFormat:Qa},{identifier:"lamer",nonInclusivePhrases:["lamer"],inclusiveAlternatives:"more boring, lousier, more unimpressive, sadder, cornier ",score:3,feedbackFormat:Qa},{identifier:"lamest",nonInclusivePhrases:["lamest"],inclusiveAlternatives:"most boring, lousiest, most unimpressive, saddest, corniest ",score:3,feedbackFormat:Qa},{identifier:"commitSuicide",nonInclusivePhrases:["commit suicide"],inclusiveAlternatives:"take one's life, die by suicide, kill oneself ",score:3,feedbackFormat:Qa},{identifier:"committingSuicide",nonInclusivePhrases:["committing suicide"],inclusiveAlternatives:"taking one's life, dying by suicide, killing oneself ",score:3,feedbackFormat:Qa},{identifier:"commitsSuicide",nonInclusivePhrases:["commits suicide"],inclusiveAlternatives:"takes one's life, dies by suicide, kills oneself ",score:3,feedbackFormat:Qa},{identifier:"committedSuicide",nonInclusivePhrases:["committed suicide"],inclusiveAlternatives:"took one's life, died by suicide, killed themself ",score:3,feedbackFormat:Qa},{identifier:"handicapParking",nonInclusivePhrases:["handicap parking"],inclusiveAlternatives:"accessible parking ",score:3,feedbackFormat:Qa},{identifier:"fellOnDeafEars",nonInclusivePhrases:["fell on deaf ears"],inclusiveAlternatives:"was not addressed, was ignored, was disregarded ",score:3,feedbackFormat:Qa},{identifier:"turnOnBlindEye",nonInclusivePhrases:["turn a blind eye"],inclusiveAlternatives:"ignore, pretend not to notice ",score:3,feedbackFormat:Qa},{identifier:"blindLeadingBlind",nonInclusivePhrases:["the blind leading the blind"],inclusiveAlternatives:"ignorant, misguided, incompetent, unqualified, insensitive, unaware ",score:3,feedbackFormat:Qa},{identifier:"handicapBathroom",nonInclusivePhrases:["handicap bathroom","handicap bathrooms"],inclusiveAlternatives:"accessible bathroom(s) ",score:3,feedbackFormat:Qa},{identifier:"handicapToilet",nonInclusivePhrases:["handicap toilet","handicap toilets"],inclusiveAlternatives:"accessible toilet(s) ",score:3,feedbackFormat:Qa},{identifier:"handicapStall",nonInclusivePhrases:["handicap stall","handicap stalls"],inclusiveAlternatives:"accessible stall(s) ",score:3,feedbackFormat:Qa},{identifier:"stupid",nonInclusivePhrases:["stupid"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless "],score:3,feedbackFormat:Qa},{identifier:"dumb",nonInclusivePhrases:["dumb","dumber","dumbest"],inclusiveAlternatives:["uninformed, ignorant, foolish, inconsiderate, irrational, reckless "],score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,["deaf and"]))},{identifier:"deaf",nonInclusivePhrases:["deaf-mute","deaf and dumb"],inclusiveAlternatives:"deaf ",score:3,feedbackFormat:Qa},{identifier:"addict",nonInclusivePhrases:["addict"],inclusiveAlternatives:"person with a (drug, alcohol, ...) addiction, person with substance abuse disorder ",score:6,feedbackFormat:Ja},{identifier:"addicts",nonInclusivePhrases:["addicts"],inclusiveAlternatives:"people with a (drug, alcohol, ...) addiction, people with substance abuse disorder ",score:6,feedbackFormat:Ja},{identifier:"brainDamaged",nonInclusivePhrases:["brain-damaged"],inclusiveAlternatives:"person with a (traumatic) brain injury ",score:6,feedbackFormat:Ja},{identifier:"differentlyAbled",nonInclusivePhrases:["differently abled","differently-abled"],inclusiveAlternatives:"disabled, person with a disability ",score:6,feedbackFormat:Ja},{identifier:"epilepticFit",nonInclusivePhrases:["epileptic fit"],inclusiveAlternatives:"epileptic seizure ",score:3,feedbackFormat:Qa},{identifier:"epilepticFits",nonInclusivePhrases:["epileptic fits"],inclusiveAlternatives:"epileptic seizures ",score:3,feedbackFormat:Qa},{identifier:"sanityCheck",nonInclusivePhrases:["sanity check"],inclusiveAlternatives:"final check, confidence check, rationality check, soundness check ",score:3,feedbackFormat:Qa},{identifier:"to be not crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to be not impressed by, to be not enthusiastic about, to be not into, to not like ",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ul))},{identifier:"to be crazy about",nonInclusivePhrases:["crazy about"],inclusiveAlternatives:"to love, to be obsessed with, to be infatuated with ",score:3,feedbackFormat:vl,rule:(e,t)=>ao(e,t).filter(no(e,ll))},{identifier:"crazy in love",nonInclusivePhrases:["crazy in love"],inclusiveAlternatives:"wildly in love, head over heels, infatuated ",score:3,feedbackFormat:vl},{identifier:"to go crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to go wild, to go out of control, to go up the wall, to be aggravated, to get confused ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,pl))},{identifier:"to drive crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"to drive one to their limit, to get on one's last nerve, to make one livid, to aggravate, to make one's blood boil, to exasperate, to get into one's head ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(no(e,dl))},{identifier:"crazy",nonInclusivePhrases:["crazy"],inclusiveAlternatives:"wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(ro(e,gl)).filter(io(e,t,fl)).filter(function(e,t,r,n){return s=>!function(e,t,r,n){return s=>so(e,t,n)(s)&&no(e,r)(s)}(e,t,r,n)(s)}(e,t,ml,_l))},{identifier:"crazier",nonInclusivePhrases:["crazier"],inclusiveAlternatives:"more wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed ",score:3,feedbackFormat:Qa},{identifier:"craziest",nonInclusivePhrases:["craziest"],inclusiveAlternatives:"most wild, baffling, out of control, inexplicable, unbelievable, aggravating, shocking, intense, impulsive, chaotic, confused, mistaken, obsessed ",score:3,feedbackFormat:Qa},{identifier:"psychopathic",nonInclusivePhrases:["psychopath","psychopaths","psychopathic"],inclusiveAlternatives:"toxic, manipulative, unpredictable, impulsive, reckless, out of control ",score:3,feedbackFormat:Qa},{identifier:"schizophrenic",nonInclusivePhrases:["schizophrenic","bipolar"],inclusiveAlternatives:"of two minds, chaotic, confusing ",score:6,feedbackFormat:El},{identifier:"paranoid",nonInclusivePhrases:["paranoid"],inclusiveAlternatives:"overly suspicious, unreasonable, defensive ",score:6,feedbackFormat:El},{identifier:"manic",nonInclusivePhrases:["manic"],inclusiveAlternatives:"excited, raving, unbalanced, wild ",score:6,feedbackFormat:El},{identifier:"hysterical",nonInclusivePhrases:["hysterical"],inclusiveAlternatives:"intense, vehement, piercing, chaotic ",score:3,feedbackFormat:Qa},{identifier:"psycho",nonInclusivePhrases:["psycho","psychos"],inclusiveAlternatives:"toxic, distraught, unpredictable, reckless, out of control ",score:3,feedbackFormat:Qa},{identifier:"neurotic",nonInclusivePhrases:["neurotic","lunatic"],inclusiveAlternatives:"distraught, unstable, startling, confusing, baffling ",score:3,feedbackFormat:Qa},{identifier:"sociopath",nonInclusivePhrases:["sociopath"],inclusiveAlternatives:["person with antisocial personality disorder ","toxic, manipulative, cruel "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"sociopaths",nonInclusivePhrases:["sociopaths"],inclusiveAlternatives:["people with antisocial personality disorder ","toxic, manipulative, cruel "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead, unless referring to someone who explicitly wants to be referred to with this term. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"narcissistic",nonInclusivePhrases:["narcissistic"],inclusiveAlternatives:["person with narcissistic personality disorder ","selfish, egotistical, self-centered, self-absorbed, vain, toxic, manipulative "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially harmful. If you are referencing the medical condition, use %2$s instead. If you are not referencing the medical condition, consider other alternatives to describe the trait or behavior, such as %3$s."},{identifier:"OCD",nonInclusivePhrases:["ocd"],inclusiveAlternatives:"pedantic, obsessed, perfectionist ",score:6,feedbackFormat:[Object(_.sprintf)(El,"OCD","%2$s"),"If you are referring to someone who has the medical condition, then state that they have OCD rather than that they are OCD."].join(" "),rule:(e,t)=>ao(e,t).filter(no(e,hl))},{identifier:"theMentallyIll",nonInclusivePhrases:["the mentally ill"],inclusiveAlternatives:"people who are mentally ill , mentally ill people ",score:3,feedbackFormat:["Avoid using %1$s as it is generalizing. Consider using an alternative, such as %2$s instead."].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theDisabled",nonInclusivePhrases:["the disabled"],inclusiveAlternatives:"people who have a disability , disabled people ",score:3,feedbackFormat:[Qa].join(" "),rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];bl.forEach(e=>{e.category="disability",e.learnMoreUrl="https://yoa.st/inclusive-language-disability"});var yl=bl;const Al="Avoid using %1$s as it is exclusionary. Consider using an alternative, such as %2$s.",Ol="Be careful when using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",Cl="Avoid using %1$s as it is potentially exclusionary. Consider using an alternative, such as %2$s.",wl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of %1$s, use an alternative, such as %2$s.",Sl="Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men, use an alternative, such as %2$s.",kl="Avoid using %1$s as it is derogatory.",Nl=[{identifier:"firemen",nonInclusivePhrases:["firemen"],inclusiveAlternatives:"firefighters ",score:6,feedbackFormat:Sl},{identifier:"policemen",nonInclusivePhrases:["policemen"],inclusiveAlternatives:"police officers ",score:6,feedbackFormat:Sl},{identifier:"menAndWomen",nonInclusivePhrases:["men and women","women and men"],inclusiveAlternatives:"people, people of all genders, individuals, human beings ",score:6,feedbackFormat:wl},{identifier:"boysAndGirls",nonInclusivePhrases:["boys and girls","girls and boys"],inclusiveAlternatives:"kids, children ",score:6,feedbackFormat:wl},{identifier:"heOrShe",nonInclusivePhrases:["he/she","he or she","she or he","(s)he"],inclusiveAlternatives:"they ",score:6,feedbackFormat:Ol},{identifier:"birthSex",nonInclusivePhrases:["birth sex","natal sex"],inclusiveAlternatives:"assigned sex, assigned sex at birth ",score:3,feedbackFormat:Qa},{identifier:"mankind",nonInclusivePhrases:["mankind"],inclusiveAlternatives:"individuals, people, persons, human beings, humanity ",score:3,feedbackFormat:Al},{identifier:"preferredPronouns",nonInclusivePhrases:["preferred pronouns"],inclusiveAlternatives:"pronouns ",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own pronouns."].join("")},{identifier:"oppositeGender",nonInclusivePhrases:["opposite gender"],inclusiveAlternatives:"another gender ",score:3,feedbackFormat:Al},{identifier:"oppositeSex",nonInclusivePhrases:["opposite sex"],inclusiveAlternatives:"another sex ",score:3,feedbackFormat:Al},{identifier:"femaleBodied",nonInclusivePhrases:["female-bodied"],inclusiveAlternatives:"assigned female at birth ",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s ."},{identifier:"maleBodied",nonInclusivePhrases:["male-bodied"],inclusiveAlternatives:"assigned male at birth ",score:3,feedbackFormat:Cl.slice(0,-1)+" if you are discussing a person based on their sex or assigned gender at birth. If talking about human anatomy, use the specific anatomical phrase as opposed to %1$s ."},{identifier:"hermaphrodite",nonInclusivePhrases:["hermaphrodite"],inclusiveAlternatives:"intersex ",score:3,feedbackFormat:Qa},{identifier:"hermaphrodites",nonInclusivePhrases:["hermaphrodites"],inclusiveAlternatives:"intersex people ",score:3,feedbackFormat:Qa},{identifier:"bothGenders",nonInclusivePhrases:["both genders"],inclusiveAlternatives:"people, folks, human beings, all genders ",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of two genders, use an alternative, such as %2$s."},{identifier:"ladiesAndGentleman",nonInclusivePhrases:["ladies and gentlemen"],inclusiveAlternatives:"everyone, folks, honored guests ",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of men and women, use an alternative, such as %2$s."},{identifier:"husbandAndWife",nonInclusivePhrases:["husband and wife","husbands and wives"],inclusiveAlternatives:"spouses, partners ",score:6,feedbackFormat:Ol.slice(0,-1)+", unless referring to someone who explicitly wants to be referred to with this term."},{identifier:"mothersAndFathers",nonInclusivePhrases:["mothers and fathers","fathers and mothers"],inclusiveAlternatives:"parents ",score:6,feedbackFormat:"Be careful when using %1$s as it can be exclusionary. Unless you are sure that the group you refer to only consists of people who use this term, use an alternative, such as %2$s."},{identifier:"manHours",nonInclusivePhrases:["man-hours"],inclusiveAlternatives:"person-hours, business hours ",score:3,feedbackFormat:Al},{identifier:"preferredName",nonInclusivePhrases:["preferred name"],inclusiveAlternatives:"name, affirming name ",score:6,feedbackFormat:[Xa.slice(0,-1),", unless referring to someone who explicitly wants to use this term to describe their own name."].join("")},{identifier:"transgenders",nonInclusivePhrases:["transgenders"],inclusiveAlternatives:"trans people, transgender people ",score:3,feedbackFormat:[kl,Ya].join(" ")},{identifier:"transsexual",nonInclusivePhrases:["transsexual"],inclusiveAlternatives:"transgender ",score:6,feedbackFormat:Ja},{identifier:"transsexuals",nonInclusivePhrases:["transsexuals"],inclusiveAlternatives:"trans people, transgender people ",score:6,feedbackFormat:Ja},{identifier:"transWoman",nonInclusivePhrases:["transwoman"],inclusiveAlternatives:"trans woman, transgender woman ",score:6,feedbackFormat:Ja},{identifier:"transWomen",nonInclusivePhrases:["transwomen"],inclusiveAlternatives:"trans women, transgender women ",score:6,feedbackFormat:Ja},{identifier:"transMan",nonInclusivePhrases:["transman"],inclusiveAlternatives:"trans man, transgender man ",score:6,feedbackFormat:Ja},{identifier:"transMen",nonInclusivePhrases:["transmen"],inclusiveAlternatives:"trans men, transgender men ",score:6,feedbackFormat:Ja},{identifier:"transgendered",nonInclusivePhrases:["transgendered"],inclusiveAlternatives:["transgender, trans ","transitioned, went through a gender transition"],score:3,feedbackFormat:[Qa.slice(0,-1),"if referring to a person. If referring to a transition process, consider using an alternative such as %3$s ."].join(" ")},{identifier:"maleToFemale",nonInclusivePhrases:["male-to-female","mtf"],inclusiveAlternatives:"trans woman, transgender woman ",score:6,feedbackFormat:Ja},{identifier:"femaleToMale",nonInclusivePhrases:["female-to-male","ftm"],inclusiveAlternatives:"trans man, transgender man ",score:6,feedbackFormat:Ja},{identifier:"heShe",nonInclusivePhrases:["he-she"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"shemale",nonInclusivePhrases:["shemale","she-male"],inclusiveAlternatives:"",score:3,feedbackFormat:kl},{identifier:"manMade",nonInclusivePhrases:["man-made","manmade"],inclusiveAlternatives:"artificial, synthetic, machine-made ",score:3,feedbackFormat:Al},{identifier:"toEachTheirOwn",nonInclusivePhrases:["to each his own"],inclusiveAlternatives:"to each their own ",score:3,feedbackFormat:Al},{identifier:"manned",nonInclusivePhrases:["manned"],inclusiveAlternatives:"crewed ",score:3,feedbackFormat:Al},{identifier:"aTransgender",nonInclusivePhrases:["a transgender","the transgender"],inclusiveAlternatives:"transgender person ",score:3,feedbackFormat:Qa,rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Nl.forEach(e=>{e.category="gender",e.learnMoreUrl="https://yoa.st/inclusive-language-gender"});var Rl=Nl;const Il="Be careful when using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead, unless you are referring to the culture in which this term originated.",xl="Avoid using %1$s as it is overgeneralizing. Consider using %2$s instead. ",Dl=[{identifier:"firstWorld",nonInclusivePhrases:["First World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Assembly","assembly"]))},{identifier:"thirdWorld",nonInclusivePhrases:["Third World"],inclusiveAlternatives:"the specific name for the region or country",score:3,feedbackFormat:xl,caseSensitive:!0,rule:(e,t)=>ao(e,t).filter(io(e,t,["War","war","Quarterly","quarterly","country"]))},{identifier:"tribe",nonInclusivePhrases:["tribe"],inclusiveAlternatives:"group, cohort, crew, league, guild, team, union ",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"tribes",nonInclusivePhrases:["tribes"],inclusiveAlternatives:"groups, cohorts, crews, leagues, guilds, teams, unions ",score:6,feedbackFormat:Il.slice(0,-42)+"a culture that uses this term."},{identifier:"exotic",nonInclusivePhrases:["exotic"],inclusiveAlternatives:"unfamiliar, foreign, peculiar, fascinating, alluring, bizarre, non-native, introduced ",score:6,feedbackFormat:Wa+" Unless you are referring to animals, consider using an alternative, such as %2$s.",rule:(e,t)=>ao(e,t).filter(io(e,t,["longhair","longhairs","shorthair","shorthairs"]))},{identifier:"sherpa",nonInclusivePhrases:["sherpa"],inclusiveAlternatives:"commander, coach, mastermind, coach, mentor ",score:6,feedbackFormat:Il},{identifier:"guru",nonInclusivePhrases:["guru"],inclusiveAlternatives:"mentor, doyen, coach, mastermind, virtuoso, expert ",score:6,feedbackFormat:Il},{identifier:"gurus",nonInclusivePhrases:["gurus"],inclusiveAlternatives:"mentors, doyens, coaches, masterminds, virtuosos, experts ",score:6,feedbackFormat:Il},{identifier:"nonWhite",nonInclusivePhrases:["non-white"],inclusiveAlternatives:"people of color, POC, BIPOC or specifying the racial groups mentioned",score:3,feedbackFormat:Qa},{identifier:"oriental",nonInclusivePhrases:["oriental"],inclusiveAlternatives:"Asian . When possible, be more specific (e.g. East Asian )",score:6,feedbackFormat:Wa+" Unless you are referring to objects or animals, consider using an alternative, such as %2$s."},{identifier:"asianAmerican",nonInclusivePhrases:["Asian-American"],inclusiveAlternatives:"Asian American ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"asianAmericans",nonInclusivePhrases:["Asian-Americans"],inclusiveAlternatives:"Asian Americans ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmerican",nonInclusivePhrases:["African-American"],inclusiveAlternatives:"African American, Black, American of African descent ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"africanAmericans",nonInclusivePhrases:["African-Americans"],inclusiveAlternatives:"African Americans, Black, Americans of African descent ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"whiteRace",nonInclusivePhrases:["the White race"],inclusiveAlternatives:"",score:3,feedbackFormat:za,caseSensitive:!0},{identifier:"whitelist",nonInclusivePhrases:["whitelist"],inclusiveAlternatives:"allowlist ",score:3,feedbackFormat:Qa},{identifier:"whitelists",nonInclusivePhrases:["whitelists"],inclusiveAlternatives:"allowlists ",score:3,feedbackFormat:Qa},{identifier:"whitelisting",nonInclusivePhrases:["whitelisting"],inclusiveAlternatives:"allowlisting ",score:3,feedbackFormat:Qa},{identifier:"whitelisted",nonInclusivePhrases:["whitelisted"],inclusiveAlternatives:"allowlisted ",score:3,feedbackFormat:Qa},{identifier:"blacklist",nonInclusivePhrases:["blacklist"],inclusiveAlternatives:"blocklist, denylist, faillist, redlist ",score:3,feedbackFormat:Qa},{identifier:"blacklists",nonInclusivePhrases:["blacklists"],inclusiveAlternatives:"blocklists, denylists, faillists, redlists ",score:3,feedbackFormat:Qa},{identifier:"blacklisting",nonInclusivePhrases:["blacklisting"],inclusiveAlternatives:"blocklisting, denylisting, faillisting, redlisting ",score:3,feedbackFormat:Qa},{identifier:"blacklisted",nonInclusivePhrases:["blacklisted"],inclusiveAlternatives:"blocklisted, denylisted, faillisted, redlisted ",score:3,feedbackFormat:Qa},{identifier:"gyp",nonInclusivePhrases:["gyp"],inclusiveAlternatives:"fraud, cheat, swindle, rip-off ",score:3,feedbackFormat:Qa},{identifier:"gyps",nonInclusivePhrases:["gyps"],inclusiveAlternatives:"frauds, cheats, swindles, rips off, rip-offs ",score:3,feedbackFormat:Qa},{identifier:"gypped",nonInclusivePhrases:["gypped"],inclusiveAlternatives:"cheated, swindled, ripped off ",score:3,feedbackFormat:Qa},{identifier:"gypping",nonInclusivePhrases:["gypping"],inclusiveAlternatives:"cheating, swindling, ripping off ",score:3,feedbackFormat:Qa},{identifier:"gypsy",nonInclusivePhrases:["gypsy","gipsy"],inclusiveAlternatives:["Romani, Romani person ","traveler, wanderer, free-spirited "],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"gypsies",nonInclusivePhrases:["gypsies","gipsies"],inclusiveAlternatives:["Romani, Romani people ","travelers, wanderers, free-spirited "],score:6,feedbackFormat:[Ja,"If you are referring to a lifestyle rather than the ethnic group or their music, consider using an alternative such as %3$s."].join(" ")},{identifier:"eskimo",nonInclusivePhrases:["eskimo","eskimos"],inclusiveAlternatives:"the specific name of the Indigenous community (for example, Inuit )",score:6,feedbackFormat:Ja},{identifier:"coloredPerson",nonInclusivePhrases:["colored person"],inclusiveAlternatives:"person of color, POC, BIPOC ",score:3,feedbackFormat:Qa},{identifier:"coloredPeople",nonInclusivePhrases:["colored people"],inclusiveAlternatives:"people of color, POC, BIPOC ",score:3,feedbackFormat:Qa},{identifier:"americanIndians",nonInclusivePhrases:["American Indian","American Indians"],inclusiveAlternatives:"Native American(s), Indigenous peoples of America ",score:6,feedbackFormat:Ja,caseSensitive:!0},{identifier:"mulatto",nonInclusivePhrases:["mulatto","mulattos","mulattoes"],inclusiveAlternatives:"mixed, biracial, multiracial ",score:3,feedbackFormat:Qa},{identifier:"savage",nonInclusivePhrases:["savage"],inclusiveAlternatives:"severe, dreadful, untamed, brutal, fearless, fierce, brilliant, amazing ",score:3,feedbackFormat:Qa},{identifier:"civilized",nonInclusivePhrases:["civilized"],inclusiveAlternatives:"proper, well-mannered, enlightened, respectful ",score:3,feedbackFormat:Qa},{identifier:"primitive",nonInclusivePhrases:["primitive"],inclusiveAlternatives:"early, rudimentary ",score:3,feedbackFormat:Qa},{identifier:"ebonics",nonInclusivePhrases:["Ebonics"],inclusiveAlternatives:"African American English, African American Language ",score:3,feedbackFormat:Qa,caseSensitive:!0},{identifier:"powWow",nonInclusivePhrases:["pow-wow"],inclusiveAlternatives:"chat, brief conversation, brainstorm, huddle ",score:6,feedbackFormat:Il},{identifier:"lowManOnTheTotemPole",nonInclusivePhrases:["low man on the totem pole"],inclusiveAlternatives:"person of lower rank, junior-level ",score:3,feedbackFormat:Qa},{identifier:"spiritAnimal",nonInclusivePhrases:["spirit animal"],inclusiveAlternatives:"inspiration, hero, icon, idol ",score:6,feedbackFormat:Il},{identifier:"firstWorldCountries",nonInclusivePhrases:["first world countries"],inclusiveAlternatives:"the specific name for the countries or regions",score:3,feedbackFormat:xl},{identifier:"firstWorldHyphen",nonInclusivePhrases:["first-world"],inclusiveAlternatives:"the specific name for the country or region",score:3,feedbackFormat:xl},{identifier:"third-worldCountry",nonInclusivePhrases:["third-world country"],inclusiveAlternatives:"low-income country, developing country ",score:3,feedbackFormat:Qa},{identifier:"third-worldCountry",nonInclusivePhrases:["third world country"],inclusiveAlternatives:"low-income country, developing country ",score:3,feedbackFormat:Qa},{identifier:"underdevelopedCountry",nonInclusivePhrases:["underdeveloped country"],inclusiveAlternatives:"developing country",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."},{identifier:"underdevelopedCountries",nonInclusivePhrases:["underdeveloped countries"],inclusiveAlternatives:"developing countries",score:3,feedbackFormat:"Avoid using %1$s as it is potentially harmful. Consider using an alternative, such as %2$s instead or be more specific about what aspect this word refers to."}];Dl.forEach(e=>{e.category="culture",e.learnMoreUrl="https://yoa.st/inclusive-language-culture"});var Ll=Dl;const Ml=[{identifier:"illegalImmigrant",nonInclusivePhrases:["illegal immigrant","illegal alien"],inclusiveAlternatives:"undocumented person, person without papers, immigrant without papers ",score:3,feedbackFormat:Qa},{identifier:"illegalImmigrants",nonInclusivePhrases:["illegal immigrants","illegal aliens"],inclusiveAlternatives:"undocumented people, people without papers, immigrants without papers ",score:3,feedbackFormat:Qa},{identifier:"povertyStricken",nonInclusivePhrases:["poverty stricken"],inclusiveAlternatives:"people whose income is below the poverty threshold, people with low-income ",score:3,feedbackFormat:Qa},{identifier:"welfareReliant",nonInclusivePhrases:["welfare reliant"],inclusiveAlternatives:"receiving welfare ",score:3,feedbackFormat:Qa},{identifier:"prostitute",nonInclusivePhrases:["prostitute"],inclusiveAlternatives:"sex worker ",score:6,feedbackFormat:Ja},{identifier:"prostitutes",nonInclusivePhrases:["prostitutes"],inclusiveAlternatives:"sex workers ",score:6,feedbackFormat:Ja},{identifier:"ex-con",nonInclusivePhrases:["ex-con"],inclusiveAlternatives:"person who has had felony convictions, person who has been incarcerated ",score:3,feedbackFormat:Qa},{identifier:"ex-cons",nonInclusivePhrases:["ex-cons"],inclusiveAlternatives:"people who have had felony convictions, people who have been incarcerated ",score:3,feedbackFormat:Qa},{identifier:"felon",nonInclusivePhrases:["felon"],inclusiveAlternatives:"person with felony convictions, person who has been incarcerated ",score:6,feedbackFormat:Xa},{identifier:"felons",nonInclusivePhrases:["felons"],inclusiveAlternatives:"people with felony convictions, people who have been incarcerated ",score:6,feedbackFormat:Xa},{identifier:"ex-offender",nonInclusivePhrases:["ex-offender"],inclusiveAlternatives:"formerly incarcerated person ",score:3,feedbackFormat:Qa},{identifier:"ex-offenders",nonInclusivePhrases:["ex-offenders"],inclusiveAlternatives:"formerly incarcerated people ",score:3,feedbackFormat:Qa},{identifier:"theHomeless",nonInclusivePhrases:["the homeless"],inclusiveAlternatives:"people experiencing homelessness ",score:3,feedbackFormat:"Avoid using %1$s as it is generalizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"theUndocumented",nonInclusivePhrases:["the undocumented"],inclusiveAlternatives:"people who are undocumented, undocumented people, people without papers ",score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))},{identifier:"thePoor",nonInclusivePhrases:["the poor"],inclusiveAlternatives:["people whose income is below the poverty threshold","people with low-income"],score:3,feedbackFormat:"Avoid using %1$s as it is potentially overgeneralizing. Consider using %2$s or %3$s instead.",rule:(e,t)=>ao(e,t).filter(Jo(e,t))}];Ml.forEach(e=>{e.category="ses",e.learnMoreUrl="https://yoa.st/inclusive-language-ses"});var Pl=Ml;const Fl=[{identifier:"minorities",nonInclusivePhrases:["minorities"],inclusiveAlternatives:["marginalized groups ","underrepresented groups ","gender and sexuality minorities "],score:6,feedbackFormat:"Be careful when using %1$s as it is potentially overgeneralizing. Consider using an alternative, such as %2$s, %3$s or specific minorities, such as %4$s."},{identifier:"normal",nonInclusivePhrases:["normal person","normal people","normal behaviour","normal behavior","mentally normal","behaviorally normal","behaviourally normal","psychologically normal"],inclusiveAlternatives:["typical "],score:3,feedbackFormat:"Avoid using normal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."},{identifier:"abnormal",nonInclusivePhrases:["abnormal person","abnormal people","abnormal behaviour","abnormal behavior","mentally abnormal","behaviorally abnormal","behaviourally abnormal","psychologically abnormal"],inclusiveAlternatives:["atypical "],score:3,feedbackFormat:"Avoid using abnormal as it is potentially harmful. Consider using an alternative, such as %2$s or a specific characteristic or experience if it is known."}];Fl.forEach(e=>{e.category="other",e.learnMoreUrl="https://yoa.st/inclusive-language-other"});var jl=Fl;const Bl=[{identifier:"homosexuals",nonInclusivePhrases:["homosexuals"],inclusiveAlternatives:"gay men, queer people, lesbians ",score:6,feedbackFormat:"Be careful when using %1$s as it may overgeneralize or be harmful. Instead, be specific about the group you are referring to (e.g. %2$s)."}];Bl.forEach(e=>{e.category="sexualOrientation",e.learnMoreUrl="https://yoa.st/inclusive-language-orientation"});var Ul=[...tl,...nl,...yl,...Rl,...Ll,...Pl,...jl,...Bl];class Hl{constructor(e){let{identifier:t,nonInclusivePhrases:r,inclusiveAlternatives:n,score:s,feedbackFormat:i,learnMoreUrl:a,rule:o,caseSensitive:l,category:c}=e;this.identifier=t,this.nonInclusivePhrases=r,this.inclusiveAlternatives=n,Object(T.isString)(this.inclusiveAlternatives)&&(this.inclusiveAlternatives=[this.inclusiveAlternatives]),this.score=s,this.feedbackFormat=i,this.learnMoreUrl=Object(Ei.b)(a),this.rule=o||ao,this.caseSensitive=l||!1,this.category=c}isApplicable(e,t){const r=t.getResearch("sentences"),n=e.getTextTitle();return r.push(n),this.foundPhrases=[],r.forEach(e=>{let t=It(e,!1);this.caseSensitive||(t=t.map(e=>e.toLocaleLowerCase()));const r=this.nonInclusivePhrases.find(e=>this.rule(t,It(e,!1)).length>=1);r&&this.foundPhrases.push({sentence:e,phrase:r})}),this.foundPhrases.length>=1}getResult(){const e=Object(_.sprintf)("%1$sLearn more.%2$s",this.learnMoreUrl,""),t=Object(_.sprintf)(this.feedbackFormat,this.foundPhrases[0].phrase,...this.inclusiveAlternatives),r=new yi({score:this.score,text:`${t} ${e}`});return r.setIdentifier(this.identifier),r.setHasMarks(!0),r}getMarks(){return this.foundPhrases?this.foundPhrases.map(e=>new us({original:e.sentence,marked:Ca(e.sentence)})):[]}}const $l={infoLinks:{}};var Kl=class extends fa{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.type="inclusiveLanguageAssessor",this._options=Object.assign({},$l,t);const r=this._options.infoLinks;this._assessments=Ul.map(e=>(r[e.category]&&(e.learnMoreUrl=r[e.category]),new Hl(e)))}calculateOverallScore(){const e=this.getValidResults(),t=e.filter(e=>6===e.getScore());return e.filter(e=>3===e.getScore()).length>=1?30:t.length>=1?60:90}};const ql=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fa.call(this,e,t),this.type="cornerstoneContentAssessor",this._assessments=[new Ia({parameters:{slightlyTooMany:250,farTooMany:300,recommendedMaximumLength:250},applicableIfTextLongerThan:250,cornerstoneContent:!0}),new Na,new Ra({slightlyTooMany:20,farTooMany:25},!0),new xa,new Da,new Ma,new La]};r(18).inherits(ql,ja);var Gl=ql;const zl=function(e,t){fa.call(this,e,t),this.type="cornerstoneRelatedKeywordAssessor",this._assessments=[new Ai,new Si({isRelatedKeyphrase:!0}),new Ri,new Ii,new Pi,new Oa,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}})]};Object(v.inherits)(zl,fa);var Wl=zl;const Yl=function(e,t){fa.call(this,e,t),this.type="cornerstoneSEOAssessor",this._assessments=[new Ai,new Si,new Ri,new Ii,new _a({scores:{tooLong:3,tooShort:3}}),new Ta,new Pi,new Ea({scores:{withAltNonKeyword:3,withAlt:3,noAlt:3}}),new va,new ba({recommendedMinimum:900,slightlyBelowMinimum:400,belowMinimum:300,scores:{belowMinimum:-20,farBelowMinimum:-20},cornerstoneContent:!0}),new ya({scores:{noLinks:3}}),new ji,new Fi,new Aa({scores:{widthTooShort:9}},!0),new Ui({scores:{okay:3}}),new Oa,new wa]};Object(v.inherits)(Yl,ka);var Vl=Yl;function Ql(e,t){for(let r=0;r3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"analyze";if(!Object(T.isNumber)(e))throw new Error("Task.id should be a number.");if(!Object(T.isFunction)(t))throw new Error("Task.execute should be a function.");if(!Object(T.isFunction)(r))throw new Error("Task.done should be a function.");if(!Object(T.isObject)(n))throw new Error("Task.data should be an object.");this.id=e,this.execute=t,this.done=r,this.data=n,this.type=s}}const ec={pollTime:50};const tc={AssessmentResult:yi,Mark:us,Paper:Ka,Sentence:Nn,Clause:li,ProminentWord:Ln};var rc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t._parseClass&&tc[t._parseClass]?"Sentence"===t._parseClass||"Clause"===t._parseClass?tc[t._parseClass].prototype.parse(t):tc[t._parseClass].parse(t):r?Object(T.mapValues)(t,t=>e(t)):t},nc=function e(t){if(Object(T.isArray)(t))return t.map(e);const r=Object(T.isObject)(t);return r&&t.serialize?t.serialize():r?Object(T.mapValues)(t,t=>e(t)):t},sc=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"%%";r=Object(T.escapeRegExp)(r);const n=new RegExp(`${r}(.+?)${r}`,"g");let s,i=e;for(;null!==(s=n.exec(e));){const e=s[1],n=new RegExp(`${r}${Object(T.escapeRegExp)(e)}${r}`,"g");e in t&&(i=i.replace(n,t[e]))}return i};const ic=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";r&&(n=sc(n,r));let s=n?[n]:[];return t.name&&t.message&&(t.stack&&e.debug(t.stack),s.push(`${t.name}: ${t.message}`)),s=s.join("\n\t"),e.error(s),s};function ac(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return async function(){try{return await t(...arguments)}catch(t){return{error:ic(e,t,arguments.length<=1?void 0:arguments[1],r)}}}}var oc=class{aggregate(e){console.warn("'aggregate' must be implemented by a child class of 'ScoreAggregator'")}};const lc={bad:3,ok:2,good:0},cc={bad:4,ok:2,good:0},uc=["en","nl","de","it","ru","fr","es"];var hc=class extends oc{isFullySupported(e){if(e&&e.includes("_")){const t=A(e);return uc.includes(t)}return!1}calculateScore(e,t){if(e){if(t>6)return 30;if(t>4)return 60}else{if(t>4)return 30;if(t>2)return 60}return 90}calculatePenalty(e){return e.reduce((e,t)=>{const r=Pa(t.getScore()),n=this.isFullySupported(this.locale)?lc[r]:cc[r];return n?e+n:e},0)}getValidResults(e){return e.filter(e=>e.hasScore()&&e.hasText())}setLocale(e){this.locale=e}aggregate(e){const t=this.getValidResults(e);if(t.length<=1)return 0;const r=this.calculatePenalty(t),n=this.isFullySupported(this.locale);return this.calculateScore(n,r)}},dc=class extends oc{aggregate(e){const t=e.reduce((e,t)=>e+t.getScore(),0);return Math.round(100*t/(9*e.length))||0}};const pc=Object(E.getLogger)("yoast-analysis-worker");pc.setDefaultLevel("error");class gc{constructor(e,t){this._scope=e,this._configuration={contentAnalysisActive:!0,keywordAnalysisActive:!0,inclusiveLanguageAnalysisActive:!1,useCornerstone:!1,useTaxonomy:!1,locale:"en_US",customAnalysisType:""},this._scheduler=new class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._configuration=Object(T.merge)(ec,e),this._tasks={standard:[],extensions:[],analyze:[],analyzeRelatedKeywords:[]},this._pollHandle=null,this._started=!1,this.startPolling=this.startPolling.bind(this),this.stopPolling=this.stopPolling.bind(this),this.tick=this.tick.bind(this)}startPolling(){this._started||(this._started=!0,this.tick())}tick(){this.executeNextTask().then(()=>{this._pollHandle=setTimeout(this.tick,this._configuration.pollTime)})}stopPolling(){clearTimeout(this._pollHandle),this._pollHandle=null,this._started=!1}schedule(e){let{id:t,execute:r,done:n,data:s,type:i}=e;const a=new Zl(t,r,n,s,i);switch(i){case"customMessage":case"loadScript":this._tasks.extensions.push(a);break;case"analyze":this._tasks.analyze=[a];break;case"analyzeRelatedKeywords":this._tasks.analyzeRelatedKeywords=[a];break;default:this._tasks.standard.push(a)}}getNextTask(){return this._tasks.extensions.length>0?this._tasks.extensions.shift():this._tasks.analyze.length>0?this._tasks.analyze.shift():this._tasks.analyzeRelatedKeywords.length>0?this._tasks.analyzeRelatedKeywords.shift():this._tasks.standard.length>0?this._tasks.standard.shift():null}executeNextTask(){const e=this.getNextTask();return null===e?Promise.resolve(null):Promise.resolve().then(()=>e.execute(e.id,e.data)).then(t=>(e.done(e.id,t),t))}},this._paper=null,this._relatedKeywords={},this._researcher=t,this._contentAssessor=null,this._seoAssessor=null,this._relatedKeywordAssessor=null,this.additionalAssessors={},this._inclusiveLanguageOptions={},this._results={readability:{results:[],score:0},seo:{"":{results:[],score:0}},inclusiveLanguage:{results:[],score:0}},this._registeredAssessments=[],this._registeredMessageHandlers={},this._registeredParsers=[],this.setupTreeAnalysis(),this.bindActions(),this.assessRelatedKeywords=this.assessRelatedKeywords.bind(this),this.registerAssessment=this.registerAssessment.bind(this),this.registerMessageHandler=this.registerMessageHandler.bind(this),this.refreshAssessment=this.refreshAssessment.bind(this),this.setCustomContentAssessorClass=this.setCustomContentAssessorClass.bind(this),this.setCustomCornerstoneContentAssessorClass=this.setCustomCornerstoneContentAssessorClass.bind(this),this.setCustomSEOAssessorClass=this.setCustomSEOAssessorClass.bind(this),this.setCustomCornerstoneSEOAssessorClass=this.setCustomCornerstoneSEOAssessorClass.bind(this),this.setCustomRelatedKeywordAssessorClass=this.setCustomRelatedKeywordAssessorClass.bind(this),this.setCustomCornerstoneRelatedKeywordAssessorClass=this.setCustomCornerstoneRelatedKeywordAssessorClass.bind(this),this.registerAssessor=this.registerAssessor.bind(this),this.registerResearch=this.registerResearch.bind(this),this.registerHelper=this.registerHelper.bind(this),this.registerResearcherConfig=this.registerResearcherConfig.bind(this),this.setInclusiveLanguageOptions=this.setInclusiveLanguageOptions.bind(this),this.handleMessage=this.handleMessage.bind(this),this.analyzeRelatedKeywords=ac(pc,this.analyze,"An error occurred while running the related keywords analysis."),this.analyze=ac(pc,this.analyze,"An error occurred while running the analysis."),this.runResearch=ac(pc,this.runResearch,"An error occurred after running the '%%name%%' research.")}bindActions(){this.analyze=this.analyze.bind(this),this.analyzeDone=this.analyzeDone.bind(this),this.analyzeRelatedKeywordsDone=this.analyzeRelatedKeywordsDone.bind(this),this.loadScript=this.loadScript.bind(this),this.loadScriptDone=this.loadScriptDone.bind(this),this.customMessage=this.customMessage.bind(this),this.customMessageDone=this.customMessageDone.bind(this),this.clearCache=this.clearCache.bind(this),this.runResearch=this.runResearch.bind(this),this.runResearchDone=this.runResearchDone.bind(this)}setCustomContentAssessorClass(e,t,r){this._CustomContentAssessorClasses[t]=e,this._CustomContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomCornerstoneContentAssessorClass(e,t,r){this._CustomCornerstoneContentAssessorClasses[t]=e,this._CustomCornerstoneContentAssessorOptions[t]=r,this._contentAssessor=this.createContentAssessor()}setCustomSEOAssessorClass(e,t,r){this._CustomSEOAssessorClasses[t]=e,this._CustomSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomCornerstoneSEOAssessorClass(e,t,r){this._CustomCornerstoneSEOAssessorClasses[t]=e,this._CustomCornerstoneSEOAssessorOptions[t]=r,this._seoAssessor=this.createSEOAssessor()}setCustomRelatedKeywordAssessorClass(e,t,r){this._CustomRelatedKeywordAssessorClasses[t]=e,this._CustomRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setCustomCornerstoneRelatedKeywordAssessorClass(e,t,r){this._CustomCornerstoneRelatedKeywordAssessorClasses[t]=e,this._CustomCornerstoneRelatedKeywordAssessorOptions[t]=r,this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()}setInclusiveLanguageOptions(e){this._inclusiveLanguageOptions=e}setupTreeAnalysis(){this._treeResearcher=null,this._contentTreeAssessor=null,this._seoTreeAssessor=null,this._relatedKeywordTreeAssessor=null,this._CustomSEOAssessorClasses={},this._CustomCornerstoneSEOAssessorClasses={},this._CustomContentAssessorClasses={},this._CustomCornerstoneContentAssessorClasses={},this._CustomRelatedKeywordAssessorClasses={},this._CustomCornerstoneRelatedKeywordAssessorClasses={},this._CustomSEOAssessorOptions={},this._CustomCornerstoneSEOAssessorOptions={},this._CustomContentAssessorOptions={},this._CustomCornerstoneContentAssessorOptions={},this._CustomRelatedKeywordAssessorOptions={},this._CustomCornerstoneRelatedKeywordAssessorOptions={},this._registeredTreeAssessments=[],this._seoScoreAggregator=new dc,this._contentScoreAggregator=new hc,this._tree=null,this._treeBuilder=null}register(){this._scope.onmessage=this.handleMessage,this._scope.analysisWorker=this}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;switch(n=rc(n),pc.debug("AnalysisWebWorker incoming:",t,r,n),t){case"initialize":this.initialize(r,n),this._scheduler.startPolling();break;case"analyze":this._scheduler.schedule({id:r,execute:this.analyze,done:this.analyzeDone,data:n,type:t});break;case"analyzeRelatedKeywords":this._scheduler.schedule({id:r,execute:this.analyzeRelatedKeywords,done:this.analyzeRelatedKeywordsDone,data:n,type:t});break;case"loadScript":this._scheduler.schedule({id:r,execute:this.loadScript,done:this.loadScriptDone,data:n,type:t});break;case"runResearch":this._scheduler.schedule({id:r,execute:this.runResearch,done:this.runResearchDone,data:n});break;case"customMessage":{const e=n.name;if(e&&this._registeredMessageHandlers[e]){this._scheduler.schedule({id:r,execute:this.customMessage,done:this.customMessageDone,data:n,type:t});break}this.customMessageDone(r,{error:new Error("No message handler registered for messages with name: "+e)});break}default:console.warn("AnalysisWebWorker unrecognized action:",t)}}createContentAssessor(){const{contentAnalysisActive:e,useCornerstone:t,customAnalysisType:r}=this._configuration;if(!1===e)return null;let n;return!0===t?(n=this._CustomCornerstoneContentAssessorClasses[r]?new this._CustomCornerstoneContentAssessorClasses[r](this._researcher,this._CustomCornerstoneContentAssessorOptions[r]):new Gl(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"cornerstoneReadability"===s&&n.addAssessment(t,r)})):(n=this._CustomContentAssessorClasses[r]?new this._CustomContentAssessorClasses[r](this._researcher,this._CustomContentAssessorOptions[r]):new ja(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:s}=e;Object(T.isUndefined)(n.getAssessment(t))&&"readability"===s&&n.addAssessment(t,r)})),n}createSEOAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Ua(this._researcher):!0===t?this._CustomCornerstoneSEOAssessorClasses[n]?new this._CustomCornerstoneSEOAssessorClasses[n](this._researcher,this._CustomCornerstoneSEOAssessorOptions[n]):new Vl(this._researcher):this._CustomSEOAssessorClasses[n]?new this._CustomSEOAssessorClasses[n](this._researcher,this._CustomSEOAssessorOptions[n]):new ka(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"seo"===n&&s.addAssessment(t,r)}),s}createInclusiveLanguageAssessor(){const{inclusiveLanguageAnalysisActive:e}=this._configuration;return!1===e?null:new Kl(this._researcher,this._inclusiveLanguageOptions)}createRelatedKeywordsAssessor(){const{keywordAnalysisActive:e,useCornerstone:t,useTaxonomy:r,customAnalysisType:n}=this._configuration;if(!1===e)return null;let s;return s=!0===r?new Jl(this._researcher):!0===t?this._CustomCornerstoneRelatedKeywordAssessorClasses[n]?new this._CustomCornerstoneRelatedKeywordAssessorClasses[n](this._researcher,this._CustomCornerstoneRelatedKeywordAssessorOptions[n]):new Wl(this._researcher):this._CustomRelatedKeywordAssessorClasses[n]?new this._CustomRelatedKeywordAssessorClasses[n](this._researcher,this._CustomRelatedKeywordAssessorOptions[n]):new Ga(this._researcher),this._registeredAssessments.forEach(e=>{let{name:t,assessment:r,type:n}=e;Object(T.isUndefined)(s.getAssessment(t))&&"relatedKeyphrase"===n&&s.addAssessment(t,r)}),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};pc.debug("AnalysisWebWorker outgoing:",e,t,r),r=nc(r),this._scope.postMessage({type:e,id:t,payload:r})}static shouldAssessorsUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const s=Object.keys(e);return{readability:Object(T.isNull)(t)||Ql(s,["contentAnalysisActive","useCornerstone","locale","translations","customAnalysisType"]),seo:Object(T.isNull)(r)||Ql(s,["keywordAnalysisActive","useCornerstone","useTaxonomy","locale","translations","researchData","customAnalysisType"]),inclusiveLanguage:Object(T.isNull)(n)||Ql(s,["inclusiveLanguageAnalysisActive","locale","translations"])}}initialize(e,t){const r=gc.shouldAssessorsUpdate(t,this._contentAssessor,this._seoAssessor,this._inclusiveLanguageAssessor);Object(T.has)(t,"translations")&&Object.values(t.translations).forEach(e=>{if(e){const{domain:t,locale_data:r}=e;Object(_.setLocaleData)(r[t],t)}}),Object(T.has)(t,"researchData")&&(Object(T.forEach)(t.researchData,(e,t)=>{this._researcher.addResearchData(t,e)}),delete t.researchData),Object(T.has)(t,"defaultQueryParams")&&(Object(Ei.a)({params:t.defaultQueryParams}),delete t.defaultQueryParams),Object(T.has)(t,"logLevel")&&(pc.setLevel(t.logLevel,!1),delete t.logLevel),Object(T.has)(t,"enabledFeatures")&&(Object(m.enableFeatures)(t.enabledFeatures),delete t.enabledFeatures),this._configuration=Object(T.merge)(this._configuration,t),r.readability&&(this._contentAssessor=this.createContentAssessor(),this._contentTreeAssessor=null),r.seo&&(this._seoAssessor=this.createSEOAssessor(),this._relatedKeywordAssessor=this.createRelatedKeywordsAssessor()),r.inclusiveLanguage&&(this._inclusiveLanguageAssessor=this.createInclusiveLanguageAssessor()),this.clearCache(),this.send("initialize:done",e)}registerAssessor(e,t,r){const n=new t(this._researcher);this.additionalAssessors[e]={assessor:n,shouldUpdate:r}}registerAssessment(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"seo";const{useCornerstone:s}=this._configuration;if(!Object(T.isString)(e))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register assessment for plugin "+r+". Expected parameter `pluginName` to be a string.");const i=r+"-"+e;return null!==this._seoAssessor&&"seo"===n&&this._seoAssessor.addAssessment(i,t),null!==this._contentAssessor&&"readability"===n&&this._contentAssessor.addAssessment(i,t),null!==this._contentAssessor&&"cornerstoneReadability"===n&&s&&this._contentAssessor.addAssessment(i,t),null!==this._relatedKeywordAssessor&&"relatedKeyphrase"===n&&this._relatedKeywordAssessor.addAssessment(i,t),this._registeredAssessments.push({combinedName:i,assessment:t,type:n}),this.refreshAssessment(e,r),!0}registerMessageHandler(e,t,r){if(!Object(T.isString)(e))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `handler` to be a function.");if(!Object(T.isString)(r))throw new Dt("Failed to register handler for plugin "+r+". Expected parameter `pluginName` to be a string.");e=r+"-"+e,this._registeredMessageHandlers[e]=t}refreshAssessment(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `name` to be a string.");if(!Object(T.isString)(t))throw new Dt("Failed to refresh assessment for plugin "+t+". Expected parameter `pluginName` to be a string.");this.clearCache()}registerParser(e){if("function"!=typeof e.isApplicable)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'isApplicable'.");if("function"!=typeof e.parse)throw new Dt("Failed to register the custom parser. Expected parameter 'parser' to have a method 'parse'.");this._registeredParsers.push(e)}clearCache(){this._paper=null}setLocale(e){this._configuration.locale!==e&&(this._configuration.locale=e,this._contentAssessor=this.createContentAssessor())}shouldReadabilityUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getLocale()!==e.getLocale()}shouldInclusiveLanguageUpdate(e){return null===this._paper||this._paper.getText()!==e.getText()||this._paper.getTextTitle()!==e.getTextTitle()||this._paper.getLocale()!==e.getLocale()}updateInclusiveLanguageAssessor(e){this._configuration.inclusiveLanguageAnalysisActive&&this._inclusiveLanguageAssessor&&e&&(this._inclusiveLanguageAssessor.assess(this._paper),this._results.inclusiveLanguage={results:this._inclusiveLanguageAssessor.results,score:this._inclusiveLanguageAssessor.calculateOverallScore()})}shouldSeoUpdate(e,t){let{keyword:r,synonyms:n}=t;return!!Object(T.isUndefined)(this._relatedKeywords[e])||this._relatedKeywords[e].keyword!==r||this._relatedKeywords[e].synonyms!==n}shouldAdditionalAssessorsUpdate(e){const t={};return Object.keys(this.additionalAssessors).forEach(r=>{t[r]=this.additionalAssessors[r].shouldUpdate(this._paper,e)}),t}updateAdditionalAssessors(e){Object.keys(this.additionalAssessors).forEach(t=>{const{assessor:r}=this.additionalAssessors[t];this._results[t]&&!e[t]||(r.assess(this._paper),this._results[t]={results:r.results,score:r.calculateOverallScore()})})}async analyze(e,t){let{paper:r,relatedKeywords:n={}}=t;const s=null===this._paper||!this._paper.equals(r),i=this.shouldReadabilityUpdate(r),a=this.shouldInclusiveLanguageUpdate(r),o=this.shouldAdditionalAssessorsUpdate(r);if(s){this._paper=r,this._researcher.setPaper(this._paper);const e=new qi(this._researcher);this._paper.setTree(pa(this._paper.getText(),e)),this.setLocale(this._paper.getLocale())}if(this._configuration.keywordAnalysisActive&&this._seoAssessor&&(s&&(this._results.seo[""]=await this.assess(this._paper,this._tree,{oldAssessor:this._seoAssessor,treeAssessor:this._seoTreeAssessor,scoreAggregator:this._seoScoreAggregator})),!Object(T.isEmpty)(n))){const e=Object.keys(n);(await this.assessRelatedKeywords(r,this._tree,n)).forEach(e=>{this._results.seo[e.key]=e.results}),e.length>1&&(this._results.seo=Object(T.pickBy)(this._results.seo,(t,r)=>Object(T.includes)(e,r)||""===r))}if(this._configuration.contentAnalysisActive&&this._contentAssessor&&i){const e={oldAssessor:this._contentAssessor,treeAssessor:this._contentTreeAssessor,scoreAggregator:this._contentScoreAggregator};e.scoreAggregator.setLocale(this._configuration.locale),this._results.readability=await this.assess(this._paper,this._tree,e)}return this.updateInclusiveLanguageAssessor(a),this.updateAdditionalAssessors(o),this._results}async assess(e,t,r){const{oldAssessor:n,scoreAggregator:s}=r;n.assess(e);const i=[...n.results];return{results:i,score:s.aggregate(i)}}generateAssessmentError(e){const t=new yi;return t.setScore(-1),t.setText(Object(_.sprintf)(
/* translators: %1$s expands to the name of the assessment. */
-Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),e.name)),t}async assessRelatedKeywords(e,t,r){const n=Object.keys(r);return await Promise.all(n.map(n=>{this._relatedKeywords[n]=r[n];const s=Ka.parse({...e.serialize(),keyword:this._relatedKeywords[n].keyword,synonyms:this._relatedKeywords[n].synonyms}),i={oldAssessor:this._relatedKeywordAssessor,treeAssessor:this._relatedKeywordTreeAssessor,scoreAggregator:this._seoScoreAggregator};return this.assess(s,t,i).then(e=>({key:n,results:e}))}))}loadScript(e,t){let{url:r}=t;if(Object(T.isUndefined)(r))return{loaded:!1,url:r,message:"Load Script was called without an URL."};try{this._scope.importScripts(r)}catch(e){return{loaded:!1,url:r,message:e.message}}return{loaded:!0,url:r}}loadScriptDone(e,t){t.loaded?this.send("loadScript:done",e,t):this.send("loadScript:failed",e,t)}analyzeDone(e,t){t.error?this.send("analyze:failed",e,t):this.send("analyze:done",e,t)}analyzeRelatedKeywordsDone(e,t){t.error?this.send("analyzeRelatedKeywords:failed",e,t):this.send("analyzeRelatedKeywords:done",e,t)}customMessage(e,t){let{name:r,data:n}=t;try{return{success:!0,data:this._registeredMessageHandlers[r](n)}}catch(e){return{error:e}}}customMessageDone(e,t){t.success?this.send("customMessage:done",e,t.data):this.send("customMessage:failed",t.error)}registerResearch(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom research. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom research. Expected parameter `research` to be a function.");const r=this._researcher;r.hasResearch(e)||r.addResearch(e,t)}runResearch(e,t){let{name:r,paper:n=null}=t;const s=this._researcher.getData("morphology"),i=this._researcher;if(null!==n&&(i.setPaper(n),i.addResearchData("morphology",s),null===n.getTree())){const e=new Yi(i);n.setTree(pa(n.getText(),e))}return i.getResearch(r)}runResearchDone(e,t){t.error?this.send("runResearch:failed",e,t):this.send("runResearch:done",e,t)}registerHelper(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom helper. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom helper. Expected parameter `helper` to be a function.");const r=this._researcher;r.hasHelper(e)||r.addHelper(e,t)}registerResearcherConfig(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom researcher config. Expected parameter `name` to be a string.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to register the custom researcher config. Expected parameter `researcherConfig` to be defined.");const r=this._researcher;r.hasConfig(e)||r.addConfig(e,t)}}class fc{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.result=e,this.data=t}}var mc=class{constructor(e){this._worker=e,this._requests={},this._autoIncrementedRequestId=-1,this.initialize=this.initialize.bind(this),this.analyze=this.analyze.bind(this),this.analyzeRelatedKeywords=this.analyzeRelatedKeywords.bind(this),this.loadScript=this.loadScript.bind(this),this.sendMessage=this.sendMessage.bind(this),this.runResearch=this.runResearch.bind(this),this.handleMessage=this.handleMessage.bind(this),this.handleMessageError=this.handleMessageError.bind(this),this.handleError=this.handleError.bind(this),this._worker.onmessage=this.handleMessage,this._worker.onmessageerror=this.handleMessageError,this._worker.onerror=this.handleError}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;const s=this._requests[r];if(s){switch(n=rc(n),t){case"initialize:done":case"loadScript:done":case"customMessage:done":case"runResearch:done":case"analyzeRelatedKeywords:done":case"analyze:done":s.resolve(n);break;case"analyze:failed":case"loadScript:failed":case"customMessage:failed":case"runResearch:failed":case"analyzeRelatedKeywords:failed":s.reject(n);break;default:console.warn("AnalysisWebWorker unrecognized action:",t)}delete this._requests[r]}else console.warn("AnalysisWebWorker unmatched response:",n)}handleMessageError(e){console.warn("AnalysisWebWorker message error:",e)}handleError(e){const t=Object.keys(this._requests),r=t[t.length-1],n=this._requests[r];n?n.reject(e):console.error("AnalysisWebWorker error:",e)}createRequestId(){return this._autoIncrementedRequestId++,this._autoIncrementedRequestId}createRequestPromise(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,n)=>{this._requests[e]=new class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._resolve=e,this._reject=t,this._data=r}resolve(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._resolve(e)}reject(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._reject(e)}}(r,n,t)})}sendRequest(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.createRequestId(),s=this.createRequestPromise(n,r);return this.send(e,n,t),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=nc(r),this._worker.postMessage({type:e,id:t,payload:r})}initialize(e){return this.sendRequest("initialize",e)}analyzeRelatedKeywords(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.sendRequest("analyzeRelatedKeywords",{paper:e,relatedKeywords:t})}analyze(e){return this.sendRequest("analyze",{paper:e})}loadScript(e){return this.sendRequest("loadScript",{url:e})}sendMessage(e,t,r){return e=r+"-"+e,this.sendRequest("customMessage",{name:e,data:t},t)}runResearch(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.sendRequest("runResearch",{name:e,paper:t})}};function _c(e){const t=function(e){const t=window.URL||window.webkitURL,r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,n=`\n\t\ttry {\n\t\t\t${function(e){return`\n\t\tself.yoastOriginalUrl = '${e}';\n\t\timportScripts('${e}');\n\t`}(e)}\n\t\t} catch ( error ) {\n\t\t\tconsole.log( "Error occurred during worker initialization:" );\n\t\t\tconsole.log( error );\n\t\t}\n\t`;let s;try{s=new Blob([n],{type:"application/javascript"})}catch(e){const t=new r;t.append(n),s=t.getBlob("application/javascript")}return t.createObjectURL(s)}(e);return new Worker(t)}var Tc=function(e){if(!function(e,t){const r=new URL(e,window.location.origin),n=new URL(t,window.location.origin);return r.hostname===n.hostname&&r.port===n.port&&r.protocol===n.protocol}(window.location,e)||window.wpseoAdminL10n&&"1"===window.wpseoAdminL10n.isWebStoriesIntegrationActive)return _c(e);let t=null;try{t=new Worker(e)}catch(r){try{t=_c(e)}catch(e){throw e}}return t};const Ec={ParagraphTooLongAssessment:Na,PassiveVoiceAssessment:Da,SentenceBeginningsAssessment:La,SentenceLengthInTextAssessment:Ra,SubheadingDistributionTooLongAssessment:Ia,TextPresenceAssessment:Ma,TransitionWordsAssessment:xa},vc={FunctionWordsInKeyphraseAssessment:Oa,InternalLinksAssessment:Hi,IntroductionKeywordAssessment:Si,KeyphraseLengthAssessment:Ii,KeywordDensityAssessment:Li,MetaDescriptionKeywordAssessment:Mi,MetaDescriptionLengthAssessment:_a,OutboundLinksAssessment:ya,PageTitleWidthAssessment:Aa,SingleH1Assessment:wa,SubheadingsKeywordAssessment:Ta,TextCompetingLinksAssessment:Ui,TextLengthAssessment:ba,KeyphraseInSEOTitleAssessment:$i,SlugKeywordAssessment:Ki,UrlKeywordAssessment:class extends Ki{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),this.identifier="urlKeyword",console.warn("This object is deprecated, use SlugKeywordAssessment instead.")}},ImageKeyphraseAssessment:Ea,ImageCountAssessment:va},bc={InclusiveLanguageAssessment:Hl};var yc=function(e,t){if(Object(T.isUndefined)(e))throw new Mt("The previously keyword plugin requires the YoastSEO app");Object(T.isUndefined)(t)&&(t={usedKeywords:{},usedKeywordsPostTypes:{},searchUrl:"",postUrl:""}),this.app=e,this.usedKeywords=t.usedKeywords,this.usedKeywordsPostTypes=t.usedKeywordsPostTypes,this.searchUrl=t.searchUrl,this.postUrl=t.postUrl,this.urlTitle=Object(Ai.b)("https://yoa.st/33x"),this.urlCallToAction=Object(Ai.b)("https://yoa.st/33y")};yc.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(e){return e.hasKeyword()}},"previouslyUsedKeywords")},yc.prototype.updateKeywordUsage=function(e,t){this.usedKeywords=e,this.usedKeywordsPostTypes=t},yc.prototype.scoreAssessment=function(e,t){const r=e.count,n=e.id,s=e.postTypeToDisplay;let i;return 0===r?{text:Object(_.sprintf)(
+Object(_.__)("An error occurred in the '%1$s' assessment","wordpress-seo"),e.name)),t}async assessRelatedKeywords(e,t,r){const n=Object.keys(r);return await Promise.all(n.map(n=>{this._relatedKeywords[n]=r[n];const s=Ka.parse({...e.serialize(),keyword:this._relatedKeywords[n].keyword,synonyms:this._relatedKeywords[n].synonyms}),i={oldAssessor:this._relatedKeywordAssessor,treeAssessor:this._relatedKeywordTreeAssessor,scoreAggregator:this._seoScoreAggregator};return this.assess(s,t,i).then(e=>({key:n,results:e}))}))}loadScript(e,t){let{url:r}=t;if(Object(T.isUndefined)(r))return{loaded:!1,url:r,message:"Load Script was called without an URL."};try{this._scope.importScripts(r)}catch(e){return{loaded:!1,url:r,message:e.message}}return{loaded:!0,url:r}}loadScriptDone(e,t){t.loaded?this.send("loadScript:done",e,t):this.send("loadScript:failed",e,t)}analyzeDone(e,t){t.error?this.send("analyze:failed",e,t):this.send("analyze:done",e,t)}analyzeRelatedKeywordsDone(e,t){t.error?this.send("analyzeRelatedKeywords:failed",e,t):this.send("analyzeRelatedKeywords:done",e,t)}customMessage(e,t){let{name:r,data:n}=t;try{return{success:!0,data:this._registeredMessageHandlers[r](n)}}catch(e){return{error:e}}}customMessageDone(e,t){t.success?this.send("customMessage:done",e,t.data):this.send("customMessage:failed",t.error)}registerResearch(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom research. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom research. Expected parameter `research` to be a function.");const r=this._researcher;r.hasResearch(e)||r.addResearch(e,t)}runResearch(e,t){let{name:r,paper:n=null}=t;const s=this._researcher.getData("morphology"),i=this._researcher;if(null!==n&&(i.setPaper(n),i.addResearchData("morphology",s),null===n.getTree())){const e=new qi(i);n.setTree(pa(n.getText(),e))}return i.getResearch(r)}runResearchDone(e,t){t.error?this.send("runResearch:failed",e,t):this.send("runResearch:done",e,t)}registerHelper(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom helper. Expected parameter `name` to be a string.");if(!Object(T.isObject)(t))throw new Dt("Failed to register the custom helper. Expected parameter `helper` to be a function.");const r=this._researcher;r.hasHelper(e)||r.addHelper(e,t)}registerResearcherConfig(e,t){if(!Object(T.isString)(e))throw new Dt("Failed to register the custom researcher config. Expected parameter `name` to be a string.");if(Object(T.isUndefined)(t)||Object(T.isEmpty)(t))throw new Mt("Failed to register the custom researcher config. Expected parameter `researcherConfig` to be defined.");const r=this._researcher;r.hasConfig(e)||r.addConfig(e,t)}}class fc{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.result=e,this.data=t}}var mc=class{constructor(e){this._worker=e,this._requests={},this._autoIncrementedRequestId=-1,this.initialize=this.initialize.bind(this),this.analyze=this.analyze.bind(this),this.analyzeRelatedKeywords=this.analyzeRelatedKeywords.bind(this),this.loadScript=this.loadScript.bind(this),this.sendMessage=this.sendMessage.bind(this),this.runResearch=this.runResearch.bind(this),this.handleMessage=this.handleMessage.bind(this),this.handleMessageError=this.handleMessageError.bind(this),this.handleError=this.handleError.bind(this),this._worker.onmessage=this.handleMessage,this._worker.onmessageerror=this.handleMessageError,this._worker.onerror=this.handleError}handleMessage(e){let{data:{type:t,id:r,payload:n}}=e;const s=this._requests[r];if(s){switch(n=rc(n),t){case"initialize:done":case"loadScript:done":case"customMessage:done":case"runResearch:done":case"analyzeRelatedKeywords:done":case"analyze:done":s.resolve(n);break;case"analyze:failed":case"loadScript:failed":case"customMessage:failed":case"runResearch:failed":case"analyzeRelatedKeywords:failed":s.reject(n);break;default:console.warn("AnalysisWebWorker unrecognized action:",t)}delete this._requests[r]}else console.warn("AnalysisWebWorker unmatched response:",n)}handleMessageError(e){console.warn("AnalysisWebWorker message error:",e)}handleError(e){const t=Object.keys(this._requests),r=t[t.length-1],n=this._requests[r];n?n.reject(e):console.error("AnalysisWebWorker error:",e)}createRequestId(){return this._autoIncrementedRequestId++,this._autoIncrementedRequestId}createRequestPromise(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,n)=>{this._requests[e]=new class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._resolve=e,this._reject=t,this._data=r}resolve(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._resolve(e)}reject(){const e=new fc(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},this._data);this._reject(e)}}(r,n,t)})}sendRequest(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.createRequestId(),s=this.createRequestPromise(n,r);return this.send(e,n,t),s}send(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=nc(r),this._worker.postMessage({type:e,id:t,payload:r})}initialize(e){return this.sendRequest("initialize",e)}analyzeRelatedKeywords(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.sendRequest("analyzeRelatedKeywords",{paper:e,relatedKeywords:t})}analyze(e){return this.sendRequest("analyze",{paper:e})}loadScript(e){return this.sendRequest("loadScript",{url:e})}sendMessage(e,t,r){return e=r+"-"+e,this.sendRequest("customMessage",{name:e,data:t},t)}runResearch(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.sendRequest("runResearch",{name:e,paper:t})}};function _c(e){const t=function(e){const t=window.URL||window.webkitURL,r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,n=`\n\t\ttry {\n\t\t\t${function(e){return`\n\t\tself.yoastOriginalUrl = '${e}';\n\t\timportScripts('${e}');\n\t`}(e)}\n\t\t} catch ( error ) {\n\t\t\tconsole.log( "Error occurred during worker initialization:" );\n\t\t\tconsole.log( error );\n\t\t}\n\t`;let s;try{s=new Blob([n],{type:"application/javascript"})}catch(e){const t=new r;t.append(n),s=t.getBlob("application/javascript")}return t.createObjectURL(s)}(e);return new Worker(t)}var Tc=function(e){if(!function(e,t){const r=new URL(e,window.location.origin),n=new URL(t,window.location.origin);return r.hostname===n.hostname&&r.port===n.port&&r.protocol===n.protocol}(window.location,e)||window.wpseoAdminL10n&&"1"===window.wpseoAdminL10n.isWebStoriesIntegrationActive)return _c(e);let t=null;try{t=new Worker(e)}catch(r){try{t=_c(e)}catch(e){throw e}}return t};const Ec={ParagraphTooLongAssessment:Na,PassiveVoiceAssessment:Da,SentenceBeginningsAssessment:La,SentenceLengthInTextAssessment:Ra,SubheadingDistributionTooLongAssessment:Ia,TextPresenceAssessment:Ma,TransitionWordsAssessment:xa},vc={FunctionWordsInKeyphraseAssessment:Oa,InternalLinksAssessment:Fi,IntroductionKeywordAssessment:Ai,KeyphraseLengthAssessment:Si,KeywordDensityAssessment:Ri,MetaDescriptionKeywordAssessment:Ii,MetaDescriptionLengthAssessment:_a,OutboundLinksAssessment:ya,PageTitleWidthAssessment:Aa,SingleH1Assessment:wa,SubheadingsKeywordAssessment:Ta,TextCompetingLinksAssessment:Pi,TextLengthAssessment:ba,KeyphraseInSEOTitleAssessment:ji,SlugKeywordAssessment:Bi,UrlKeywordAssessment:class extends Bi{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),this.identifier="urlKeyword",console.warn("This object is deprecated, use SlugKeywordAssessment instead.")}},ImageKeyphraseAssessment:Ea,ImageCountAssessment:va},bc={InclusiveLanguageAssessment:Hl};var yc=function(e,t){if(Object(T.isUndefined)(e))throw new Mt("The previously keyword plugin requires the YoastSEO app");Object(T.isUndefined)(t)&&(t={usedKeywords:{},usedKeywordsPostTypes:{},searchUrl:"",postUrl:""}),this.app=e,this.usedKeywords=t.usedKeywords,this.usedKeywordsPostTypes=t.usedKeywordsPostTypes,this.searchUrl=t.searchUrl,this.postUrl=t.postUrl,this.urlTitle=Object(Ei.b)("https://yoa.st/33x"),this.urlCallToAction=Object(Ei.b)("https://yoa.st/33y")};yc.prototype.registerPlugin=function(){this.app.registerAssessment("usedKeywords",{getResult:this.assess.bind(this),isApplicable:function(e){return e.hasKeyword()}},"previouslyUsedKeywords")},yc.prototype.updateKeywordUsage=function(e,t){this.usedKeywords=e,this.usedKeywordsPostTypes=t},yc.prototype.scoreAssessment=function(e,t){const r=e.count,n=e.id,s=e.postTypeToDisplay;let i;return 0===r?{text:Object(_.sprintf)(
/* translators:
%1$s expands to a link to an article on yoast.com,
%2$s expands to an anchor tag. */
@@ -329,4 +329,4 @@ text:Object(_.sprintf)(Object(_.__)("%3$sPreviously used keyphrase%5$s: You've u
/* translators: %1$s and $3$s expand to the admin search page for the keyword, %2$d expands to the number
of times this keyword has been used before, %4$s and %5$s expand to links to yoast.com, %6$s expands to
the anchor end tag */
-text:Object(_.sprintf)(Object(_.__)("%4$sPreviously used keyphrase%6$s: You've used this keyphrase %1$s multiple times before%3$s. %5$sDo not use your keyphrase more than once%6$s.","wordpress-seo"),i,r,"",this.urlTitle,this.urlCallToAction,""),score:1}):void 0},yc.prototype.researchPreviouslyUsedKeywords=function(e){const t=e.getKeyword();let r=0,n="",s=0;return!Object(T.isUndefined)(this.usedKeywords[t])&&this.usedKeywords[t].length>0&&(r=this.usedKeywords[t].length,this.usedKeywordsPostTypes&&(n=this.usedKeywordsPostTypes[t][0]),s=this.usedKeywords[t][0]),{id:s,count:r,postTypeToDisplay:n}},yc.prototype.assess=function(e){var t=this.researchPreviouslyUsedKeywords(e),r=this.scoreAssessment(t,e),n=new wi;return n.setScore(r.score),n.setText(r.text),n};var Ac=yc,Oc=function(e){return e.replace(new RegExp("]*>","g"),"").replace(new RegExp(" ","g"),"")},Cc=function(){const e=Object(_.__)("Content optimization:","wordpress-seo");return{feedback:{className:"na",screenReaderText:Object(_.__)("Feedback","wordpress-seo"),fullText:`${e} ${Object(_.__)("Has feedback","wordpress-seo")}`,screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:Object(_.__)("Needs improvement","wordpress-seo"),fullText:`${e} ${Object(_.__)("Needs improvement","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Needs improvement","wordpress-seo")},ok:{className:"ok",screenReaderText:Object(_.__)("OK SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("OK SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("OK","wordpress-seo")},good:{className:"good",screenReaderText:Object(_.__)("Good SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("Good SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Good","wordpress-seo")}}},wc=function(e){this.app=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};wc.prototype._registerPlugin=function(e,t){return"string"!=typeof e?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(t)||"object"==typeof t?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1)},wc.prototype._ready=function(e){return"string"!=typeof e?(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0)},wc.prototype._reloaded=function(e){return"string"!=typeof e?(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.app.refresh(),!0)},wc.prototype._registerModification=function(e,t,r,n){if("string"!=typeof e)return console.error("Failed to register modification for plugin "+r+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof t)return console.error("Failed to register modification for plugin "+r+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof r)return console.error("Failed to register modification for plugin "+r+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(r))return console.error("Failed to register modification for plugin "+r+". The integration has not finished loading yet."),!1;var s={callable:t,origin:r,priority:"number"==typeof n?n:10};return Object(T.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(s),!0},wc.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},wc.prototype._registerAssessment=function(e,t,r,n){if(!Object(T.isString)(t))throw new Dt("Failed to register test for plugin "+n+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(r))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(n))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `pluginName` to be a string.");return t=n+"-"+t,e.addAssessment(t,r),!0},wc.prototype._pollLoadingPlugins=function(e){e=Object(T.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.app.pluginsLoaded()):e>=this.preloadThreshold?this._pollTimeExceeded():(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))},wc.prototype._allReady=function(){return Object(T.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)},wc.prototype._pollTimeExceeded=function(){Object(T.forEach)(this.plugins,(function(e,t){Object(T.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])})),this.loaded=!0,this.app.pluginsLoaded()},wc.prototype._applyModifications=function(e,t,r){var n=this.modifications[e];return n instanceof Array&&n.length>0&&((n=this._stripIllegalModifications(n)).sort((function(e,t){return e.priority-t.priority})),Object(T.forEach)(n,(function(n){var s=(0,n.callable)(t,r);typeof s==typeof t?t=s:console.error("Modification with name "+e+" performed by plugin with name "+n.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t},wc.prototype._addPluginTests=function(e){this.customTests.map((function(t){this._addPluginTest(e,t)}),this)},wc.prototype._addPluginTest=function(e,t){e.addAnalysis({name:t.name,callable:t.analysis}),e.analyzeScorer.addScoring({name:t.name,scoring:t.scoring})},wc.prototype._stripIllegalModifications=function(e){return Object(T.forEach)(e,function(t,r){!1===this._validateOrigin(t.origin)&&delete e[r]}.bind(this)),e},wc.prototype._validateOrigin=function(e){return"ready"===this.plugins[e].status},wc.prototype._validateUniqueness=function(e){return!!Object(T.isUndefined)(this.plugins[e])};var Sc=wc,kc=r(70),Nc=r.n(kc),Rc=function(e){this.keyword=e.keyword,this.assessor=e.assessor,this.output=e.targets.output,this.overall=e.targets.overall||"overallScore",this.presenterConfig=Cc(),this._disableMarkerButtons=!1,this._activeMarker=!1};Rc.prototype.setKeyword=function(e){this.keyword=e},Rc.prototype.configHasProperty=function(e){return this.presenterConfig.hasOwnProperty(e)},Rc.prototype.getIndicator=function(e){return{className:this.getIndicatorColorClass(e),screenReaderText:this.getIndicatorScreenReaderText(e),fullText:this.getIndicatorFullText(e),screenReaderReadabilityText:this.getIndicatorScreenReaderReadabilityText(e)}},Rc.prototype.getIndicatorColorClass=function(e){return this.configHasProperty(e)?this.presenterConfig[e].className:""},Rc.prototype.getIndicatorScreenReaderText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderText:""},Rc.prototype.getIndicatorScreenReaderReadabilityText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderReadabilityText:""},Rc.prototype.getIndicatorFullText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].fullText:""},Rc.prototype.resultToRating=function(e){return Object(T.isObject)(e)?(e.rating=Pa(e.score),e):""},Rc.prototype.getIndividualRatings=function(){var e={},t=this.sort(this.assessor.getValidResults()).map(this.resultToRating);return Object(T.forEach)(t,function(t,r){e[r]=this.addRating(t)}.bind(this)),e},Rc.prototype.excludeFromResults=function(e,t){return Object(T.difference)(e,t)},Rc.prototype.sort=function(e){var t=this.getUndefinedScores(e),r=this.excludeFromResults(e,t);return r.sort((function(e,t){return e.score-t.score})),t.concat(r)},Rc.prototype.getUndefinedScores=function(e){return e.filter((function(e){return Object(T.isUndefined)(e.score)||0===e.score}))},Rc.prototype.addRating=function(e){var t=this.getIndicator(e.rating);return t.text=e.text,t.identifier=e.getIdentifier(),e.hasMarker()&&(t.marker=e.getMarker()),t},Rc.prototype.getOverallRating=function(e){var t=0;return""===this.keyword||Object(T.isNumber)(e)&&(t=e/10),this.resultToRating({score:t})},Rc.prototype.markAssessment=function(e,t){this._activeMarker===e?(this.removeAllMarks(),this._activeMarker=!1):(t(),this._activeMarker=e),this.render()},Rc.prototype.disableMarker=function(){this._activeMarker=!1,this.render()},Rc.prototype.disableMarkerButtons=function(){this._disableMarkerButtons=!0,this.render()},Rc.prototype.enableMarkerButtons=function(){this._disableMarkerButtons=!1,this.render()},Rc.prototype.addMarkerEventHandler=function(e,t){document.getElementById(this.output).getElementsByClassName("js-assessment-results__mark-"+e)[0].addEventListener("click",this.markAssessment.bind(this,e,t))},Rc.prototype.render=function(){this.renderIndividualRatings(),this.renderOverallRating()},Rc.prototype.bindMarkButtons=function(e){Object(T.forEach)(e,function(e){e.hasOwnProperty("marker")&&this.addMarkerEventHandler(e.identifier,e.marker)}.bind(this))},Rc.prototype.removeAllMarks=function(){this.assessor.getSpecificMarker()(this.assessor.getPaper(),[])},Rc.prototype.renderIndividualRatings=function(){var e=document.getElementById(this.output),t=this.getIndividualRatings();e.innerHTML=Object(kc.assessmentPresenterResult)({scores:t,i18n:{disabledMarkText:Object(_.__)("Marks are disabled in current view","wordpress-seo"),markInText:Object(_.__)("Mark this result in the text","wordpress-seo"),removeMarksInText:Object(_.__)("Remove marks in the text","wordpress-seo")},activeMarker:this._activeMarker,markerButtonsDisabled:this._disableMarkerButtons}),this.bindMarkButtons(t)},Rc.prototype.renderOverallRating=function(){var e=this.getOverallRating(this.assessor.calculateOverallScore()),t=document.getElementById(this.overall);t&&(t.className="overallScore "+this.getIndicatorColorClass(e.rating))};var Ic=Rc,xc=Object(T.memoize)((function(e,t,r){return Object(T.isUndefined)(t)&&(t=""),(Object(T.isUndefined)(r)||!0===r)&&(e=y(e)),e=Et(e),e=Object(T.escapeRegExp)(e),e=qe(e,!1,t),new RegExp(e,"ig")})),Dc={hasClass:function(e,t){return e.className.indexOf(t)>-1},addClass:function(e,t){var r=e.className.split(" ");-1===r.indexOf(t)&&r.push(t),e.className=r.join(" ")},removeClass:function(e,t){var r=e.className.split(" "),n=r.indexOf(t);-1!==n&&r.splice(n,1),e.className=r.join(" ")},removeClasses:function(e,t){Object(T.forEach)(t,this.removeClass.bind(null,e))}},Lc={desktop:"snippet-editor__view--desktop",mobile:"snippet-editor__view--mobile"},Mc=function(e,t){this.previewMode=e,this.previewToggles=t,this.viewElement=document.getElementById("snippet-preview-view")};Mc.prototype.initialize=function(){this._setPreviewMode(this.previewMode,this._findElementByMode(this.previewMode))},Mc.prototype.bindClickEvent=function(e){e.addEventListener("click",function(){this._setPreviewMode(e.getAttribute("data-type"),e),this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseleaveEvent=function(e){e.addEventListener("mouseleave",function(){this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindBlurEvent=function(e){e.addEventListener("blur",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseenterEvent=function(e){e.addEventListener("mouseenter",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindEvents=function(){Object(T.forEach)(this.previewToggles,function(e){this.bindClickEvent(e),this.bindMouseleaveEvent(e),this.bindBlurEvent(e),this.bindMouseenterEvent(e)}.bind(this))},Mc.prototype._findElementByMode=function(e){return document.getElementsByClassName("snippet-editor__view-icon-"+e)[0]},Mc.prototype._setPreviewMode=function(e,t){this._removeActiveStates(),this._setActiveState(t),Dc.removeClass(this.viewElement,Lc[this.previewMode]),Dc.addClass(this.viewElement,Lc[e]),this.previewMode=e},Mc.prototype.setDesktopMode=function(){this._setPreviewMode("desktop",this._findElementByMode("desktop"))},Mc.prototype.setMobileMode=function(){this._setPreviewMode("mobile",this._findElementByMode("mobile"))},Mc.prototype.setVisibility=function(e){e<640?(this.setMobileMode(),Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")):this.setDesktopMode()},Mc.prototype.setScrollHintVisibility=function(e){Dc.removeClass(this.viewElement,"snippet-editor__view--desktop-has-scroll"),e<640&&Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")},Mc.prototype._removeActiveStates=function(){Object(T.forEach)(this.previewToggles,this._removeActiveState.bind(this))},Mc.prototype._removeActiveState=function(e){Dc.removeClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.removeClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","false")},Mc.prototype.removeTooltipAbility=function(e){Dc.addClass(e,"yoast-tooltip-hidden")},Mc.prototype.restoreTooltipAbility=function(e){Dc.removeClass(e,"yoast-tooltip-hidden")},Mc.prototype._setActiveState=function(e){Dc.addClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.addClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","true")};var Pc=Mc,Fc=Nc.a.snippetEditor,jc=Nc.a.hiddenSpan,Bc={data:{title:"",metaDesc:"",urlPath:"",titleWidth:0,metaHeight:0},placeholder:{title:"",metaDesc:"",urlPath:"example-post/"},defaultValue:{title:"",metaDesc:""},baseURL:"http://example.com/",callbacks:{saveSnippetData:function(){}},addTrailingSlash:!0,metaDescriptionDate:"",previewMode:"desktop"},Uc=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],Hc=function(){var e=this.opts.baseURL;return this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===Bc.baseURL&&(e=this.refObj.rawData.baseUrl),e};function $c(e){return this.data[e]}function Kc(e,t){this.element.input[e].value=t,this.data[e]=t}function qc(e,t,r,n){var s;e.value=t,Dc.removeClasses(e,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),Dc.addClass(e,"snippet-editor__progress--"+n),this.hasProgressSupport||(s=t/r*100,e.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=s+"%")}var Gc=function(e){if(Object(T.defaultsDeep)(e,Bc),this.data=e.data,Object(T.isUndefined)(e.analyzerApp)||(this.refObj=e.analyzerApp,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},Object(T.isEmpty)(this.refObj.rawData.metaTitle)||(e.placeholder.title=this.refObj.rawData.metaTitle)),!Object(T.isElement)(e.targetElement))throw new Error("The snippet preview requires a valid target element");this.opts=e,this._currentFocus=null,this._currentHover=null,this.unformattedText={},Object.defineProperty(this.unformattedText,"snippet_cite",{get:$c.bind(this,"urlPath"),set:Kc.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:$c.bind(this,"metaDesc"),set:Kc.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:$c.bind(this,"title"),set:Kc.bind(this,"title")})};function zc(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),Ve(e)}Gc.prototype.renderTemplate=function(){var e,t=this.opts.targetElement;t.innerHTML=Fc({raw:{title:this.data.title,snippetCite:this.data.urlPath,meta:this.data.metaDesc},rendered:{title:this.formatTitle(),baseUrl:this.formatUrl(),snippetCite:this.formatCite(),meta:this.formatMeta()},metaDescriptionDate:this.opts.metaDescriptionDate,placeholder:this.opts.placeholder,i18n:{edit:Object(_.__)("Edit snippet","wordpress-seo"),title:Object(_.__)("SEO title","wordpress-seo"),slug:Object(_.__)("Slug","wordpress-seo"),metaDescription:Object(_.__)("Meta description","wordpress-seo"),save:Object(_.__)("Close snippet editor","wordpress-seo"),snippetPreview:Object(_.__)("Search appearance","wordpress-seo"),titleLabel:Object(_.__)("SEO title preview:","wordpress-seo"),slugLabel:Object(_.__)("Slug preview:","wordpress-seo"),metaDescriptionLabel:Object(_.__)("Meta description preview:","wordpress-seo"),snippetPreviewDescription:Object(_.__)("You can click on each element in the preview to jump to the Snippet Editor.","wordpress-seo"),desktopPreviewMode:Object(_.__)("Desktop preview","wordpress-seo"),mobilePreviewMode:Object(_.__)("Mobile preview","wordpress-seo"),isScrollableHint:Object(_.__)("Scroll to see the preview content.","wordpress-seo")}}),this.element={measurers:{metaHeight:null},rendered:{title:document.getElementById("snippet_title"),urlBase:document.getElementById("snippet_citeBase"),urlPath:document.getElementById("snippet_cite"),metaDesc:document.getElementById("snippet_meta")},input:{title:t.getElementsByClassName("js-snippet-editor-title")[0],urlPath:t.getElementsByClassName("js-snippet-editor-slug")[0],metaDesc:t.getElementsByClassName("js-snippet-editor-meta-description")[0]},progress:{title:t.getElementsByClassName("snippet-editor__progress-title")[0],metaDesc:t.getElementsByClassName("snippet-editor__progress-meta-description")[0]},container:document.getElementById("snippet_preview"),formContainer:t.getElementsByClassName("snippet-editor__form")[0],editToggle:t.getElementsByClassName("snippet-editor__edit-button")[0],closeEditor:t.getElementsByClassName("snippet-editor__submit")[0],formFields:t.getElementsByClassName("snippet-editor__form-field")},this.element.label={title:this.element.input.title.parentNode,urlPath:this.element.input.urlPath.parentNode,metaDesc:this.element.input.metaDesc.parentNode},this.element.preview={title:this.element.rendered.title.parentNode,urlPath:this.element.rendered.urlPath.parentNode,metaDesc:this.element.rendered.metaDesc.parentNode},this.hasProgressSupport=(e=document.createElement("progress"),!Object(T.isUndefined)(e.max)),this.hasProgressSupport?(this.element.progress.title.max=600,this.element.progress.metaDesc.max=156):Object(T.forEach)(this.element.progress,(function(e){Dc.addClass(e,"snippet-editor__progress--fallback")})),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},Gc.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new Pc(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},Gc.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var Wc=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),Object(T.isEmpty)(this.opts.metaDescriptionDate)||Object(T.isEmpty)(e)||(e=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),Ve(e)};Gc.prototype.getAnalyzerData=function(){return{title:zc.call(this),url:this.data.urlPath,metaDesc:Wc.call(this)}},Gc.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},Gc.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},Gc.prototype.htmlOutput=function(){var e={};return e.title=this.formatTitle(),e.cite=this.formatCite(),e.meta=this.formatMeta(),e.url=this.formatUrl(),e},Gc.prototype.formatTitle=function(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),Object(T.isEmpty)(e)&&(e=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),e=mt(e),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide an SEO title by editing the snippet below.","wordpress-seo")),e},Gc.prototype.formatUrl=function(){return Hc.call(this).replace(/http:\/\//gi,"")},Gc.prototype.formatCite=function(){var e,t=this.data.urlPath;return t=y(mt(t)),Object(T.isEmpty)(t)&&(t=this.opts.placeholder.urlPath),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(t=this.formatKeywordUrl(t)),this.opts.addTrailingSlash&&(e=t).indexOf("/")!==e.length-1&&(t+="/"),(t=t.replace(/\s/g,"-")).replace(/\?|#/g,"")},Gc.prototype.formatMeta=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),e=(e=mt(e)).substring(0,156),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeyword(e)),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide a meta description by editing the snippet below.","wordpress-seo")),e},Gc.prototype.getMetaText=function(){var e=this.opts.defaultValue.metaDesc;return this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.excerpt)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.excerpt),this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.text)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("content",e))),(e=mt(e)).substring(0,156)},Gc.prototype.getIndexMatches=function(){for(var e=[],t=0,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);r>-1;)e.push(r),t=r+this.refObj.rawData.keyword.length,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);return e},Gc.prototype.getPeriodMatches=function(){for(var e,t=[0],r=0;(e=this.refObj.rawData.text.indexOf(".",r))>-1;)t.push(e),r=e+1;return t},Gc.prototype.formatKeyword=function(e){var t=this.refObj.rawData.keyword,r=xc(t,"",!1);e=e.replace(r,(function(e){return""+e+" "}));var n=Ke(t,this.refObj.rawData.locale);return n!==t&&(r=xc(n,"",!1),e=e.replace(r,(function(e){return""+e+" "}))),e},Gc.prototype.formatKeywordUrl=function(e){var t=this.refObj.rawData.keyword,r=(t=(t=Ke(t,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),n=xc(r,"\\-");return e.replace(n,(function(e){return""+e+" "}))},Gc.prototype.renderOutput=function(){this.element.rendered.title.innerHTML=this.output.title,this.element.rendered.urlPath.innerHTML=this.output.cite,this.element.rendered.urlBase.innerHTML=this.output.url,this.element.rendered.metaDesc.innerHTML=this.output.meta},Gc.prototype.renderSnippetStyle=function(){var e=this.element.rendered.metaDesc,t=Wc.call(this);Object(T.isEmpty)(t)?(Dc.addClass(e,"desc-render"),Dc.removeClass(e,"desc-default")):(Dc.addClass(e,"desc-default"),Dc.removeClass(e,"desc-render"))},Gc.prototype.reRender=function(){this.init()},Gc.prototype.checkTextLength=function(e){var t=e.currentTarget.textContent;switch(e.currentTarget.id){case"snippet_meta":e.currentTarget.className="desc",t.length>156&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,156));break;case"snippet_title":e.currentTarget.className="title",t.length>600&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,600))}},Gc.prototype.getUnformattedText=function(e){var t=e.currentTarget.id;void 0!==this.unformattedText[t]&&(e.currentTarget.textContent=this.unformattedText[t])},Gc.prototype.setUnformattedText=function(e){var t=e.currentTarget.id;this.unformattedText[t]=document.getElementById(t).textContent},Gc.prototype.validateFields=function(){var e=Wc.call(this),t=zc.call(this);e.length>156?Dc.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),t.length>600?Dc.addClass(this.element.input.title,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.title,"snippet-editor__field--invalid")},Gc.prototype.updateProgressBars=function(){var e,t,r;r=Wc.call(this),t=function(e){var t;switch(!0){case e>0&&e<=399:case e>600:t="ok";break;case e>=400&&e<=600:t="good";break;default:t="bad"}return t}(this.data.titleWidth),e=function(e){var t;switch(!0){case e>0&&e<120:case e>156:t="ok";break;case e>=120&&e<=156:t="good";break;default:t="bad"}return t}(r.length),qc.call(this,this.element.progress.title,this.data.titleWidth,600,t),qc.call(this,this.element.progress.metaDesc,r.length,156,e)},Gc.prototype.setInitialView=function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(e)},Gc.prototype.handleWindowResizing=Object(T.debounce)((function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(e)}),25),Gc.prototype.bindEvents=function(){var e;Object(T.forEach)(["title","slug","meta-description"],function(t){(e=document.getElementsByClassName("js-snippet-editor-"+t)[0]).addEventListener("keydown",this.changedInput.bind(this)),e.addEventListener("keyup",this.changedInput.bind(this)),e.addEventListener("input",this.changedInput.bind(this)),e.addEventListener("focus",this.changedInput.bind(this)),e.addEventListener("blur",this.changedInput.bind(this))}.bind(this)),this.element.editToggle.addEventListener("click",this.toggleEditor.bind(this)),this.element.closeEditor.addEventListener("click",this.closeEditor.bind(this)),window.addEventListener("resize",this.handleWindowResizing.bind(this)),Object(T.forEach)(Uc,function(e){var t=document.getElementById(e.preview),r=this.element.input[e.inputField];t.addEventListener("click",function(){this.openEditor(),r.focus()}.bind(this)),r.addEventListener("focus",function(){this._currentFocus=e.inputField,this._updateFocusCarets()}.bind(this)),r.addEventListener("blur",function(){this._currentFocus=null,this._updateFocusCarets()}.bind(this)),t.addEventListener("mouseover",function(){this._currentHover=e.inputField,this._updateHoverCarets()}.bind(this)),t.addEventListener("mouseout",function(){this._currentHover=null,this._updateHoverCarets()}.bind(this))}.bind(this))},Gc.prototype.changedInput=Object(T.debounce)((function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()}),25),Gc.prototype.updateDataFromDOM=function(){this.data.title=this.element.input.title.value,this.data.urlPath=this.element.input.urlPath.value,this.data.metaDesc=this.element.input.metaDesc.value,this.opts.callbacks.saveSnippetData(Object(T.clone)(this.data))},Gc.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),Dc.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},Gc.prototype.closeEditor=function(){Dc.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},Gc.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},Gc.prototype._updateFocusCarets=function(){var e,t;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--focus")})),Object(T.forEach)(this.element.preview,(function(e){Dc.removeClass(e,"snippet-editor__container--focus")})),null!==this._currentFocus&&(e=this.element.label[this._currentFocus],t=this.element.preview[this._currentFocus],Dc.addClass(e,"snippet-editor__label--focus"),Dc.addClass(t,"snippet-editor__container--focus"))},Gc.prototype._updateHoverCarets=function(){var e;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--hover")})),null!==this._currentHover&&(e=this.element.label[this._currentHover],Dc.addClass(e,"snippet-editor__label--hover"))},Gc.prototype.setTitle=function(e){this.element.input.title.value=e,this.changedInput()},Gc.prototype.setUrlPath=function(e){this.element.input.urlPath.value=e,this.changedInput()},Gc.prototype.setMetaDescription=function(e){this.element.input.metaDesc.value=e,this.changedInput()},Gc.prototype.createMeasurementElements=function(){var e,t;e=jc({width:document.getElementById("meta_container").offsetWidth+"px",whiteSpace:""}),(t=document.createElement("div")).className="yoast-measurement-elements-holder",t.innerHTML=e,document.body.appendChild(t),this.element.measurers.metaHeight=t.childNodes[0]},Gc.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},Gc.prototype.measureMetaDescription=function(){var e=this.element.measurers.metaHeight;e.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=e.offsetHeight},Gc.prototype.getTitleWidth=function(){return this.data.titleWidth},Gc.prototype.setTitleWidth=function(e){this.data.titleWidth=e},Gc.prototype.hasApp=function(){return!Object(T.isUndefined)(this.refObj)},Gc.prototype.hasPluggable=function(){return!Object(T.isUndefined)(this.refObj)&&!Object(T.isUndefined)(this.refObj.pluggable)},Gc.prototype.disableEnter=function(e){},Gc.prototype.textFeedback=function(e){},Gc.prototype.showEditIcon=function(e){},Gc.prototype.hideEditIcon=function(){},Gc.prototype.setFocus=function(e){};var Yc=Gc,Vc={callbacks:{bindElementEvents:T.noop,updateSnippetValues:T.noop,saveScores:T.noop,saveContentScore:T.noop,updatedContentResults:T.noop,updatedKeywordsResults:T.noop},sampleText:{baseUrl:"example.org/",snippetCite:"example-post/",title:"",keyword:"Choose a focus keyword",meta:"",text:"Start writing your text!"},queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","slugKeyword","urlLength","metaDescription","pageTitleKeyword","pageTitleWidth","firstParagraph","'keywordDoubles"],typeDelay:3e3,typeDelayStep:1500,maxTypeDelay:5e3,dynamicDelay:!0,locale:"en_US",translations:{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}},replaceTarget:[],resetTarget:[],elementTarget:[],marker:T.noop,keywordAnalysisActive:!0,contentAnalysisActive:!0,hasSnippetPreview:!0,debounceRefresh:!0};function Qc(){var e=document.getElementById(this.config.targets.snippet);return new Yc({analyzerApp:this,targetElement:e,callbacks:{saveSnippetData:this.config.callbacks.saveSnippetData}})}function Xc(e){return!Object(T.isUndefined)(e)&&Yc.prototype.isPrototypeOf(e)}var Jc=function(e){Object(T.isObject)(e)||(e={}),Object(T.defaultsDeep)(e,Vc),function(e){if(!Object(T.isObject)(e.callbacks.getData))throw new Mt("The app requires an object with a getdata callback.");if(!Object(T.isObject)(e.targets))throw new Mt("`targets` is a required App argument, `targets` is not an object.");if(e.hasSnippetPreview&&!Xc(e.snippetPreview)&&!Object(T.isString)(e.targets.snippet))throw new Mt("A snippet preview is required. When no SnippetPreview object isn't passed to the App, the `targets.snippet` is a required App argument. `targets.snippet` is not a string.")}(e),this.config=e,!0===e.debouncedRefresh&&(this.refresh=Object(T.debounce)(this.refresh.bind(this),800)),this._pureRefresh=Object(T.throttle)(this._pureRefresh.bind(this),this.config.typeDelay),this.callbacks=this.config.callbacks,Object(_.setLocaleData)(this.config.translations.locale_data["wordpress-seo"],"wordpress-seo"),this.initializeAssessors(e),this.pluggable=new Sc(this),this.getData(),this.defaultOutputElement=this.getDefaultOutputElement(e),""!==this.defaultOutputElement&&this.showLoadingDialog(),Xc(e.snippetPreview)?(this.snippetPreview=e.snippetPreview,this.snippetPreview.refObj!==this&&(this.snippetPreview.refObj=this)):e.hasSnippetPreview&&(this.snippetPreview=Qc.call(this)),this._assessorOptions={useCornerStone:!1},this.initSnippetPreview(),this.initAssessorPresenters()};Jc.prototype.getDefaultOutputElement=function(e){return e.keywordAnalysisActive?e.targets.output:e.contentAnalysisActive?e.targets.contentOutput:""},Jc.prototype.changeAssessorOptions=function(e){this._assessorOptions=Object(T.merge)(this._assessorOptions,e),this.seoAssessor=this.getSeoAssessor(),this.contentAssessor=this.getContentAssessor(),this.initAssessorPresenters(),this.refresh()},Jc.prototype.getSeoAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneSeoAssessor:this.defaultSeoAssessor},Jc.prototype.getContentAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneContentAssessor:this.defaultContentAssessor},Jc.prototype.initializeAssessors=function(e){this.initializeSEOAssessor(e),this.initializeContentAssessor(e)},Jc.prototype.initializeSEOAssessor=function(e){e.keywordAnalysisActive&&(this.defaultSeoAssessor=new ka({marker:this.config.marker}),this.cornerStoneSeoAssessor=new Vl({marker:this.config.marker}),Object(T.isUndefined)(e.seoAssessor)?this.seoAssessor=this.defaultSeoAssessor:this.seoAssessor=e.seoAssessor)},Jc.prototype.initializeContentAssessor=function(e){e.contentAnalysisActive&&(this.defaultContentAssessor=new ja({marker:this.config.marker,locale:this.config.locale}),this.cornerStoneContentAssessor=new Gl({marker:this.config.marker,locale:this.config.locale}),Object(T.isUndefined)(e._contentAssessor)?this.contentAssessor=this.defaultContentAssessor:this.contentAssessor=e._contentAssessor)},Jc.prototype.extendConfig=function(e){return e.sampleText=this.extendSampleText(e.sampleText),e.locale=e.locale||"en_US",e},Jc.prototype.extendSampleText=function(e){var t=Vc.sampleText;if(Object(T.isUndefined)(e))return t;for(var r in e)Object(T.isUndefined)(e[r])&&(e[r]=t[r]);return e},Jc.prototype.registerCustomDataCallback=function(e){this.callbacks.custom||(this.callbacks.custom=[]),Object(T.isFunction)(e)&&this.callbacks.custom.push(e)},Jc.prototype.getData=function(){if(this.rawData=this.callbacks.getData(),Object(T.isArray)(this.callbacks.custom)&&this.callbacks.custom.forEach(e=>{const t=e();this.rawData=Object(T.merge)(this.rawData,t)}),this.hasSnippetPreview()){var e=this.snippetPreview.getAnalyzerData();this.rawData.metaTitle=e.title,this.rawData.url=e.url,this.rawData.meta=e.metaDesc}this.pluggable.loaded&&(this.rawData.metaTitle=this.pluggable._applyModifications("data_page_title",this.rawData.metaTitle),this.rawData.meta=this.pluggable._applyModifications("data_meta_desc",this.rawData.meta)),this.rawData.titleWidth=Pi(this.rawData.metaTitle),this.rawData.locale=this.config.locale},Jc.prototype.refresh=function(){this.pluggable.loaded&&this._pureRefresh()},Jc.prototype._pureRefresh=function(){this.getData(),this.runAnalyzer()},Jc.prototype.hasSnippetPreview=function(){return null!==this.snippetPreview&&!Object(T.isUndefined)(this.snippetPreview)},Jc.prototype.initSnippetPreview=function(){this.hasSnippetPreview()&&(this.snippetPreview.renderTemplate(),this.snippetPreview.callRegisteredEventBinder(),this.snippetPreview.bindEvents(),this.snippetPreview.init())},Jc.prototype.initAssessorPresenters=function(){Object(T.isUndefined)(this.config.targets.output)||(this.seoAssessorPresenter=new Ic({targets:{output:this.config.targets.output},assessor:this.seoAssessor})),Object(T.isUndefined)(this.config.targets.contentOutput)||(this.contentAssessorPresenter=new Ic({targets:{output:this.config.targets.contentOutput},assessor:this.contentAssessor}))},Jc.prototype.bindInputEvent=function(){for(var e=0;ethis.config.typeDelay&&this.config.typeDelay"+t+""+e.status+" "})),r.innerHTML+=" "}},Jc.prototype.removeLoadingDialog=function(){var e=document.getElementById(this.defaultOutputElement),t=document.getElementById("YoastSEO-plugin-loading");""===this.defaultOutputElement||Object(T.isEmpty)(e)||Object(T.isEmpty)(t)||document.getElementById(this.defaultOutputElement).removeChild(document.getElementById("YoastSEO-plugin-loading"))},Jc.prototype.registerPlugin=function(e,t){return this.pluggable._registerPlugin(e,t)},Jc.prototype.pluginReady=function(e){return this.pluggable._ready(e)},Jc.prototype.pluginReloaded=function(e){return this.pluggable._reloaded(e)},Jc.prototype.registerModification=function(e,t,r,n){return this.pluggable._registerModification(e,t,r,n)},Jc.prototype.registerAssessment=function(e,t,r){if(!Object(T.isUndefined)(this.seoAssessor))return this.pluggable._registerAssessment(this.defaultSeoAssessor,e,t,r)&&this.pluggable._registerAssessment(this.cornerStoneSeoAssessor,e,t,r)},Jc.prototype.disableMarkers=function(){Object(T.isUndefined)(this.seoAssessorPresenter)||this.seoAssessorPresenter.disableMarker(),Object(T.isUndefined)(this.contentAssessorPresenter)||this.contentAssessorPresenter.disableMarker()},Jc.prototype._renderAnalysisResults=function(){this.config.contentAnalysisActive&&!Object(T.isUndefined)(this.contentAssessorPresenter)&&this.contentAssessorPresenter.renderIndividualRatings(),this.config.keywordAnalysisActive&&!Object(T.isUndefined)(this.seoAssessorPresenter)&&(this.seoAssessorPresenter.setKeyword(this.paper.getKeyword()),this.seoAssessorPresenter.render())},Jc.prototype.analyzeTimer=function(){this.refresh()},Jc.prototype.registerTest=function(){console.error("This function is deprecated, please use registerAssessment")},Jc.prototype.createSnippetPreview=function(){this.snippetPreview=Qc.call(this),this.initSnippetPreview()},Jc.prototype.switchAssessors=function(e){console.warn("Switch assessor is deprecated since YoastSEO.js version 1.35.0"),this.changeAssessorOptions({useCornerStone:e})};var Zc=Jc;const eu=function(){};eu.prototype.buildMockElement=function(){const e=[];return e.nodeType=1,e},eu.prototype.buildMockResearcher=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return!t||"object"!=typeof e&&"object"!=typeof s&&"object"!=typeof n?{getResearch:function(){return e},getData:function(){return r},getHelper:function(){return s},hasHelper:function(){return e},getConfig:function(){return n},hasConfig:function(t){return!Object(T.isUndefined)(e[t])}}:{getResearch:function(t){return e[t]},hasResearch:function(t){return!Object(T.isUndefined)(e[t])},addResearch:function(t,r){e[t]=r},getData:function(){return r},getHelper:function(e){return s[e]},hasHelper:function(e){return!Object(T.isUndefined)(s[e])},addHelper:function(e,t){s||(s={}),s[e]=t},getConfig:function(e){return n[e]},hasConfig:function(e){return!Object(T.isUndefined)(n[e])},addConfig:function(e,t){n[e]=t}}},eu.prototype.buildMockString=function(e,t){let r="";e=e||"Test ",t=t||1;for(let n=0;n",this.urlTitle,this.urlCallToAction,""),score:1}):void 0},yc.prototype.researchPreviouslyUsedKeywords=function(e){const t=e.getKeyword();let r=0,n="",s=0;return!Object(T.isUndefined)(this.usedKeywords[t])&&this.usedKeywords[t].length>0&&(r=this.usedKeywords[t].length,this.usedKeywordsPostTypes&&(n=this.usedKeywordsPostTypes[t][0]),s=this.usedKeywords[t][0]),{id:s,count:r,postTypeToDisplay:n}},yc.prototype.assess=function(e){var t=this.researchPreviouslyUsedKeywords(e),r=this.scoreAssessment(t,e),n=new yi;return n.setScore(r.score),n.setText(r.text),n};var Ac=yc,Oc=function(e){return e.replace(new RegExp("]*>","g"),"").replace(new RegExp(" ","g"),"")},Cc=function(){const e=Object(_.__)("Content optimization:","wordpress-seo");return{feedback:{className:"na",screenReaderText:Object(_.__)("Feedback","wordpress-seo"),fullText:`${e} ${Object(_.__)("Has feedback","wordpress-seo")}`,screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:Object(_.__)("Needs improvement","wordpress-seo"),fullText:`${e} ${Object(_.__)("Needs improvement","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Needs improvement","wordpress-seo")},ok:{className:"ok",screenReaderText:Object(_.__)("OK SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("OK SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("OK","wordpress-seo")},good:{className:"good",screenReaderText:Object(_.__)("Good SEO score","wordpress-seo"),fullText:`${e} ${Object(_.__)("Good SEO score","wordpress-seo")}`,screenReaderReadabilityText:Object(_.__)("Good","wordpress-seo")}}},wc=function(e){this.app=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};wc.prototype._registerPlugin=function(e,t){return"string"!=typeof e?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(t)||"object"==typeof t?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1)},wc.prototype._ready=function(e){return"string"!=typeof e?(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0)},wc.prototype._reloaded=function(e){return"string"!=typeof e?(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1):Object(T.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.app.refresh(),!0)},wc.prototype._registerModification=function(e,t,r,n){if("string"!=typeof e)return console.error("Failed to register modification for plugin "+r+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof t)return console.error("Failed to register modification for plugin "+r+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof r)return console.error("Failed to register modification for plugin "+r+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(r))return console.error("Failed to register modification for plugin "+r+". The integration has not finished loading yet."),!1;var s={callable:t,origin:r,priority:"number"==typeof n?n:10};return Object(T.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(s),!0},wc.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},wc.prototype._registerAssessment=function(e,t,r,n){if(!Object(T.isString)(t))throw new Dt("Failed to register test for plugin "+n+". Expected parameter `name` to be a string.");if(!Object(T.isObject)(r))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `assessment` to be a function.");if(!Object(T.isString)(n))throw new Dt("Failed to register assessment for plugin "+n+". Expected parameter `pluginName` to be a string.");return t=n+"-"+t,e.addAssessment(t,r),!0},wc.prototype._pollLoadingPlugins=function(e){e=Object(T.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.app.pluginsLoaded()):e>=this.preloadThreshold?this._pollTimeExceeded():(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))},wc.prototype._allReady=function(){return Object(T.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)},wc.prototype._pollTimeExceeded=function(){Object(T.forEach)(this.plugins,(function(e,t){Object(T.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])})),this.loaded=!0,this.app.pluginsLoaded()},wc.prototype._applyModifications=function(e,t,r){var n=this.modifications[e];return n instanceof Array&&n.length>0&&((n=this._stripIllegalModifications(n)).sort((function(e,t){return e.priority-t.priority})),Object(T.forEach)(n,(function(n){var s=(0,n.callable)(t,r);typeof s==typeof t?t=s:console.error("Modification with name "+e+" performed by plugin with name "+n.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t},wc.prototype._addPluginTests=function(e){this.customTests.map((function(t){this._addPluginTest(e,t)}),this)},wc.prototype._addPluginTest=function(e,t){e.addAnalysis({name:t.name,callable:t.analysis}),e.analyzeScorer.addScoring({name:t.name,scoring:t.scoring})},wc.prototype._stripIllegalModifications=function(e){return Object(T.forEach)(e,function(t,r){!1===this._validateOrigin(t.origin)&&delete e[r]}.bind(this)),e},wc.prototype._validateOrigin=function(e){return"ready"===this.plugins[e].status},wc.prototype._validateUniqueness=function(e){return!!Object(T.isUndefined)(this.plugins[e])};var Sc=wc,kc=r(70),Nc=r.n(kc),Rc=function(e){this.keyword=e.keyword,this.assessor=e.assessor,this.output=e.targets.output,this.overall=e.targets.overall||"overallScore",this.presenterConfig=Cc(),this._disableMarkerButtons=!1,this._activeMarker=!1};Rc.prototype.setKeyword=function(e){this.keyword=e},Rc.prototype.configHasProperty=function(e){return this.presenterConfig.hasOwnProperty(e)},Rc.prototype.getIndicator=function(e){return{className:this.getIndicatorColorClass(e),screenReaderText:this.getIndicatorScreenReaderText(e),fullText:this.getIndicatorFullText(e),screenReaderReadabilityText:this.getIndicatorScreenReaderReadabilityText(e)}},Rc.prototype.getIndicatorColorClass=function(e){return this.configHasProperty(e)?this.presenterConfig[e].className:""},Rc.prototype.getIndicatorScreenReaderText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderText:""},Rc.prototype.getIndicatorScreenReaderReadabilityText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].screenReaderReadabilityText:""},Rc.prototype.getIndicatorFullText=function(e){return this.configHasProperty(e)?this.presenterConfig[e].fullText:""},Rc.prototype.resultToRating=function(e){return Object(T.isObject)(e)?(e.rating=Pa(e.score),e):""},Rc.prototype.getIndividualRatings=function(){var e={},t=this.sort(this.assessor.getValidResults()).map(this.resultToRating);return Object(T.forEach)(t,function(t,r){e[r]=this.addRating(t)}.bind(this)),e},Rc.prototype.excludeFromResults=function(e,t){return Object(T.difference)(e,t)},Rc.prototype.sort=function(e){var t=this.getUndefinedScores(e),r=this.excludeFromResults(e,t);return r.sort((function(e,t){return e.score-t.score})),t.concat(r)},Rc.prototype.getUndefinedScores=function(e){return e.filter((function(e){return Object(T.isUndefined)(e.score)||0===e.score}))},Rc.prototype.addRating=function(e){var t=this.getIndicator(e.rating);return t.text=e.text,t.identifier=e.getIdentifier(),e.hasMarker()&&(t.marker=e.getMarker()),t},Rc.prototype.getOverallRating=function(e){var t=0;return""===this.keyword||Object(T.isNumber)(e)&&(t=e/10),this.resultToRating({score:t})},Rc.prototype.markAssessment=function(e,t){this._activeMarker===e?(this.removeAllMarks(),this._activeMarker=!1):(t(),this._activeMarker=e),this.render()},Rc.prototype.disableMarker=function(){this._activeMarker=!1,this.render()},Rc.prototype.disableMarkerButtons=function(){this._disableMarkerButtons=!0,this.render()},Rc.prototype.enableMarkerButtons=function(){this._disableMarkerButtons=!1,this.render()},Rc.prototype.addMarkerEventHandler=function(e,t){document.getElementById(this.output).getElementsByClassName("js-assessment-results__mark-"+e)[0].addEventListener("click",this.markAssessment.bind(this,e,t))},Rc.prototype.render=function(){this.renderIndividualRatings(),this.renderOverallRating()},Rc.prototype.bindMarkButtons=function(e){Object(T.forEach)(e,function(e){e.hasOwnProperty("marker")&&this.addMarkerEventHandler(e.identifier,e.marker)}.bind(this))},Rc.prototype.removeAllMarks=function(){this.assessor.getSpecificMarker()(this.assessor.getPaper(),[])},Rc.prototype.renderIndividualRatings=function(){var e=document.getElementById(this.output),t=this.getIndividualRatings();e.innerHTML=Object(kc.assessmentPresenterResult)({scores:t,i18n:{disabledMarkText:Object(_.__)("Marks are disabled in current view","wordpress-seo"),markInText:Object(_.__)("Mark this result in the text","wordpress-seo"),removeMarksInText:Object(_.__)("Remove marks in the text","wordpress-seo")},activeMarker:this._activeMarker,markerButtonsDisabled:this._disableMarkerButtons}),this.bindMarkButtons(t)},Rc.prototype.renderOverallRating=function(){var e=this.getOverallRating(this.assessor.calculateOverallScore()),t=document.getElementById(this.overall);t&&(t.className="overallScore "+this.getIndicatorColorClass(e.rating))};var Ic=Rc,xc=Object(T.memoize)((function(e,t,r){return Object(T.isUndefined)(t)&&(t=""),(Object(T.isUndefined)(r)||!0===r)&&(e=y(e)),e=Et(e),e=Object(T.escapeRegExp)(e),e=qe(e,!1,t),new RegExp(e,"ig")})),Dc={hasClass:function(e,t){return e.className.indexOf(t)>-1},addClass:function(e,t){var r=e.className.split(" ");-1===r.indexOf(t)&&r.push(t),e.className=r.join(" ")},removeClass:function(e,t){var r=e.className.split(" "),n=r.indexOf(t);-1!==n&&r.splice(n,1),e.className=r.join(" ")},removeClasses:function(e,t){Object(T.forEach)(t,this.removeClass.bind(null,e))}},Lc={desktop:"snippet-editor__view--desktop",mobile:"snippet-editor__view--mobile"},Mc=function(e,t){this.previewMode=e,this.previewToggles=t,this.viewElement=document.getElementById("snippet-preview-view")};Mc.prototype.initialize=function(){this._setPreviewMode(this.previewMode,this._findElementByMode(this.previewMode))},Mc.prototype.bindClickEvent=function(e){e.addEventListener("click",function(){this._setPreviewMode(e.getAttribute("data-type"),e),this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseleaveEvent=function(e){e.addEventListener("mouseleave",function(){this.removeTooltipAbility(e)}.bind(this))},Mc.prototype.bindBlurEvent=function(e){e.addEventListener("blur",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindMouseenterEvent=function(e){e.addEventListener("mouseenter",function(){this.restoreTooltipAbility(e)}.bind(this))},Mc.prototype.bindEvents=function(){Object(T.forEach)(this.previewToggles,function(e){this.bindClickEvent(e),this.bindMouseleaveEvent(e),this.bindBlurEvent(e),this.bindMouseenterEvent(e)}.bind(this))},Mc.prototype._findElementByMode=function(e){return document.getElementsByClassName("snippet-editor__view-icon-"+e)[0]},Mc.prototype._setPreviewMode=function(e,t){this._removeActiveStates(),this._setActiveState(t),Dc.removeClass(this.viewElement,Lc[this.previewMode]),Dc.addClass(this.viewElement,Lc[e]),this.previewMode=e},Mc.prototype.setDesktopMode=function(){this._setPreviewMode("desktop",this._findElementByMode("desktop"))},Mc.prototype.setMobileMode=function(){this._setPreviewMode("mobile",this._findElementByMode("mobile"))},Mc.prototype.setVisibility=function(e){e<640?(this.setMobileMode(),Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")):this.setDesktopMode()},Mc.prototype.setScrollHintVisibility=function(e){Dc.removeClass(this.viewElement,"snippet-editor__view--desktop-has-scroll"),e<640&&Dc.addClass(this.viewElement,"snippet-editor__view--desktop-has-scroll")},Mc.prototype._removeActiveStates=function(){Object(T.forEach)(this.previewToggles,this._removeActiveState.bind(this))},Mc.prototype._removeActiveState=function(e){Dc.removeClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.removeClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","false")},Mc.prototype.removeTooltipAbility=function(e){Dc.addClass(e,"yoast-tooltip-hidden")},Mc.prototype.restoreTooltipAbility=function(e){Dc.removeClass(e,"yoast-tooltip-hidden")},Mc.prototype._setActiveState=function(e){Dc.addClass(e,"snippet-editor__view-icon-"+e.getAttribute("data-type")+"--active"),Dc.addClass(e,"snippet-editor__view-icon--active"),e.setAttribute("aria-pressed","true")};var Pc=Mc,Fc=Nc.a.snippetEditor,jc=Nc.a.hiddenSpan,Bc={data:{title:"",metaDesc:"",urlPath:"",titleWidth:0,metaHeight:0},placeholder:{title:"",metaDesc:"",urlPath:"example-post/"},defaultValue:{title:"",metaDesc:""},baseURL:"http://example.com/",callbacks:{saveSnippetData:function(){}},addTrailingSlash:!0,metaDescriptionDate:"",previewMode:"desktop"},Uc=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],Hc=function(){var e=this.opts.baseURL;return this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===Bc.baseURL&&(e=this.refObj.rawData.baseUrl),e};function $c(e){return this.data[e]}function Kc(e,t){this.element.input[e].value=t,this.data[e]=t}function qc(e,t,r,n){var s;e.value=t,Dc.removeClasses(e,["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"]),Dc.addClass(e,"snippet-editor__progress--"+n),this.hasProgressSupport||(s=t/r*100,e.getElementsByClassName("snippet-editor__progress-bar")[0].style.width=s+"%")}var Gc=function(e){if(Object(T.defaultsDeep)(e,Bc),this.data=e.data,Object(T.isUndefined)(e.analyzerApp)||(this.refObj=e.analyzerApp,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},Object(T.isEmpty)(this.refObj.rawData.metaTitle)||(e.placeholder.title=this.refObj.rawData.metaTitle)),!Object(T.isElement)(e.targetElement))throw new Error("The snippet preview requires a valid target element");this.opts=e,this._currentFocus=null,this._currentHover=null,this.unformattedText={},Object.defineProperty(this.unformattedText,"snippet_cite",{get:$c.bind(this,"urlPath"),set:Kc.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:$c.bind(this,"metaDesc"),set:Kc.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:$c.bind(this,"title"),set:Kc.bind(this,"title")})};function zc(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),Ve(e)}Gc.prototype.renderTemplate=function(){var e,t=this.opts.targetElement;t.innerHTML=Fc({raw:{title:this.data.title,snippetCite:this.data.urlPath,meta:this.data.metaDesc},rendered:{title:this.formatTitle(),baseUrl:this.formatUrl(),snippetCite:this.formatCite(),meta:this.formatMeta()},metaDescriptionDate:this.opts.metaDescriptionDate,placeholder:this.opts.placeholder,i18n:{edit:Object(_.__)("Edit snippet","wordpress-seo"),title:Object(_.__)("SEO title","wordpress-seo"),slug:Object(_.__)("Slug","wordpress-seo"),metaDescription:Object(_.__)("Meta description","wordpress-seo"),save:Object(_.__)("Close snippet editor","wordpress-seo"),snippetPreview:Object(_.__)("Search appearance","wordpress-seo"),titleLabel:Object(_.__)("SEO title preview:","wordpress-seo"),slugLabel:Object(_.__)("Slug preview:","wordpress-seo"),metaDescriptionLabel:Object(_.__)("Meta description preview:","wordpress-seo"),snippetPreviewDescription:Object(_.__)("You can click on each element in the preview to jump to the Snippet Editor.","wordpress-seo"),desktopPreviewMode:Object(_.__)("Desktop preview","wordpress-seo"),mobilePreviewMode:Object(_.__)("Mobile preview","wordpress-seo"),isScrollableHint:Object(_.__)("Scroll to see the preview content.","wordpress-seo")}}),this.element={measurers:{metaHeight:null},rendered:{title:document.getElementById("snippet_title"),urlBase:document.getElementById("snippet_citeBase"),urlPath:document.getElementById("snippet_cite"),metaDesc:document.getElementById("snippet_meta")},input:{title:t.getElementsByClassName("js-snippet-editor-title")[0],urlPath:t.getElementsByClassName("js-snippet-editor-slug")[0],metaDesc:t.getElementsByClassName("js-snippet-editor-meta-description")[0]},progress:{title:t.getElementsByClassName("snippet-editor__progress-title")[0],metaDesc:t.getElementsByClassName("snippet-editor__progress-meta-description")[0]},container:document.getElementById("snippet_preview"),formContainer:t.getElementsByClassName("snippet-editor__form")[0],editToggle:t.getElementsByClassName("snippet-editor__edit-button")[0],closeEditor:t.getElementsByClassName("snippet-editor__submit")[0],formFields:t.getElementsByClassName("snippet-editor__form-field")},this.element.label={title:this.element.input.title.parentNode,urlPath:this.element.input.urlPath.parentNode,metaDesc:this.element.input.metaDesc.parentNode},this.element.preview={title:this.element.rendered.title.parentNode,urlPath:this.element.rendered.urlPath.parentNode,metaDesc:this.element.rendered.metaDesc.parentNode},this.hasProgressSupport=(e=document.createElement("progress"),!Object(T.isUndefined)(e.max)),this.hasProgressSupport?(this.element.progress.title.max=600,this.element.progress.metaDesc.max=156):Object(T.forEach)(this.element.progress,(function(e){Dc.addClass(e,"snippet-editor__progress--fallback")})),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},Gc.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new Pc(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},Gc.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var Wc=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),Object(T.isEmpty)(this.opts.metaDescriptionDate)||Object(T.isEmpty)(e)||(e=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),Ve(e)};Gc.prototype.getAnalyzerData=function(){return{title:zc.call(this),url:this.data.urlPath,metaDesc:Wc.call(this)}},Gc.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},Gc.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},Gc.prototype.htmlOutput=function(){var e={};return e.title=this.formatTitle(),e.cite=this.formatCite(),e.meta=this.formatMeta(),e.url=this.formatUrl(),e},Gc.prototype.formatTitle=function(){var e=this.data.title;return Object(T.isEmpty)(e)&&(e=this.opts.defaultValue.title),Object(T.isEmpty)(e)&&(e=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_page_title",e)),e=mt(e),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide an SEO title by editing the snippet below.","wordpress-seo")),e},Gc.prototype.formatUrl=function(){return Hc.call(this).replace(/http:\/\//gi,"")},Gc.prototype.formatCite=function(){var e,t=this.data.urlPath;return t=y(mt(t)),Object(T.isEmpty)(t)&&(t=this.opts.placeholder.urlPath),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(t=this.formatKeywordUrl(t)),this.opts.addTrailingSlash&&(e=t).indexOf("/")!==e.length-1&&(t+="/"),(t=t.replace(/\s/g,"-")).replace(/\?|#/g,"")},Gc.prototype.formatMeta=function(){var e=this.data.metaDesc;return Object(T.isEmpty)(e)&&(e=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("data_meta_desc",e)),e=(e=mt(e)).substring(0,156),this.hasApp()&&!Object(T.isEmpty)(this.refObj.rawData.keyword)&&(e=this.formatKeyword(e)),Object(T.isEmpty)(e)&&(e=Object(_.__)("Please provide a meta description by editing the snippet below.","wordpress-seo")),e},Gc.prototype.getMetaText=function(){var e=this.opts.defaultValue.metaDesc;return this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.excerpt)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.excerpt),this.hasApp()&&!Object(T.isUndefined)(this.refObj.rawData.text)&&Object(T.isEmpty)(e)&&(e=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(e=this.refObj.pluggable._applyModifications("content",e))),(e=mt(e)).substring(0,156)},Gc.prototype.getIndexMatches=function(){for(var e=[],t=0,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);r>-1;)e.push(r),t=r+this.refObj.rawData.keyword.length,r=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,t);return e},Gc.prototype.getPeriodMatches=function(){for(var e,t=[0],r=0;(e=this.refObj.rawData.text.indexOf(".",r))>-1;)t.push(e),r=e+1;return t},Gc.prototype.formatKeyword=function(e){var t=this.refObj.rawData.keyword,r=xc(t,"",!1);e=e.replace(r,(function(e){return""+e+" "}));var n=Ke(t,this.refObj.rawData.locale);return n!==t&&(r=xc(n,"",!1),e=e.replace(r,(function(e){return""+e+" "}))),e},Gc.prototype.formatKeywordUrl=function(e){var t=this.refObj.rawData.keyword,r=(t=(t=Ke(t,this.refObj.rawData.locale)).replace(/'/,"")).replace(/\s/g,"-"),n=xc(r,"\\-");return e.replace(n,(function(e){return""+e+" "}))},Gc.prototype.renderOutput=function(){this.element.rendered.title.innerHTML=this.output.title,this.element.rendered.urlPath.innerHTML=this.output.cite,this.element.rendered.urlBase.innerHTML=this.output.url,this.element.rendered.metaDesc.innerHTML=this.output.meta},Gc.prototype.renderSnippetStyle=function(){var e=this.element.rendered.metaDesc,t=Wc.call(this);Object(T.isEmpty)(t)?(Dc.addClass(e,"desc-render"),Dc.removeClass(e,"desc-default")):(Dc.addClass(e,"desc-default"),Dc.removeClass(e,"desc-render"))},Gc.prototype.reRender=function(){this.init()},Gc.prototype.checkTextLength=function(e){var t=e.currentTarget.textContent;switch(e.currentTarget.id){case"snippet_meta":e.currentTarget.className="desc",t.length>156&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,156));break;case"snippet_title":e.currentTarget.className="title",t.length>600&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=e.currentTarget.textContent,e.currentTarget.textContent=t.substring(0,600))}},Gc.prototype.getUnformattedText=function(e){var t=e.currentTarget.id;void 0!==this.unformattedText[t]&&(e.currentTarget.textContent=this.unformattedText[t])},Gc.prototype.setUnformattedText=function(e){var t=e.currentTarget.id;this.unformattedText[t]=document.getElementById(t).textContent},Gc.prototype.validateFields=function(){var e=Wc.call(this),t=zc.call(this);e.length>156?Dc.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),t.length>600?Dc.addClass(this.element.input.title,"snippet-editor__field--invalid"):Dc.removeClass(this.element.input.title,"snippet-editor__field--invalid")},Gc.prototype.updateProgressBars=function(){var e,t,r;r=Wc.call(this),t=function(e){var t;switch(!0){case e>0&&e<=399:case e>600:t="ok";break;case e>=400&&e<=600:t="good";break;default:t="bad"}return t}(this.data.titleWidth),e=function(e){var t;switch(!0){case e>0&&e<120:case e>156:t="ok";break;case e>=120&&e<=156:t="good";break;default:t="bad"}return t}(r.length),qc.call(this,this.element.progress.title,this.data.titleWidth,600,t),qc.call(this,this.element.progress.metaDesc,r.length,156,e)},Gc.prototype.setInitialView=function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(e)},Gc.prototype.handleWindowResizing=Object(T.debounce)((function(){var e=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(e)}),25),Gc.prototype.bindEvents=function(){var e;Object(T.forEach)(["title","slug","meta-description"],function(t){(e=document.getElementsByClassName("js-snippet-editor-"+t)[0]).addEventListener("keydown",this.changedInput.bind(this)),e.addEventListener("keyup",this.changedInput.bind(this)),e.addEventListener("input",this.changedInput.bind(this)),e.addEventListener("focus",this.changedInput.bind(this)),e.addEventListener("blur",this.changedInput.bind(this))}.bind(this)),this.element.editToggle.addEventListener("click",this.toggleEditor.bind(this)),this.element.closeEditor.addEventListener("click",this.closeEditor.bind(this)),window.addEventListener("resize",this.handleWindowResizing.bind(this)),Object(T.forEach)(Uc,function(e){var t=document.getElementById(e.preview),r=this.element.input[e.inputField];t.addEventListener("click",function(){this.openEditor(),r.focus()}.bind(this)),r.addEventListener("focus",function(){this._currentFocus=e.inputField,this._updateFocusCarets()}.bind(this)),r.addEventListener("blur",function(){this._currentFocus=null,this._updateFocusCarets()}.bind(this)),t.addEventListener("mouseover",function(){this._currentHover=e.inputField,this._updateHoverCarets()}.bind(this)),t.addEventListener("mouseout",function(){this._currentHover=null,this._updateHoverCarets()}.bind(this))}.bind(this))},Gc.prototype.changedInput=Object(T.debounce)((function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()}),25),Gc.prototype.updateDataFromDOM=function(){this.data.title=this.element.input.title.value,this.data.urlPath=this.element.input.urlPath.value,this.data.metaDesc=this.element.input.metaDesc.value,this.opts.callbacks.saveSnippetData(Object(T.clone)(this.data))},Gc.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),Dc.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},Gc.prototype.closeEditor=function(){Dc.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},Gc.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},Gc.prototype._updateFocusCarets=function(){var e,t;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--focus")})),Object(T.forEach)(this.element.preview,(function(e){Dc.removeClass(e,"snippet-editor__container--focus")})),null!==this._currentFocus&&(e=this.element.label[this._currentFocus],t=this.element.preview[this._currentFocus],Dc.addClass(e,"snippet-editor__label--focus"),Dc.addClass(t,"snippet-editor__container--focus"))},Gc.prototype._updateHoverCarets=function(){var e;Object(T.forEach)(this.element.label,(function(e){Dc.removeClass(e,"snippet-editor__label--hover")})),null!==this._currentHover&&(e=this.element.label[this._currentHover],Dc.addClass(e,"snippet-editor__label--hover"))},Gc.prototype.setTitle=function(e){this.element.input.title.value=e,this.changedInput()},Gc.prototype.setUrlPath=function(e){this.element.input.urlPath.value=e,this.changedInput()},Gc.prototype.setMetaDescription=function(e){this.element.input.metaDesc.value=e,this.changedInput()},Gc.prototype.createMeasurementElements=function(){var e,t;e=jc({width:document.getElementById("meta_container").offsetWidth+"px",whiteSpace:""}),(t=document.createElement("div")).className="yoast-measurement-elements-holder",t.innerHTML=e,document.body.appendChild(t),this.element.measurers.metaHeight=t.childNodes[0]},Gc.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},Gc.prototype.measureMetaDescription=function(){var e=this.element.measurers.metaHeight;e.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=e.offsetHeight},Gc.prototype.getTitleWidth=function(){return this.data.titleWidth},Gc.prototype.setTitleWidth=function(e){this.data.titleWidth=e},Gc.prototype.hasApp=function(){return!Object(T.isUndefined)(this.refObj)},Gc.prototype.hasPluggable=function(){return!Object(T.isUndefined)(this.refObj)&&!Object(T.isUndefined)(this.refObj.pluggable)},Gc.prototype.disableEnter=function(e){},Gc.prototype.textFeedback=function(e){},Gc.prototype.showEditIcon=function(e){},Gc.prototype.hideEditIcon=function(){},Gc.prototype.setFocus=function(e){};var Yc=Gc,Vc={callbacks:{bindElementEvents:T.noop,updateSnippetValues:T.noop,saveScores:T.noop,saveContentScore:T.noop,updatedContentResults:T.noop,updatedKeywordsResults:T.noop},sampleText:{baseUrl:"example.org/",snippetCite:"example-post/",title:"",keyword:"Choose a focus keyword",meta:"",text:"Start writing your text!"},queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","slugKeyword","urlLength","metaDescription","pageTitleKeyword","pageTitleWidth","firstParagraph","'keywordDoubles"],typeDelay:3e3,typeDelayStep:1500,maxTypeDelay:5e3,dynamicDelay:!0,locale:"en_US",translations:{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}},replaceTarget:[],resetTarget:[],elementTarget:[],marker:T.noop,keywordAnalysisActive:!0,contentAnalysisActive:!0,hasSnippetPreview:!0,debounceRefresh:!0};function Qc(){var e=document.getElementById(this.config.targets.snippet);return new Yc({analyzerApp:this,targetElement:e,callbacks:{saveSnippetData:this.config.callbacks.saveSnippetData}})}function Xc(e){return!Object(T.isUndefined)(e)&&Yc.prototype.isPrototypeOf(e)}var Jc=function(e){Object(T.isObject)(e)||(e={}),Object(T.defaultsDeep)(e,Vc),function(e){if(!Object(T.isObject)(e.callbacks.getData))throw new Mt("The app requires an object with a getdata callback.");if(!Object(T.isObject)(e.targets))throw new Mt("`targets` is a required App argument, `targets` is not an object.");if(e.hasSnippetPreview&&!Xc(e.snippetPreview)&&!Object(T.isString)(e.targets.snippet))throw new Mt("A snippet preview is required. When no SnippetPreview object isn't passed to the App, the `targets.snippet` is a required App argument. `targets.snippet` is not a string.")}(e),this.config=e,!0===e.debouncedRefresh&&(this.refresh=Object(T.debounce)(this.refresh.bind(this),800)),this._pureRefresh=Object(T.throttle)(this._pureRefresh.bind(this),this.config.typeDelay),this.callbacks=this.config.callbacks,Object(_.setLocaleData)(this.config.translations.locale_data["wordpress-seo"],"wordpress-seo"),this.initializeAssessors(e),this.pluggable=new Sc(this),this.getData(),this.defaultOutputElement=this.getDefaultOutputElement(e),""!==this.defaultOutputElement&&this.showLoadingDialog(),Xc(e.snippetPreview)?(this.snippetPreview=e.snippetPreview,this.snippetPreview.refObj!==this&&(this.snippetPreview.refObj=this)):e.hasSnippetPreview&&(this.snippetPreview=Qc.call(this)),this._assessorOptions={useCornerStone:!1},this.initSnippetPreview(),this.initAssessorPresenters()};Jc.prototype.getDefaultOutputElement=function(e){return e.keywordAnalysisActive?e.targets.output:e.contentAnalysisActive?e.targets.contentOutput:""},Jc.prototype.changeAssessorOptions=function(e){this._assessorOptions=Object(T.merge)(this._assessorOptions,e),this.seoAssessor=this.getSeoAssessor(),this.contentAssessor=this.getContentAssessor(),this.initAssessorPresenters(),this.refresh()},Jc.prototype.getSeoAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneSeoAssessor:this.defaultSeoAssessor},Jc.prototype.getContentAssessor=function(){const{useCornerStone:e}=this._assessorOptions;return e?this.cornerStoneContentAssessor:this.defaultContentAssessor},Jc.prototype.initializeAssessors=function(e){this.initializeSEOAssessor(e),this.initializeContentAssessor(e)},Jc.prototype.initializeSEOAssessor=function(e){e.keywordAnalysisActive&&(this.defaultSeoAssessor=new ka({marker:this.config.marker}),this.cornerStoneSeoAssessor=new Vl({marker:this.config.marker}),Object(T.isUndefined)(e.seoAssessor)?this.seoAssessor=this.defaultSeoAssessor:this.seoAssessor=e.seoAssessor)},Jc.prototype.initializeContentAssessor=function(e){e.contentAnalysisActive&&(this.defaultContentAssessor=new ja({marker:this.config.marker,locale:this.config.locale}),this.cornerStoneContentAssessor=new Gl({marker:this.config.marker,locale:this.config.locale}),Object(T.isUndefined)(e._contentAssessor)?this.contentAssessor=this.defaultContentAssessor:this.contentAssessor=e._contentAssessor)},Jc.prototype.extendConfig=function(e){return e.sampleText=this.extendSampleText(e.sampleText),e.locale=e.locale||"en_US",e},Jc.prototype.extendSampleText=function(e){var t=Vc.sampleText;if(Object(T.isUndefined)(e))return t;for(var r in e)Object(T.isUndefined)(e[r])&&(e[r]=t[r]);return e},Jc.prototype.registerCustomDataCallback=function(e){this.callbacks.custom||(this.callbacks.custom=[]),Object(T.isFunction)(e)&&this.callbacks.custom.push(e)},Jc.prototype.getData=function(){if(this.rawData=this.callbacks.getData(),Object(T.isArray)(this.callbacks.custom)&&this.callbacks.custom.forEach(e=>{const t=e();this.rawData=Object(T.merge)(this.rawData,t)}),this.hasSnippetPreview()){var e=this.snippetPreview.getAnalyzerData();this.rawData.metaTitle=e.title,this.rawData.url=e.url,this.rawData.meta=e.metaDesc}this.pluggable.loaded&&(this.rawData.metaTitle=this.pluggable._applyModifications("data_page_title",this.rawData.metaTitle),this.rawData.meta=this.pluggable._applyModifications("data_meta_desc",this.rawData.meta)),this.rawData.titleWidth=xi(this.rawData.metaTitle),this.rawData.locale=this.config.locale},Jc.prototype.refresh=function(){this.pluggable.loaded&&this._pureRefresh()},Jc.prototype._pureRefresh=function(){this.getData(),this.runAnalyzer()},Jc.prototype.hasSnippetPreview=function(){return null!==this.snippetPreview&&!Object(T.isUndefined)(this.snippetPreview)},Jc.prototype.initSnippetPreview=function(){this.hasSnippetPreview()&&(this.snippetPreview.renderTemplate(),this.snippetPreview.callRegisteredEventBinder(),this.snippetPreview.bindEvents(),this.snippetPreview.init())},Jc.prototype.initAssessorPresenters=function(){Object(T.isUndefined)(this.config.targets.output)||(this.seoAssessorPresenter=new Ic({targets:{output:this.config.targets.output},assessor:this.seoAssessor})),Object(T.isUndefined)(this.config.targets.contentOutput)||(this.contentAssessorPresenter=new Ic({targets:{output:this.config.targets.contentOutput},assessor:this.contentAssessor}))},Jc.prototype.bindInputEvent=function(){for(var e=0;ethis.config.typeDelay&&this.config.typeDelay"+t+""+e.status+" "})),r.innerHTML+=" "}},Jc.prototype.removeLoadingDialog=function(){var e=document.getElementById(this.defaultOutputElement),t=document.getElementById("YoastSEO-plugin-loading");""===this.defaultOutputElement||Object(T.isEmpty)(e)||Object(T.isEmpty)(t)||document.getElementById(this.defaultOutputElement).removeChild(document.getElementById("YoastSEO-plugin-loading"))},Jc.prototype.registerPlugin=function(e,t){return this.pluggable._registerPlugin(e,t)},Jc.prototype.pluginReady=function(e){return this.pluggable._ready(e)},Jc.prototype.pluginReloaded=function(e){return this.pluggable._reloaded(e)},Jc.prototype.registerModification=function(e,t,r,n){return this.pluggable._registerModification(e,t,r,n)},Jc.prototype.registerAssessment=function(e,t,r){if(!Object(T.isUndefined)(this.seoAssessor))return this.pluggable._registerAssessment(this.defaultSeoAssessor,e,t,r)&&this.pluggable._registerAssessment(this.cornerStoneSeoAssessor,e,t,r)},Jc.prototype.disableMarkers=function(){Object(T.isUndefined)(this.seoAssessorPresenter)||this.seoAssessorPresenter.disableMarker(),Object(T.isUndefined)(this.contentAssessorPresenter)||this.contentAssessorPresenter.disableMarker()},Jc.prototype._renderAnalysisResults=function(){this.config.contentAnalysisActive&&!Object(T.isUndefined)(this.contentAssessorPresenter)&&this.contentAssessorPresenter.renderIndividualRatings(),this.config.keywordAnalysisActive&&!Object(T.isUndefined)(this.seoAssessorPresenter)&&(this.seoAssessorPresenter.setKeyword(this.paper.getKeyword()),this.seoAssessorPresenter.render())},Jc.prototype.analyzeTimer=function(){this.refresh()},Jc.prototype.registerTest=function(){console.error("This function is deprecated, please use registerAssessment")},Jc.prototype.createSnippetPreview=function(){this.snippetPreview=Qc.call(this),this.initSnippetPreview()},Jc.prototype.switchAssessors=function(e){console.warn("Switch assessor is deprecated since YoastSEO.js version 1.35.0"),this.changeAssessorOptions({useCornerStone:e})};var Zc=Jc;const eu=function(){};eu.prototype.buildMockElement=function(){const e=[];return e.nodeType=1,e},eu.prototype.buildMockResearcher=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return!t||"object"!=typeof e&&"object"!=typeof s&&"object"!=typeof n?{getResearch:function(){return e},getData:function(){return r},getHelper:function(){return s},hasHelper:function(){return e},getConfig:function(){return n},hasConfig:function(t){return!Object(T.isUndefined)(e[t])}}:{getResearch:function(t){return e[t]},hasResearch:function(t){return!Object(T.isUndefined)(e[t])},addResearch:function(t,r){e[t]=r},getData:function(){return r},getHelper:function(e){return s[e]},hasHelper:function(e){return!Object(T.isUndefined)(s[e])},addHelper:function(e,t){s||(s={}),s[e]=t},getConfig:function(e){return n[e]},hasConfig:function(e){return!Object(T.isUndefined)(n[e])},addConfig:function(e,t){n[e]=t}}},eu.prototype.buildMockString=function(e,t){let r="";e=e||"Test ",t=t||1;for(let n=0;n","","Yoast SEO Premium"),{nowrap:Object(s.createElement)("span",{className:"yst-whitespace-nowrap"})});return Object(s.createElement)("div",{className:"yst-p-6 yst-rounded-lg yst-text-white yst-bg-primary-500 yst-shadow"},Object(s.createElement)("figure",{className:"yst-logo-square yst-w-16 yst-h-16 yst-mt-[-2.6rem] yst-mx-auto yst-overflow-hidden yst-border yst-border-white yst-rounded-xl yst-rounded-br-none"},Object(s.createElement)(z,null)),Object(s.createElement)(r.Title,{as:"h2",className:"yst-mt-6 yst-text-base yst-font-extrabold yst-text-white"},o),Object(s.createElement)("p",{className:"yst-mt-2"},a),Object(s.createElement)(r.Button,y()({as:"a",variant:"upsell",href:t,target:"_blank",rel:"noopener",className:"yst-flex yst-justify-center yst-gap-2 yst-mt-4 focus:yst-ring-offset-primary-500"},n),Object(s.createElement)("span",null,o),Object(s.createElement)(I.a,{className:"yst-w-4 yst-h-4 yst-icon-rtl"})),Object(s.createElement)("a",{className:"yst-block yst-mt-4 yst-no-underline",href:"https://www.g2.com/products/yoast-yoast/reviews",target:"_blank",rel:"noopener noreferrer"},Object(s.createElement)("span",{className:"yst-font-medium yst-text-white hover:yst-underline"},Object(i.__)("Read reviews from real users","wordpress-seo")),Object(s.createElement)("span",{className:"yst-flex yst-gap-2 yst-mt-2 yst-items-center"},Object(s.createElement)(f,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)("span",{className:"yst-flex yst-gap-1"},Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(L,{className:"yst-w-5 yst-h-5"}),Object(s.createElement)(D,{className:"yst-w-5 yst-h-5"})),Object(s.createElement)("span",{className:"yst-text-sm yst-font-semibold yst-text-white"},"4.6 / 5"))))};$.propTypes={link:o.a.string.isRequired,linkProps:o.a.object},$.defaultProps={linkProps:{}};const F=e=>{let{children:t}=e;return Object(s.createElement)("div",{className:"xl:yst-max-w-3xl xl:yst-fixed xl:yst-right-8 xl:yst-w-[16rem]"},Object(s.createElement)("div",{className:"yst-grid yst-grid-cols-1 sm:yst-grid-cols-2 min-[783px]:yst-grid-cols-1 lg:yst-grid-cols-2 xl:yst-grid-cols-1 yst-gap-4"},t))};F.propTypes={children:o.a.node.isRequired};var U=n(101),q=n(12);const Y=e=>{let{videoId:t,thumbnail:n,wistiaEmbedPermission:a}=e;const[o,c]=Object(s.useState)(a.value?q.c.isPlaying:q.c.showPlay),l=Object(s.useCallback)(()=>c(q.c.isPlaying),[c]),d=Object(s.useCallback)(()=>{a.value?l():c(q.c.askPermission)},[a.value,l,c]),u=Object(s.useCallback)(()=>c(q.c.showPlay),[c]),p=Object(s.useCallback)(()=>{a.set(!0),l()},[a.set,l]);return Object(s.createElement)(s.Fragment,null,a.value&&Object(s.createElement)(U.Helmet,null,Object(s.createElement)("script",{src:"https://fast.wistia.com/assets/external/E-v1.js",async:!0})),Object(s.createElement)("div",{className:"yst-relative yst-w-full yst-h-0 yst-pt-[56.25%] yst-overflow-hidden yst-rounded-md yst-drop-shadow-md yst-bg-white"},o===q.c.showPlay&&Object(s.createElement)("button",{className:"yst-absolute yst-inset-0 yst-button yst-p-0 yst-border-none yst-bg-white yst-transition-opacity yst-duration-1000 yst-opacity-100",onClick:d},Object(s.createElement)("img",y()({className:"yst-w-full yst-h-auto",alt:"",loading:"lazy",decoding:"async"},n))),o===q.c.askPermission&&Object(s.createElement)("div",{className:"yst-absolute yst-inset-0 yst-flex yst-flex-col yst-items-center yst-justify-center yst-bg-white"},Object(s.createElement)("p",{className:"yst-max-w-xs yst-mx-auto yst-text-center"},a.status===q.b.loading&&Object(s.createElement)(r.Spinner,null),a.status!==q.b.loading&&Object(i.sprintf)(
/* translators: %1$s expands to Yoast SEO. %2$s expands to Wistia. */
-Object(i.__)("To see this video, you need to allow %1$s to load embedded videos from %2$s.","wordpress-seo"),"Yoast SEO","Wistia")),Object(s.createElement)("div",{className:"yst-flex yst-mt-6 yst-gap-x-4"},Object(s.createElement)(r.Button,{type:"button",variant:"secondary",onClick:u,disabled:a.status===q.b.loading},Object(i.__)("Deny","wordpress-seo")),Object(s.createElement)(r.Button,{type:"button",variant:"primary",onClick:p,disabled:a.status===q.b.loading},Object(i.__)("Allow","wordpress-seo")))),a.value&&o===q.c.isPlaying&&Object(s.createElement)("div",{className:"yst-absolute yst-w-full yst-h-full yst-top-0 yst-left-0"},null===t&&Object(s.createElement)(r.Spinner,{className:"yst-h-full yst-mx-auto"}),null!==t&&Object(s.createElement)("div",{className:`wistia_embed wistia_async_${t} videoFoam=true`}))))};Y.propTypes={videoId:o.a.string.isRequired,thumbnail:o.a.shape({src:o.a.string.isRequired,width:o.a.string,height:o.a.string}).isRequired,wistiaEmbedPermission:o.a.shape({value:o.a.bool.isRequired,status:o.a.string.isRequired,set:o.a.func.isRequired}).isRequired}},function(e,t,n){"use strict";function s(){return window.wpseoScriptData&&"1"===window.wpseoScriptData.isBlockEditor}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";function s(e){var t=jQuery(".yst-traffic-light"),n=t.closest(".wpseo-meta-section-link"),s=jQuery("#wpseo-traffic-light-desc"),i=e.className||"na";t.attr("class","yst-traffic-light "+i),n.attr("aria-describedby","wpseo-traffic-light-desc"),s.length>0?s.text(e.screenReaderText):n.closest("li").append(""+e.screenReaderText+" ")}n.d(t,"a",(function(){return s}))},,,function(e,t,n){"use strict";n.r(t),n.d(t,"refreshDelay",(function(){return s}));const s=500},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var s=n(15),i=n(4);function r(e,t){return e._properties.position.startOffset>t.length||e._properties.position.endOffset>t.length}function a(e,t,n){const a=e.dom;let o=e.getContent();if(o=s.markers.removeMarks(o),Object(i.isEmpty)(n))return void e.setContent(o);o=n[0].hasPosition()?function(e,t){if(!t)return"";for(let n=(e=Object(i.orderBy)(e,e=>e._properties.position.startOffset,["asc"])).length-1;n>=0;n--){const s=e[n];r(s,t)||(t=s.applyWithPosition(t))}return t}(n,o):function(e,t,n,r){const{fieldsToMark:a,selectedHTML:o}=s.languageProcessing.getFieldsToMark(n,r);return Object(i.forEach)(n,(function(t){"acf_content"!==e.id&&(t._properties.marked=s.languageProcessing.normalizeHTML(t._properties.marked),t._properties.original=s.languageProcessing.normalizeHTML(t._properties.original)),a.length>0?o.forEach(e=>{const n=t.applyWithReplace(e);r=r.replace(e,n)}):r=t.applyWithReplace(r)})),r}(e,0,n,o),e.setContent(o),function(e){let t=e.getContent();t=t.replace(new RegExp("<yoastmark.+?>","g"),"").replace(new RegExp("</yoastmark>","g"),""),e.setContent(t)}(e);const c=a.select("yoastmark");Object(i.forEach)(c,(function(e){e.setAttribute("data-mce-bogus","1")}))}function o(e){return window.test=e,a.bind(null,e)}function c(e){return-1!==e.getContent({format:"raw"}).indexOf("0&&void 0!==arguments[0]?arguments[0]:{},t={locale:Object(r.a)(),contentAnalysisActive:Object(c.a)(),keywordAnalysisActive:Object(l.a)(),inclusiveLanguageAnalysisActive:Object(d.a)(),defaultQueryParams:a(),logLevel:Object(s.get)(window,["wpseoScriptData","analysis","worker","log_level"],"ERROR"),enabledFeatures:Object(u.enabledFeatures)()};t=Object(s.merge)(t,e);const n=Object(o.a)();return Object(s.isUndefined)(n)||Object(s.isUndefined)(n.domain)||(t.translations=n),t}},function(e,t){e.exports=window.yoast.reactHelmet},,,,function(e,t,n){"use strict";function s(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(18),i=n(4);function r(){const e=Object(s.a)();return 1===Object(i.get)(e,"inclusiveLanguageAnalysisActive",0)}},,function(e,t){e.exports=window.wp.blocks},,function(e,t,n){"use strict";n.r(t),n.d(t,"updateScore",(function(){return a})),n.d(t,"createScoresInPublishBox",(function(){return o})),n.d(t,"scrollToCollapsible",(function(){return c})),n.d(t,"initialize",(function(){return l}));var s=n(4),i=jQuery;function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return null!==n?Object(s.get)(n,t,""):Object(s.get)(wpseoScriptData,`metabox.publish_box.labels.${e}.${t}`,"")}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;var s=i("#"+e+"-score"),a="image yoast-logo svg "+t;s.children(".image").attr("class",a);var o=r(e,t,n);s.children(".score-text").html(o)}function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const s=i("
",{class:"misc-pub-section yoast yoast-seo-score "+e+"-score",id:e+"-score"}),a=i(" ",{class:"score-text",html:r(e,t,n)}),o=i("").attr("class","image yoast-logo svg na");s.append(o).append(a),i("#yoast-seo-publishbox-section").append(s)}function c(e){const t=i("#wpadminbar"),n=i(e);if(!t||!n)return;const s="fixed"===t.css("position")?t.height():0;i([document.documentElement,document.body]).animate({scrollTop:n.offset().top-s},1e3),n.trigger("focus"),0===n.parent().siblings().length&&n.trigger("click")}function l(){wpseoScriptData.metabox.keywordAnalysisActive&&o("keyword","na"),wpseoScriptData.metabox.contentAnalysisActive&&o("content","na"),wpseoScriptData.metabox.inclusiveLanguageAnalysisActive&&o("inclusive-language","na"),i("#content-score").on("click","[href='#yoast-readability-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-readability").click(),c("#wpseo-meta-section-readability")})),i("#keyword-score").on("click","[href='#yoast-seo-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-content").click(),c("#yoast-seo-analysis-collapsible-metabox")})),i("#inclusive-language-score").on("click","[href='#yoast-inclusive-language-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-inclusive-language").click(),c("#wpseo-meta-section-inclusive-language")}))}},,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);const i=function(){for(var e=arguments.length,t=new Array(e),n=0;nt.map(e=>e())};t.b=(e,t)=>{let n=e();return()=>{const i=e();Object(s.isEqual)(i,n)||(n=i,t(Object(s.clone)(i)))}}},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var s=n(4);function i(e){return{title:e.getSnippetTitle(),slug:e.getSnippetCite(),description:e.getSnippetMeta()}}function r(e){const t=e.getState().snippetEditor.data;return{title:t.title,slug:t.slug,description:t.description}}function a(e){const t={};if(Object(s.isUndefined)(e))return t;t.title=e.title_template;const n=e.metadesc_template;return Object(s.isEmpty)(n)||(t.description=n),t}function o(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&""===e[i]&&(n[i]=t)}),n}function c(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&e[i].trim()===t&&(n[i]="")}),n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(e){this.refresh=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this._registerPlugin=this._registerPlugin.bind(this),this._ready=this._ready.bind(this),this._reloaded=this._reloaded.bind(this),this._registerModification=this._registerModification.bind(this),this._registerAssessment=this._registerAssessment.bind(this),this._applyModifications=this._applyModifications.bind(this),setTimeout(this._pollLoadingPlugins.bind(this),1500)}_registerPlugin(e,t){return Object(s.isString)(e)?Object(s.isUndefined)(t)||Object(s.isObject)(t)?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1):(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1)}_ready(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0):(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1)}_reloaded(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.refresh(),!0):(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1)}_registerModification(e,t,n,i){if(!Object(s.isString)(e))return console.error("Failed to register modification for plugin "+n+". Expected parameter `modification` to be a string."),!1;if(!Object(s.isFunction)(t))return console.error("Failed to register modification for plugin "+n+". Expected parameter `callable` to be a function."),!1;if(!Object(s.isString)(n))return console.error("Failed to register modification for plugin "+n+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(n))return console.error("Failed to register modification for plugin "+n+". The integration has not finished loading yet."),!1;const r={callable:t,origin:n,priority:Object(s.isNumber)(i)?i:10};return Object(s.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(r),!0}_registerAssessment(e,t,n,i){return Object(s.isString)(t)?Object(s.isObject)(n)?Object(s.isString)(i)?(t=i+"-"+t,e.addAssessment(t,n),!0):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `pluginName` to be a string."),!1):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `assessment` to be a function."),!1):(console.error("Failed to register test for plugin "+i+". Expected parameter `name` to be a string."),!1)}_applyModifications(e,t,n){let i=this.modifications[e];return!Object(s.isArray)(i)||i.length<1||(i=this._stripIllegalModifications(i),i.sort((e,t)=>e.priority-t.priority),Object(s.forEach)(i,(function(s){const i=s.callable(t,n);typeof i==typeof t?t=i:console.error("Modification with name "+e+" performed by plugin with name "+s.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t}_pollLoadingPlugins(e){e=Object(s.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.refresh()):e>=this.preloadThreshold?(this._pollTimeExceeded(),this.loaded=!0,this.refresh()):(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))}_allReady(){return Object(s.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)}_pollTimeExceeded(){Object(s.forEach)(this.plugins,(function(e,t){Object(s.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])}))}_stripIllegalModifications(e){return Object(s.forEach)(e,(t,n)=>{!1===this._validateOrigin(t.origin)&&delete e[n]}),e}_validateOrigin(e){return"ready"===this.plugins[e].status}_validateUniqueness(e){return Object(s.isUndefined)(this.plugins[e])}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=n(18);function r(){const e=Object(i.a)();return Object(s.get)(e,"translations",{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}})}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return y})),n.d(t,"c",(function(){return b}));var s=n(4),i=(n(199),n(72)),r=n(5);const a="";let o=[];const c={"core/paragraph":[{key:"content"}],"core/list":[{key:"values",multilineTag:"li",multilineWrapperTag:["ul","ol"]}],"core/list-item":[{key:"content"}],"core/heading":[{key:"content"}],"core/audio":[{key:"caption"}],"core/embed":[{key:"caption"}],"core/gallery":[{key:"caption"}],"core/image":[{key:"caption"}],"core/table":[{key:"caption"}],"core/video":[{key:"caption"}],"yoast/faq-block":[{key:"questions"}],"yoast/how-to-block":[{key:"steps"}]},l={singleH1:{"core/heading":[{key:"content",filter:e=>1===e.level}]}};function d(){const e=o.shift();e&&(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation(e),u())}function u(){Object(s.isFunction)(window.requestIdleCallback)?window.requestIdleCallback(d,{timeout:1e3}):setTimeout(d,150)}function p(){return Object(r.select)("core/block-editor")&&Object(s.isFunction)(Object(r.select)("core/block-editor").getBlocks)&&Object(r.select)("core/annotations")&&Object(s.isFunction)(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation)}function h(e){const t=Object(r.select)("yoast-seo/editor").getActiveMarker(),n=l[t]||c;return n.hasOwnProperty(e)?n[e]:[]}function g(e,t,n,r,o){const c=Object(i.create)({html:e,multilineTag:n.multilineTag,multilineWrapperTag:n.multilineWrapperTag}).text;return Object(s.flatMap)(o,e=>{const n=function(e,t){const n=t.getOriginal().replace(/(<([^>]+)>)/gi,""),s=t.getMarked().replace(/(<(?!\/?yoastmark)[^>]+>)/gi,""),i=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=[];if(0===e.length)return s;let i,r=0;for(n||(t=t.toLowerCase(),e=e.toLowerCase());(i=e.indexOf(t,r))>-1;)s.push(i),r=i+t.length;return s}(e,n);if(0===i.length)return[];const r=function(e){let t=e.indexOf(a);const n=t>=0;n||(t=e.indexOf(''));let s=null;const i=[];for(;t>=0;){if(s=(e=n?e.replace(a,""):e.replace('',"")).indexOf(" "),s",""),i.push({startOffset:t,endOffset:s}),t=n?e.indexOf(a):e.indexOf(''),s=null}return i}(s),o=[];return r.forEach(e=>{i.forEach(s=>{const i=s+e.startOffset;let r=s+e.endOffset;0===e.startOffset&&e.endOffset===t.getOriginal().length&&(r=s+n.length),o.push({startOffset:i,endOffset:r})})}),o}(c,e);return n?n.map(e=>({...e,block:r.clientId,richTextIdentifier:t})):[]})}function f(e,t,n){const i=e.key,{attributes:r}=t;return e.filter&&!e.filter(r)?[]:"yoast/faq-block"===t.name||"yoast/how-to-block"===t.name?function(e,t,n){const i=t.attributes[e.key];if("yoast/faq-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-question",r=s.id+"-answer",a=g(s.jsonQuestion,i,e,t,n),o=g(s.jsonAnswer,r,e,t,n);return a.concat(o)});return Object(s.flatMap)(r)}if("yoast/how-to-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-name",r=s.id+"-text",a=g(s.jsonName,i,e,t,n),o=g(s.jsonText,r,e,t,n);return a.concat(o)}),a=g(t.attributes.jsonDescription,"description",e,t,n);return Object(s.flatMap)(r.concat(a))}}(e,t,n):g(r[i],i,e,t,n)}function m(e){o=e.map(e=>({blockClientId:e.block,source:"yoast",richTextIdentifier:e.richTextIdentifier,range:{start:e.startOffset,end:e.endOffset}}))}function y(e){o=[],Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotationsBySource("yoast");const t=function(e){return Object(s.uniq)(Object(s.flatten)(e.map(e=>{if(!Object(s.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()})))}(e);if(0===e.length)return;let n=Object(r.select)("core/block-editor").getBlocks();t.length>0&&(n=n.filter(e=>t.some(t=>"core/"+t===e.name))),m(function e(t,n){return Object(s.flatMap)(t,t=>{const i=function(e){return e.innerBlocks.length>0}(t)?e(t.innerBlocks,n):[];return function(e,t){return Object(s.flatMap)(h(e.name),n=>f(n,e,t))}(t,n).concat(i)})}(n,e)),u()}function b(){const e=Object(r.select)("core/editor").getSelectedBlock(),t=Object(r.select)("yoast-seo/editor").getActiveMarker();if(!e||!t)return;var n;n=e.clientId,Object(r.select)("core/annotations").__experimentalGetAnnotations().filter(e=>e.blockClientId===n&&"yoast"===e.source).forEach(e=>{Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotation(e.id)});const i=Object(r.select)("yoast-seo/editor").getResultById(t);if(void 0===i)return;const a=i.marks;m(Object(s.flatMap)(h(e.name),t=>f(t,e,a))),u()}},,,,,,,function(e,t,n){"use strict";function s(e){let{alertKey:t}=e;return new Promise(e=>wpseoApi.post("alerts/dismiss",{key:t},()=>e()))}n.r(t),n.d(t,"DISMISS_ALERT",(function(){return s}))},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z"}))}));t.a=i},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return g}));var s=n(5),i=n(39),r=n(4),a=n(15),o=n(98),c=n(58),l=n(71),d=n(100),u=n(60);const p=Object(r.debounce)((async function(e,t){const{text:n,...r}=t,o=new a.Paper(n,r);try{const t=await e.analyze(o),{seo:n,readability:r,inclusiveLanguage:a}=t.result;if(n){const e=n[""];e.results=Object(l.sortResultsByIdentifier)(e.results),Object(s.dispatch)("yoast-seo/editor").setSeoResultsForKeyword(o.getKeyword(),e.results),Object(s.dispatch)("yoast-seo/editor").setOverallSeoScore(e.score,o.getKeyword())}r&&(r.results=Object(l.sortResultsByIdentifier)(r.results),Object(s.dispatch)("yoast-seo/editor").setReadabilityResults(r.results),Object(s.dispatch)("yoast-seo/editor").setOverallReadabilityScore(r.score)),a&&(a.results=Object(l.sortResultsByIdentifier)(a.results),Object(s.dispatch)("yoast-seo/editor").setInclusiveLanguageResults(a.results),Object(s.dispatch)("yoast-seo/editor").setOverallInclusiveLanguageScore(a.score)),Object(i.doAction)("yoast.analysis.run",t,{paper:o})}catch(e){Object(c.a)()}}),o.refreshDelay);function h(){const{getAnalysisData:e,getEditorDataTitle:t}=Object(s.select)("yoast-seo/editor");let n=e();n={...n,textTitle:t()};const r=function(e){return e.title=Object(u.a)("data_page_title",e.title),e.title=Object(u.a)("title",e.title),e.description=Object(u.a)("data_meta_desc",e.description),e.text=Object(u.a)("content",e.text),e}(n);return Object(i.applyFilters)("yoast.analysis.data",r)}function g(){const{getAnalysisTimestamp:e,isCornerstoneContent:t}=Object(s.select)("yoast-seo/editor"),n=Object(d.a)();n.initialize(Object(d.b)({useCornerstone:t()})).catch(c.a);let i=h(),a=t(),o=e();return Object(s.subscribe)(()=>{const s=t(),l=h(),d=e();if(s!==a)return a=s,i=l,void n.initialize({useCornerstone:s}).then(()=>p(n,l)).catch(c.a);d===o&&!1!==Object(r.isEqual)(l,i)||(i=l,o=d,p(n,l))}),n}},,,,,,,,function(e,t){e.exports=window.wp.isShallowEqual},function(e,t,n){"use strict";var s=n(4),i=class{static isActive(){return!!document.getElementById("et_pb_main_editor_wrap")}static isTinyMCEHidden(){const e=document.getElementById("et_pb_main_editor_wrap");return!!e&&e.classList.contains("et_pb_hidden")}listen(e){this.classicEditorContainer=document.getElementById("et_pb_main_editor_wrap"),this.classicEditorContainer&&new MutationObserver(t=>{Object(s.forEach)(t,t=>{"attributes"===t.type&&"class"===t.attributeName&&(t.target.classList.contains("et_pb_hidden")?e.classicEditorHidden():e.classicEditorShown())})}).observe(this.classicEditorContainer,{attributes:!0})}};const r={classicEditorHidden:s.noop,classicEditorShown:s.noop,pageBuilderLoaded:s.noop};t.a=class{constructor(){this.determineActivePageBuilders()}determineActivePageBuilders(){i.isActive()&&(this.diviActive=!0),class{static isActive(){return!!window.VCV_I18N}}.isActive()&&(this.vcActive=!0)}isPageBuilderActive(){return this.diviActive||this.vcActive}listen(e){this.callbacks=Object(s.defaults)(e,r),this.diviActive&&(new i).listen(e)}isClassicEditorHidden(){return!(!this.diviActive||!i.isTinyMCEHidden())}}},,,,,,,,,,,function(e,t){var n,s,i="",r=function(e){e=e||"polite";var t=document.createElement("div");return t.id="a11y-speak-"+e,t.className="a11y-speak-region",t.setAttribute("style","clip: rect(1px, 1px, 1px, 1px); position: absolute; height: 1px; width: 1px; overflow: hidden; word-wrap: normal;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true"),document.querySelector("body").appendChild(t),t};!function(e){if("complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll)return e();document.addEventListener("DOMContentLoaded",e)}((function(){n=document.getElementById("a11y-speak-polite"),s=document.getElementById("a11y-speak-assertive"),null===n&&(n=r("polite")),null===s&&(s=r("assertive"))})),e.exports=function(e,t){!function(){for(var e=document.querySelectorAll(".a11y-speak-region"),t=0;t]+>/g," "),i===e&&(e+=" "),i=e,s&&"assertive"===t?s.textContent=e:n&&(n.textContent=e)}},,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=jQuery;function r(e,t,n,s,r){this._scriptUrl=s,this._options={usedKeywords:t.keyword_usage,usedKeywordsPostTypes:t.keyword_usage_post_types,searchUrl:t.search_url,postUrl:t.post_edit_url},this._keywordUsage=t.keyword_usage,this._usedKeywordsPostTypes=t.keyword_usage_post_types,this._postID=i("#post_ID, [name=tag_ID]").val(),this._taxonomy=i("[name=taxonomy]").val()||"",this._nonce=r,this._ajaxAction=e,this._refreshAnalysis=n,this._initialized=!1}r.prototype.init=function(){const{worker:e}=window.YoastSEO.analysis;this.requestKeywordUsage=Object(s.debounce)(this.requestKeywordUsage.bind(this),500),e.loadScript(this._scriptUrl).then(()=>{e.sendMessage("initialize",this._options,"used-keywords-assessment")}).then(()=>{this._initialized=!0,Object(s.isEqual)(this._options.usedKeywords,this._keywordUsage)?this._refreshAnalysis():e.sendMessage("updateKeywordUsage",this._keywordUsage,"used-keywords-assessment").then(()=>this._refreshAnalysis())}).catch(e=>console.error(e))},r.prototype.setKeyword=function(e){Object(s.has)(this._keywordUsage,e)||this.requestKeywordUsage(e)},r.prototype.requestKeywordUsage=function(e){i.post(ajaxurl,{action:this._ajaxAction,post_id:this._postID,keyword:e,taxonomy:this._taxonomy,nonce:this._nonce},this.updateKeywordUsage.bind(this,e),"json")},r.prototype.updateKeywordUsage=function(e,t){const{worker:n}=window.YoastSEO.analysis,i=t.keyword_usage,r=t.post_types;i&&Object(s.isArray)(i)&&(this._keywordUsage[e]=i,this._usedKeywordsPostTypes[e]=r,this._initialized&&n.sendMessage("updateKeywordUsage",{usedKeywords:this._keywordUsage,usedKeywordsPostTypes:this._usedKeywordsPostTypes},"used-keywords-assessment").then(()=>this._refreshAnalysis()))}},function(e,t,n){"use strict";var s=n(5),i=n(4),r=n(15),a=n(121),o=n(142);t.a=()=>{if(Object(s.select)("yoast-seo/editor").getPreference("isInsightsEnabled",!1))return Object(s.dispatch)("yoast-seo/editor").loadEstimatedReadingTime(),Object(s.subscribe)(Object(i.debounce)((()=>{const{getEditorDataContent:e,getContentLocale:t}=Object(s.select)("yoast-seo/editor"),n=Object(a.a)(e,t),c=(()=>{const{setEstimatedReadingTime:e,setFleschReadingEase:t,setTextLength:n}=Object(s.dispatch)("yoast-seo/editor"),a=Object(i.get)(window,"YoastSEO.analysis.worker.runResearch",i.noop);return()=>{const s=r.Paper.parse(Object(o.a)());a("readingTime",s).then(t=>e(t.result)),a("getFleschReadingScore",s).then(e=>{e.result&&t(e.result)}),a("wordCountInText",s).then(e=>n(e.result))}})();return setTimeout(c,1500),Object(a.b)(n,c)})(),1500,{maxWait:3e3}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(1),i=n(4);function r(e){function t(){e("#copy-home-meta-description").on("click",(function(){e("#open_graph_frontpage_desc").val(e("#meta_description").val())}))}function n(){var t=e("#wpseo-conf");if(t.length){var n=t.attr("action").split("#")[0];t.attr("action",n+window.location.hash)}}function r(){var t=window.location.hash.replace("#top#","");-1!==t.search("#top")&&(t=window.location.hash.replace("#top%23","")),""!==t&&"#"!==t.charAt(0)||(t=e(".wpseotab").attr("id")),e("#"+t).addClass("active"),e("#"+t+"-tab").addClass("nav-tab-active").trigger("click")}function a(t){const n=e("#noindex-author-noposts-wpseo-container");t?n.show():n.hide()}e.fn._wpseoIsInViewport=function(){const t=e(this).offset().top,n=t+e(this).outerHeight(),s=e(window).scrollTop(),i=s+e(window).height();return t>s&&n{e(this).is(":checked")||a(!1)}),o.on("change",()=>{e(this).is(":checked")||a(!0)}),e("#disable-date input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#date-archives-titles-metas-content").toggle("off"===e(this).val())})).trigger("change"),e("#disable-attachment input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#media_settings").toggle("off"===e(this).val())})).trigger("change"),e("#disable-post_format").on("change",(function(){e("#post_format-titles-metas").toggle(e(this).is(":not(:checked)"))})).trigger("change"),e("#zapier_integration_active input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#zapier-connection").toggle("on"===e(this).val())})).trigger("change"),e("#wincher_integration_active input[type='radio']").change((function(){e(this).is(":checked")&&e("#wincher-connection").toggle("on"===e(this).val())})).change(),e("#wpseo-tabs").find("a").on("click",(function(t){var n,i,r,a=!0;if(n=e(this),i=!!e("#first-time-configuration-tab").filter(".nav-tab-active").length,r=!!n.filter("#first-time-configuration-tab").length,i&&!r&&window.isStepBeingEdited&&(a=confirm(Object(s.__)("There are unsaved changes in one or more steps. Leaving means that those changes may not be saved. Are you sure you want to leave?","wordpress-seo"))),a){window.isStepBeingEdited=!1,e("#wpseo-tabs").find("a").removeClass("nav-tab-active"),e(".wpseotab").removeClass("active");var o=e(this).attr("id").replace("-tab",""),c=e("#"+o);c.addClass("active"),e(this).addClass("nav-tab-active"),c.hasClass("nosave")?e("#wpseo-submit-container").hide():e("#wpseo-submit-container").show(),e(window).trigger("yoast-seo-tab-change"),"first-time-configuration"===o?e("#yoast-first-time-configuration-notice").slideUp():e("#yoast-first-time-configuration-notice").slideDown()}else t.preventDefault(),e("#first-time-configuration-tab").trigger("focus")})),e("#yoast-first-time-configuration-notice a").on("click",(function(){e("#first-time-configuration-tab").click()})),e("#company_or_person").on("change",(function(){var t=e(this).val();"company"===t?(e("#knowledge-graph-company").show(),e("#knowledge-graph-person").hide()):"person"===t?(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").show()):(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").hide())})).trigger("change"),e(".switch-yoast-seo input").on("keydown",(function(e){"keydown"===e.type&&13===e.which&&e.preventDefault()})),e("body").on("click","button.toggleable-container-trigger",t=>{const n=e(t.currentTarget),s=n.parent().siblings(".toggleable-container");s.toggleClass("toggleable-container-hidden"),n.attr("aria-expanded",!s.hasClass("toggleable-container-hidden")).find("span").toggleClass("dashicons-arrow-up-alt2 dashicons-arrow-down-alt2")});const l=e("#opengraph"),d=e("#wpseo-opengraph-settings");l.length&&d.length&&(d.toggle(l[0].checked),l.on("change",e=>{d.toggle(e.target.checked)})),t(),r(),function(){if(!e("#enable_xml_sitemap input[type=radio]").length)return;const t=e("#yoast-seo-sitemaps-disabled-warning");e("#enable_xml_sitemap input[type=radio]").on("change",(function(){"off"===this.value?t.show():t.hide()}))}(),function(){const t=e("#wpseo-submit-container-float"),n=e("#wpseo-submit-container-fixed");if(!t.length||!n.length)return;function s(){t._wpseoIsInViewport()?n.hide():n.show()}e(window).on("resize scroll",Object(i.debounce)(s,100)),e(window).on("yoast-seo-tab-change",s);const r=e(".wpseo-message");r.length&&window.setTimeout(()=>{r.fadeOut()},5e3),s()}(),"undefined"!=typeof ClipboardJS&&new ClipboardJS("#copy-zapier-api-key").on("success",(function(t){t.clearSelection(),e(t.trigger).trigger("focus")}))}))}},function(e,t,n){"use strict";function s(e){e(document).ready((function(e){void 0!==wp.media&&e(".wpseo_image_upload_button").each((function(t,n){const s=function(t){let n=(t=e(t)).data("target");return n&&""!==n||(n=e(t).attr("id").replace(/_button$/,"")),n}(n),i=e(n).data("target-id"),r=e("#"+s),a=e("#"+i);var o=wp.media.frames.file_frame=wp.media({title:wpseoScriptData.media.choose_image,button:{text:wpseoScriptData.media.choose_image},multiple:!1,library:{type:"image"}});o.on("select",(function(){var e=o.state().get("selection").first().toJSON();r.val(e.url),a.val(e.id)}));const c=e(n);c.click((function(e){e.preventDefault(),o.open()})),c.siblings(".wpseo_image_remove_button").on("click",e=>{e.preventDefault(),r.val(""),a.val("")})}))}))}n.d(t,"a",(function(){return s}))},,,,function(e,t,n){"use strict";n.r(t),n.d(t,"wistiaEmbedPermission",(function(){return a})),n.d(t,"DISMISS_ALERT",(function(){return i.DISMISS_ALERT})),n.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return r}));var s=n(25),i=n(138);function r(e){let{query:t,postId:n}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:n},t=>{e(t.meta)})})}const a=s.s[s.d]},,,,,,,,,,,,,function(e,t,n){"use strict";var s=n(192),i=n(17),r=n(4),a=n(94),o=n(30);const{removeReplacementVariable:c,updateReplacementVariable:l,refreshSnippetEditor:d}=i.actions;var u=["content","title","snippet_title","snippet_meta","primary_category","data_page_title","data_meta_desc","excerpt"],p={},h={},g=function(e,t){this._app=e,this._app.registerPlugin("replaceVariablePlugin",{status:"ready"}),this._store=t,this.replaceVariables=this.replaceVariables.bind(this),this.registerReplacements(),this.registerModifications(),this.registerEvents(),this.subscribeToGutenberg()};g.prototype.registerReplacements=function(){this.addReplacement(new o.a("%%author_first_name%%","author_first_name")),this.addReplacement(new o.a("%%author_last_name%%","author_last_name")),this.addReplacement(new o.a("%%category%%","category")),this.addReplacement(new o.a("%%category_title%%","category_title")),this.addReplacement(new o.a("%%currentdate%%","currentdate")),this.addReplacement(new o.a("%%currentday%%","currentday")),this.addReplacement(new o.a("%%currentmonth%%","currentmonth")),this.addReplacement(new o.a("%%currenttime%%","currenttime")),this.addReplacement(new o.a("%%currentyear%%","currentyear")),this.addReplacement(new o.a("%%date%%","date")),this.addReplacement(new o.a("%%id%%","id")),this.addReplacement(new o.a("%%page%%","page")),this.addReplacement(new o.a("%%permalink%%","permalink")),this.addReplacement(new o.a("%%post_content%%","post_content")),this.addReplacement(new o.a("%%post_month%%","post_month")),this.addReplacement(new o.a("%%post_year%%","post_year")),this.addReplacement(new o.a("%%searchphrase%%","searchphrase")),this.addReplacement(new o.a("%%sitedesc%%","sitedesc")),this.addReplacement(new o.a("%%sitename%%","sitename")),this.addReplacement(new o.a("%%userid%%","userid")),this.addReplacement(new o.a("%%focuskw%%","keyword",{source:"app",aliases:["%%keyword%%"]})),this.addReplacement(new o.a("%%term_description%%","text",{source:"app",scope:["term","category","tag"],aliases:["%%tag_description%%","%%category_description%%"]})),this.addReplacement(new o.a("%%term_title%%","term_title",{scope:["term"]})),this.addReplacement(new o.a("%%term_hierarchy%%","term_hierarchy",{scope:["term"]})),this.addReplacement(new o.a("%%title%%","title",{source:"app",scope:["post","term","page"]})),this.addReplacement(new o.a("%%parent_title%%","title",{source:"app",scope:["page","category"]})),this.addReplacement(new o.a("%%excerpt%%","excerpt",{source:"app",scope:["post"],aliases:["%%excerpt_only%%"]})),this.addReplacement(new o.a("%%primary_category%%","primaryCategory",{source:"app",scope:["post"]})),this.addReplacement(new o.a("%%sep%%(\\s*%%sep%%)*","sep"))},g.prototype.registerEvents=function(){const e=wpseoScriptData.analysis.plugins.replaceVars.scope;"post"===e&&jQuery(".categorydiv").each(this.bindTaxonomyEvents.bind(this)),"post"!==e&&"page"!==e||jQuery("#postcustomstuff > #list-table").each(this.bindFieldEvents.bind(this))},g.prototype.subscribeToGutenberg=function(){if(!Object(a.a)())return;const e={0:""};let t=null;const n=wp.data;n.subscribe(()=>{const i=n.select("core/editor").getEditedPostAttribute("parent");if(void 0!==i&&t!==i)return t=i,i<1?(this._currentParentPageTitle="",void this.declareReloaded()):Object(r.isUndefined)(e[i])?void s.loadPromise.done(()=>{new s.models.Page({id:i}).fetch().then(t=>{this._currentParentPageTitle=t.title.rendered,e[i]=this._currentParentPageTitle,this.declareReloaded()}).fail(()=>{this._currentParentPageTitle="",this.declareReloaded()})}):(this._currentParentPageTitle=e[i],void this.declareReloaded())})},g.prototype.addReplacement=function(e){p[e.placeholder]=e},g.prototype.removeReplacement=function(e){delete p[e.getPlaceholder()]},g.prototype.registerModifications=function(){var e=this.replaceVariables.bind(this);Object(r.forEach)(u,function(t){this._app.registerModification(t,e,"replaceVariablePlugin",10)}.bind(this))},g.prototype.replaceVariables=function(e){return Object(r.isUndefined)(e)||(e=this.parentReplace(e),e=this.replaceCustomTaxonomy(e),e=this.replaceByStore(e),e=this.replacePlaceholders(e)),e},g.prototype.replaceByStore=function(e){const t=this._store.getState().snippetEditor.replacementVariables;return Object(r.forEach)(t,t=>{""!==t.value&&(e=e.replace("%%"+t.name+"%%",t.value))}),e},g.prototype.getReplacementSource=function(e){return"app"===e.source?this._app.rawData:"direct"===e.source?"direct":wpseoScriptData.analysis.plugins.replaceVars.replace_vars},g.prototype.getReplacement=function(e){var t=this.getReplacementSource(e.options);return!1===e.inScope(wpseoScriptData.analysis.plugins.replaceVars.scope)?"":"direct"===t?e.replacement:t[e.replacement]||""},g.prototype.replacePlaceholders=function(e){return Object(r.forEach)(p,function(t){e=e.replace(new RegExp(t.getPlaceholder(!0),"g"),this.getReplacement(t))}.bind(this)),e},g.prototype.declareReloaded=function(){this._app.pluginReloaded("replaceVariablePlugin"),this._store.dispatch(d())},g.prototype.getCategoryName=function(e){var t=e.parent("label").clone();return t.children().remove(),t.text().trim()},g.prototype.parseTaxonomies=function(e,t){Object(r.isUndefined)(h[t])&&(h[t]={});const n=[];Object(r.forEach)(e,function(e){const s=(e=jQuery(e)).val(),i=this.getCategoryName(e),r=e.prop("checked");h[t][s]={label:i,checked:r},r&&-1===n.indexOf(i)&&n.push(i)}.bind(this)),"category"!==t&&(t="ct_"+t),this._store.dispatch(l(t,n.join(", ")))},g.prototype.getAvailableTaxonomies=function(e){var t=jQuery(e).find("input[type=checkbox]"),n=jQuery(e).attr("id").replace("taxonomy-","");t.length>0&&this.parseTaxonomies(t,n),this.declareReloaded()},g.prototype.bindTaxonomyEvents=function(e,t){(t=jQuery(t)).on("wpListAddEnd",".categorychecklist",this.getAvailableTaxonomies.bind(this,t)),t.on("change","input[type=checkbox]",this.getAvailableTaxonomies.bind(this,t)),this.getAvailableTaxonomies(t)},g.prototype.replaceCustomTaxonomy=function(e){return Object(r.forEach)(h,function(t,n){var s="%%ct_"+n+"%%";"category"===n&&(s="%%"+n+"%%"),e=e.replace(s,this.getTaxonomyReplaceVar(n))}.bind(this)),e},g.prototype.getTaxonomyReplaceVar=function(e){var t=[],n=h[e];return!0===Object(r.isUndefined)(n)?"":(Object(r.forEach)(n,(function(e){!1!==e.checked&&t.push(e.label)})),jQuery.uniqueSort(t).join(", "))},g.prototype.parseFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val(),s=jQuery("#"+t.id+"-value").val();const i="cf_"+this.sanitizeCustomFieldNames(n),r=n+" (custom field)";this._store.dispatch(l(i,s,r)),this.addReplacement(new o.a(`%%${i}%%`,s,{source:"direct"}))}.bind(this))},g.prototype.removeFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val();this.removeReplacement("%%cf_"+this.sanitizeCustomFieldNames(n)+"%%")}.bind(this))},g.prototype.sanitizeCustomFieldNames=function(e){return e.replace(/\s/g,"_")},g.prototype.getAvailableFields=function(e){this.removeCustomFields();var t=jQuery(e).find("#the-list > tr:visible[id]");t.length>0&&this.parseFields(t),this.declareReloaded()},g.prototype.bindFieldEvents=function(e,t){var n=(t=jQuery(t)).find("#the-list");n.on("wpListDelEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("wpListAddEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("input.wpseoCustomFields",".textarea",this.getAvailableFields.bind(this,t)),n.on("click.wpseoCustomFields",".button + .updatemeta",this.getAvailableFields.bind(this,t)),this.getAvailableFields(t)},g.prototype.removeCustomFields=function(){var e=Object(r.filter)(p,(function(e,t){return t.indexOf("%%cf_")>-1}));Object(r.forEach)(e,function(e){this._store.dispatch(c(Object(r.trim)(e.placeholder,"%%"))),this.removeReplacement(e)}.bind(this))},g.prototype.parentReplace=function(e){const t=jQuery("#parent_id, #parent").eq(0);return this.hasParentTitle(t)&&(e=e.replace(/%%parent_title%%/,this.getParentTitleReplacement(t))),Object(a.a)()&&!Object(r.isUndefined)(this._currentParentPageTitle)&&(e=e.replace(/%%parent_title%%/,this._currentParentPageTitle)),e},g.prototype.hasParentTitle=function(e){return!Object(r.isUndefined)(e)&&!Object(r.isUndefined)(e.prop("options"))},g.prototype.getParentTitleReplacement=function(e){var t=e.find("option:selected").text();return t===wpseoScriptData.analysis.plugins.replaceVars.no_parent_text?"":t},g.ReplaceVar=o.a,t.a=g},function(e,t){e.exports=window.wp.api},function(e,t,n){"use strict";var s=n(17),i=n(4),r=n(15);t.a=function(e,t,n){e("morphology",new r.Paper("",{keyword:n})).then(e=>{const n=e.result.keyphraseForms;t.dispatch(s.actions.updateWordsToHighlight(Object(i.uniq)(Object(i.flatten)(n))))}).catch(()=>{t.dispatch(s.actions.updateWordsToHighlight([]))})}},,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(4),i=n(5),r=n(46),a=n(99),o=n(131);function c(e,t){let n;r.isTinyMCEAvailable(r.tmceId)&&(Object(s.isUndefined)(n)&&(n=Object(a.c)(tinyMCE.get(r.tmceId))),n(e,t)),Object(o.b)()&&(function(e,t){tinyMCE.editors.map(e=>Object(a.c)(e)).forEach(n=>n(e,t))}(e,t),Object(o.a)(t))}function l(){const e=Object(i.select)("yoast-seo/editor").isMarkingAvailable(),t=Object(i.select)("yoast-seo/editor").getMarkerPauseStatus();return!e||t?s.noop:c}},,function(e,t){e.exports=window.wp.annotations},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"}))}));t.a=i},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var s=n(5),i=n(17),r=n(4),a=n(178);function o(){const e=Object(s.registerStore)("yoast-seo/editor",{reducer:Object(s.combineReducers)(i.reducers),selectors:i.selectors,actions:Object(r.pickBy)(i.actions,e=>"function"==typeof e),controls:a});return(e=>{e.dispatch(i.actions.setSettings({socialPreviews:{sitewideImage:window.wpseoScriptData.metabox.sitewide_social_image,siteName:window.wpseoScriptData.metabox.site_name,contentImage:window.wpseoScriptData.metabox.first_content_image,twitterCardType:window.wpseoScriptData.metabox.twitterCardType},snippetEditor:{baseUrl:window.wpseoScriptData.metabox.base_url,date:window.wpseoScriptData.metabox.metaDescriptionDate,recommendedReplacementVariables:window.wpseoScriptData.analysis.plugins.replaceVars.recommended_replace_vars,siteIconUrl:window.wpseoScriptData.metabox.siteIconUrl}})),e.dispatch(i.actions.setSEMrushChangeCountry(window.wpseoScriptData.metabox.countryCode)),e.dispatch(i.actions.setSEMrushLoginStatus(window.wpseoScriptData.metabox.SEMrushLoginStatus)),e.dispatch(i.actions.setWincherLoginStatus(window.wpseoScriptData.metabox.wincherLoginStatus,!1)),e.dispatch(i.actions.setWincherWebsiteId(window.wpseoScriptData.metabox.wincherWebsiteId)),e.dispatch(i.actions.setWincherAutomaticKeyphaseTracking(window.wpseoScriptData.metabox.wincherAutoAddKeyphrases)),e.dispatch(i.actions.setDismissedAlerts(Object(r.get)(window,"wpseoScriptData.dismissedAlerts",{}))),e.dispatch(i.actions.setCurrentPromotions(Object(r.get)(window,"wpseoScriptData.currentPromotions",[]))),e.dispatch(i.actions.setIsPremium(Boolean(Object(r.get)(window,"wpseoScriptData.metabox.isPremium",!1)))),e.dispatch(i.actions.setPostId(Number(Object(r.get)(window,"wpseoScriptData.postId",null)))),e.dispatch(i.actions.setLinkParams(Object(r.get)(window,"wpseoScriptData.linkParams",{}))),e.dispatch(i.actions.setPluginUrl(Object(r.get)(window,"wpseoScriptData.pluginUrl",""))),e.dispatch(i.actions.setWistiaEmbedPermissionValue("1"===Object(r.get)(window,"wpseoScriptData.wistiaEmbedPermission",!1)))})(e),e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(){this._callbacks=[],this.register=this.register.bind(this)}register(e){Object(s.isFunction)(e)&&this._callbacks.push(e)}getData(){let e={};return this._callbacks.forEach(t=>{e=Object(s.merge)(e,t())}),e}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var s=n(4),i=n(18),r=n(170);function a(e,t,n){const a=Object(i.a)();if(!a.previouslyUsedKeywordActive)return;const o=Object(s.get)(window,["wpseoScriptData","analysis","worker","keywords_assessment_url"],"used-keywords-assessment.js"),c=Object(s.get)(window,["wpseoScriptData","usedKeywordsNonce"],""),l=new r.a(t,a,e,o,c);l.init();let d={};n.subscribe(()=>{const e=n.getState()||{};e.focusKeyword!==d.focusKeyword&&(d=e,l.setKeyword(e.focusKeyword))})}},,,,,function(e,t,n){"use strict";var s=n(0),i=n(19),r=n(5),a=n(39),o=n(1),c=n(6),l=n(2),d=n.n(l),u=n(93);const p="yoast-seo/editor",h=()=>{const e=Object(r.useSelect)(e=>e(p).selectLink("https://www.yoa.st/ai-generator-learn-more"),[]),t=Object(r.useSelect)(e=>e(p).selectLink("https://yoa.st/ai-generator-upsell"),[]),n=Object(r.useSelect)(e=>e(p).selectImageLink("ai-generator-preview.png"),[]),i=Object(s.useMemo)(()=>({src:n,width:"432",height:"244"}),[n]),a=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionValue(),[]),o=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionStatus(),[]),{setWistiaEmbedPermission:c}=Object(r.useDispatch)(p),l=Object(s.useMemo)(()=>({value:a,status:o,set:c}),[a,o,c]);return Object(s.createElement)(u.b,{learnMoreLink:e,upsellLink:t,thumbnail:i,wistiaEmbedPermission:l})},g=e=>{let{fieldId:t}=e;const[n,,,i,r]=Object(c.useToggleState)(!1),a=Object(s.useCallback)(()=>{i()},[i]),l=Object(s.useRef)(null);return Object(s.createElement)(s.Fragment,null,Object(s.createElement)("button",{type:"button",id:"yst-replacevar__use-ai-button__"+t,className:"yst-replacevar__use-ai-button-upsell",onClick:a},Object(o.__)("Use AI","wordpress-seo")),Object(s.createElement)(c.Modal,{className:"yst-introduction-modal",isOpen:n,onClose:r,initialFocus:l},Object(s.createElement)(c.Modal.Panel,{className:"yst-max-w-lg yst-p-0 yst-bg-gradient-to-b yst-from-[#EDD2E1] yst-rounded-3xl"},Object(s.createElement)(h,{onClose:r,focusElementRef:l}))))};g.propTypes={fieldId:d.a.string.isRequired},t.a=()=>{const e=Object(r.select)("yoast-seo/editor").getIsPremium();Object(a.addFilter)("yoast.replacementVariableEditor.additionalButtons","yoast/yoast-seo-premium/AiGenerator",(t,n)=>{let{fieldId:r}=n;return e||t.push(Object(s.createElement)(i.Fill,{name:"yoast.replacementVariableEditor.additionalButtons."+r},Object(s.createElement)(g,{fieldId:r}))),t})}},function(e,t,n){"use strict";function s(e){function t(e){e&&(e.focus(),e.click())}function n(){if(e(".wpseo-meta-section").length>0){const t=e(".wpseo-meta-section-link");e(".wpseo-metabox-menu li").filter((function(){return"#wpseo-meta-section-content"===e(this).find(".wpseo-meta-section-link").attr("href")})).addClass("active").find("[role='tab']").addClass("yoast-active-tab"),e("#wpseo-meta-section-content, .wpseo-meta-section-react").addClass("active"),t.on("click",(function(n){var s=e(this).attr("id"),i=e(this).attr("href"),r=e(i);n.preventDefault(),e(".wpseo-metabox-menu li").removeClass("active").find("[role='tab']").removeClass("yoast-active-tab"),e(".wpseo-meta-section").removeClass("active"),e(".wpseo-meta-section-react.active").removeClass("active"),"#wpseo-meta-section-content"===i&&e(".wpseo-meta-section-react").addClass("active"),r.addClass("active"),e(this).parent("li").addClass("active").find("[role='tab']").addClass("yoast-active-tab");const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new CustomEvent(e,{detail:t})}("YoastSEO:metaTabChange",{metaTabId:s});window.dispatchEvent(a),this&&(function(e){e.attr({"aria-selected":"false",tabIndex:"-1"})}(t),this.removeAttribute("tabindex"),this.setAttribute("aria-selected","true"))}))}}window.wpseoInitTabs=n,window.wpseo_init_tabs=n,e(".wpseo-meta-section").each((function(t,n){e(n).find(".wpseotab:first").addClass("active")})),window.wpseo_init_tabs(),function(){const n=e(".yoast-aria-tabs"),s=n.find("[role='tab']"),i=n.attr("aria-orientation")||"horizontal";s.attr({"aria-selected":!1,tabIndex:"-1"}),s.filter(".yoast-active-tab").removeAttr("tabindex").attr("aria-selected","true"),s.on("keydown",(function(n){-1!==[32,35,36,37,38,39,40].indexOf(n.which)&&("horizontal"===i&&-1!==[38,40].indexOf(n.which)||"vertical"===i&&-1!==[37,39].indexOf(n.which)||function(n,s){const i=n.which,r=s.index(e(n.target));switch(i){case 32:n.preventDefault(),t(s[r]);break;case 35:n.preventDefault(),t(s[s.length-1]);break;case 36:n.preventDefault(),t(s[0]);break;case 37:case 38:n.preventDefault(),t(s[r-1<0?s.length-1:r-1]);break;case 39:case 40:n.preventDefault(),t(s[r+1===s.length?0:r+1])}}(n,s))}))}()}n.d(t,"a",(function(){return s}))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(39),i=n(4),r=n(105),a=n(66),o=n(18),c=n(15);function l(e,t,n,l,d){const u=Object(i.cloneDeep)(t.getState());Object(i.merge)(u,n.getData());const p=e.getData();let h=null;d&&(h=d.getBlocks(),h=h.map(e=>function e(t){const n={attributes:{}};return["level","content","alt"].forEach(e=>{t.attributes[e]&&(n.attributes[e]=t.attributes[e])}),n.name=t.name,n.clientId=t.clientId,n.innerBlocks=t.innerBlocks.map(t=>e(t)),n}(e)));const g={text:p.content,textTitle:p.title,keyword:u.focusKeyword,synonyms:u.synonyms,description:u.analysisData.snippet.description||u.snippetEditor.data.description,title:u.analysisData.snippet.title||u.snippetEditor.data.title,slug:u.snippetEditor.data.slug,permalink:u.settings.snippetEditor.baseUrl+u.snippetEditor.data.slug,wpBlocks:h,date:u.settings.snippetEditor.date};l.loaded&&(g.title=l._applyModifications("data_page_title",g.title),g.title=l._applyModifications("title",g.title),g.description=l._applyModifications("data_meta_desc",g.description),g.text=l._applyModifications("content",g.text),g.wpBlocks=l._applyModifications("wpBlocks",g.wpBlocks));const f=u.analysisData.snippet.filteredSEOTitle;return g.titleWidth=Object(r.a)(f||u.snippetEditor.data.title),g.locale=Object(a.a)(),g.writingDirection=function(){let e="LTR";return Object(o.a)().isRtl&&(e="RTL"),e}(),c.Paper.parse(Object(s.applyFilters)("yoast.analysis.data",g))}},,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){(function(t){!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:m,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function s(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=p(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=p(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=p(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=p(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=p(n._paragraph).replace("hr",n.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",n._tag).getRegex(),n.blockquote=p(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=y({},n),n.gfm=y({},n.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=y({},n.normal,{html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:m,paragraph:p(n.normal._paragraph).replace("hr",n.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",n.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),s.rules=n,s.lex=function(e,t){return new s(t).lex(e)},s.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},s.prototype.token=function(e,t){var s,i,r,a,o,c,l,u,p,h,g,f,m,y,O,v;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e)){var _=this.tokens[this.tokens.length-1];e=e.substring(r[0].length),_&&"paragraph"===_.type?_.text+="\n"+r[0].trimRight():(r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?r:w(r,"\n")}))}else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2]?r[2].trim():r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if((r=this.rules.nptable.exec(e))&&(c={type:"table",header:b(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===c.align.length){for(e=e.substring(r[0].length),g=0;g ?/gm,""),this.token(r,t),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),l={type:"list_start",ordered:y=(a=r[2]).length>1,start:y?+a:"",loose:!1},this.tokens.push(l),u=[],s=!1,m=(r=r[0].match(this.rules.item)).length,g=0;g1?1===o.length:o.length>1||this.options.smartLists&&o!==a)&&(e=r.slice(g+1).join("\n")+e,g=m-1)),i=s||/\n\n(?!\s*$)/.test(c),g!==m-1&&(s="\n"===c.charAt(c.length-1),i||(i=s)),i&&(l.loose=!0),v=void 0,(O=/^\[[ xX]\] /.test(c))&&(v=" "!==c[1],c=c.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:O,checked:v,loose:i},u.push(p),this.tokens.push(p),this.token(c,!1),this.tokens.push({type:"list_item_end"});if(l.loose)for(m=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",i.em=p(i.em).replace(/punctuation/g,i._punctuation).getRegex(),i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=p(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=p(i.tag).replace("comment",n._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,i._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=p(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=p(i.reflink).replace("label",i._label).getRegex(),i.normal=y({},i),i.pedantic=y({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=y({},i.normal,{escape:p(i.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),e=e.substring(a[0].length),c+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0];else if(a=this.rules.link.exec(e)){var l=O(a[2],"()");if(l>-1){var u=4+a[1].length+l;a[2]=a[2].substring(0,l),a[0]=a[0].substring(0,u).trim(),a[3]=""}e=e.substring(a[0].length),this.inLink=!0,s=a[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s))?(s=t[1],i=t[3]):i="":i=a[3]?a[3].slice(1,-1):"",s=s.trim().replace(/^<([\s\S]*)>$/,"$1"),c+=this.outputLink(a,{href:r.escapes(s),title:r.escapes(i)}),this.inLink=!1}else if((a=this.rules.reflink.exec(e))||(a=this.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){c+=a[0].charAt(0),e=a[0].substring(1)+e;continue}this.inLink=!0,c+=this.outputLink(a,t),this.inLink=!1}else if(a=this.rules.strong.exec(e))e=e.substring(a[0].length),c+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(e))e=e.substring(a[0].length),c+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(e))e=e.substring(a[0].length),c+=this.renderer.codespan(d(a[2].trim(),!0));else if(a=this.rules.br.exec(e))e=e.substring(a[0].length),c+=this.renderer.br();else if(a=this.rules.del.exec(e))e=e.substring(a[0].length),c+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(e))e=e.substring(a[0].length),s="@"===a[2]?"mailto:"+(n=d(this.mangle(a[1]))):n=d(a[1]),c+=this.renderer.link(s,null,n);else if(this.inLink||!(a=this.rules.url.exec(e))){if(a=this.rules.text.exec(e))e=e.substring(a[0].length),this.inRawBlock?c+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0]):c+=this.renderer.text(d(this.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===a[2])s="mailto:"+(n=d(a[0]));else{do{o=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(o!==a[0]);n=d(a[0]),s="www."===a[1]?"http://"+n:n}e=e.substring(a[0].length),c+=this.renderer.link(s,null,n)}return c},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var n=t.href,s=t.title?d(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,s,this.output(e[1])):this.renderer.image(n,s,d(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",s=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+=""+t+";";return n},a.prototype.code=function(e,t,n){var s=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,s);null!=i&&i!==e&&(n=!0,e=i)}return s?''+(n?e:d(e,!0))+"
\n":""+(n?e:d(e,!0))+"
"},a.prototype.blockquote=function(e){return"\n"+e+" \n"},a.prototype.html=function(e){return e},a.prototype.heading=function(e,t,n,s){return this.options.headerIds?"\n":""+e+" \n"},a.prototype.hr=function(){return this.options.xhtml?" \n":" \n"},a.prototype.list=function(e,t,n){var s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+s+">\n"},a.prototype.listitem=function(e){return""+e+" \n"},a.prototype.checkbox=function(e){return" "},a.prototype.paragraph=function(e){return" "+e+"
\n"},a.prototype.table=function(e,t){return t&&(t=""+t+" "),"\n"},a.prototype.tablerow=function(e){return"\n"+e+" \n"},a.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+""+n+">\n"},a.prototype.strong=function(e){return""+e+" "},a.prototype.em=function(e){return""+e+" "},a.prototype.codespan=function(e){return""+e+"
"},a.prototype.br=function(){return this.options.xhtml?" ":" "},a.prototype.del=function(e){return""+e+""},a.prototype.link=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s='"+n+" "},a.prototype.image=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s=' ":">")},a.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},c.parse=function(e,t){return new c(t).parse(e)},c.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,y({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},c.prototype.next=function(){return this.token=this.tokens.pop(),this.token},c.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},c.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},c.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,s,i="",r="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},d.escapeTest=/[&<>"']/,d.escapeReplace=/[&<>"']/g,d.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},d.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,d.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var g={},f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function y(e){for(var t,n,s=1;s=0&&"\\"===n[i];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:
"+d(e.message+"",!0)+" ";throw e}}m.exec=m,_.options=_.setOptions=function(e){return y(_.defaults,e),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new a,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=c,_.parser=c.parse,_.Renderer=a,_.TextRenderer=o,_.Lexer=s,_.lexer=s.lex,_.InlineLexer=r,_.inlineLexer=r.output,_.Slugger=l,_.parse=_,e.exports=_}(this||"undefined"!=typeof window&&window)}).call(this,n(200))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var s=n(51),i=n.n(s),r=n(21),a=n.n(r),o=n(4),c=n(214),l=n(173),d=n(174),u=n(207),p=n(5),h=n(162),g=n.n(h),f=n(94);var m=n(215),y=n(15),b=n(150),w=n(191),O=n(108);const v=new RegExp("\\[[^<>&/\\[\\]\0- =]+?( [^\\]]+?)?\\]","g"),j=new RegExp("\\[/[^<>&/\\[\\]\0- =]+?\\]","g");var k=function(e){let{registerPlugin:t,registerModification:n,pluginReady:s,pluginReloaded:i}=e;this._registerModification=n,this._pluginReady=s,this._pluginReloaded=i,t("YoastShortcodePlugin",{status:"loading"}),this.bindElementEvents();var r="("+wpseoScriptData.analysis.plugins.shortcodes.wpseo_shortcode_tags.join("|")+")";this.keywordRegex=new RegExp(r,"g"),this.closingTagRegex=new RegExp("\\[\\/"+r+"\\]","g"),this.nonCaptureRegex=new RegExp("\\["+r+"[^\\]]*?\\]","g"),this.parsedShortcodes=[],this.loadShortcodes(this.declareReady.bind(this))};k.prototype.declareReady=function(){this._pluginReady("YoastShortcodePlugin"),this.registerModifications()},k.prototype.declareReloaded=function(){this._pluginReloaded("YoastShortcodePlugin")},k.prototype.registerModifications=function(){this._registerModification("content",this.replaceShortcodes.bind(this),"YoastShortcodePlugin")},k.prototype.removeUnknownShortCodes=function(e){return(e=e.replace(v,"")).replace(j,"")},k.prototype.replaceShortcodes=function(e){var t=this.parsedShortcodes;if("string"==typeof e&&t.length>0)for(var n=0;n0))return e();this.parseShortcodes(t,e)},k.prototype.bindElementEvents=function(){var e=document.getElementById("content")||!1,t=_.debounce(this.loadShortcodes.bind(this,this.declareReloaded.bind(this)),500);e&&(e.addEventListener("keyup",t),e.addEventListener("change",t)),"undefined"!=typeof tinyMCE&&"function"==typeof tinyMCE.on&&tinyMCE.on("addEditor",(function(e){e.editor.on("change",t),e.editor.on("keyup",t)}))},k.prototype.getContentTinyMCE=function(){var e=document.getElementById("content")&&document.getElementById("content").value||"";return"undefined"!=typeof tinyMCE&&void 0!==tinyMCE.editors&&0!==tinyMCE.editors.length&&(e=tinyMCE.get("content")&&tinyMCE.get("content").getContent()||""),e},k.prototype.getUnparsedShortcodes=function(e){if("object"!=typeof e)return console.error("Failed to get unparsed shortcodes. Expected parameter to be an array, instead received "+typeof e),!1;for(var t=[],n=0;n0?void jQuery.post(ajaxurl,{action:"wpseo_filter_shortcodes",_wpnonce:wpseoScriptData.analysis.plugins.shortcodes.wpseo_filter_shortcodes_nonce,data:e},function(e){this.saveParsedShortcodes(e,t)}.bind(this)):t()},k.prototype.saveParsedShortcodes=function(e,t){e=JSON.parse(e);for(var n=0;n label");return s.length?e=this.getCategoryName(s):e},V.prototype.getSearchUrl=function(){return wpseoScriptData.metabox.search_url},V.prototype.getPostUrl=function(){return wpseoScriptData.metabox.post_edit_url},V.prototype.getPermalink=function(){var e=this.getUrl();return wpseoScriptData.metabox.base_url+e},V.prototype.getCategoryName=function(e){var t=e.clone();return t.children().remove(),t.text().trim()},V.prototype.setDataFromSnippet=function(e,t){switch(t){case"snippet_meta":document.getElementById("yoast_wpseo_metadesc").value=e;break;case"snippet_cite":if(this.leavePostNameUntouched)return void(this.leavePostNameUntouched=!1);null!==document.getElementById("post_name")&&(document.getElementById("post_name").value=e),null!==document.getElementById("editable-post-name")&&null!==document.getElementById("editable-post-name-full")&&(document.getElementById("editable-post-name").textContent=e,document.getElementById("editable-post-name-full").textContent=e);break;case"snippet_title":document.getElementById("yoast_wpseo_title").value=e}},V.prototype.saveSnippetData=function(e){this.setDataFromSnippet(e.title,"snippet_title"),this.setDataFromSnippet(e.urlPath,"snippet_cite"),this.setDataFromSnippet(e.metaDesc,"snippet_meta")},V.prototype.bindElementEvents=function(e){this.inputElementEventBinder(e),this.changeElementEventBinder(e)},V.prototype.changeElementEventBinder=function(e){for(var t=["#yoast-wpseo-primary-category",'.categorychecklist input[name="post_category[]"]'],n=0;n"+e.responseText+"").find("#editable-post-name-full").text()}function d(){const e={};return Object(F.a)()&&(e.output="does-not-really-exist-but-it-needs-something"),Object(U.a)()&&(e.contentOutput="also-does-not-really-exist-but-it-needs-something"),e}function u(e){Object(o.isUndefined)(e.seoAssessorPresenter)||(e.seoAssessorPresenter.render=function(){}),Object(o.isUndefined)(e.contentAssessorPresenter)||(e.contentAssessorPresenter.render=function(){},e.contentAssessorPresenter.renderIndividualRatings=function(){})}let h;function g(e,t){const n=h||"";h=e.getState().analysisData.snippet,!Object(b.isShallowEqualObjects)(n,h)&&t()}function m(e,t){"visual"!==e?t.dispatch(se("disabled")):t.dispatch(se("enabled"))}function v(){return Object(p.select)("core/edit-post").getEditorMode()}jQuery(document).on("ajaxComplete",(function(e,n,s){if("/admin-ajax.php"===s.url.substr(0-"/admin-ajax.php".length)&&"string"==typeof s.data&&-1!==s.data.indexOf("action=sample-permalink")){a.leavePostNameUntouched=!0;const e={slug:l(n)};t.dispatch(ie(e))}})),function(){if(s=e("#wpseo_meta"),R.setStore(t),R.wpTextViewOnInitCheck(),function(){const e=new C.a;e.isClassicEditorHidden()&&R.disableMarkerButtons(),e.vcActive?R.disableMarkerButtons():e.listen({classicEditorHidden:()=>{R.disableMarkerButtons()},classicEditorShown:()=>{R.isTextViewActive()||R.enableMarkerButtons()}})}(),0===s.length)return;a=function(e){const n=new K({data:e,store:t});return n.leavePostNameUntouched=!1,n}(n),A.initialize();const l=function(t){!function(e){(void 0===window.tinyMCE||Object(f.a)()||"1"!==wpseoScriptData.metabox.show_markers)&&e.dispatch(se("disabled"))}(t);const n={elementTarget:[R.tmceId,"yoast_wpseo_focuskw_text_input","yoast_wpseo_metadesc","excerpt","editable-post-name","editable-post-name-full"],targets:d(),callbacks:{getData:a.getData.bind(a)},locale:wpseoScriptData.metabox.contentLocale,marker:Object(G.a)(t),contentAnalysisActive:Object(U.a)(),keywordAnalysisActive:Object(F.a)(),hasSnippetPreview:!1,debouncedRefresh:!1,researcher:new window.yoast.Researcher.default};Object(F.a)()&&(t.dispatch(ne(e("#yoast_wpseo_focuskw").val())),n.callbacks.saveScores=a.saveScores.bind(a),n.callbacks.updatedKeywordsResults=function(e){const n=t.getState().focusKeyword;t.dispatch(ce(n,e)),t.dispatch(ae())}),Object(U.a)()&&(n.callbacks.saveContentScore=a.saveContentScore.bind(a),n.callbacks.updatedContentResults=function(e){t.dispatch(oe(e)),t.dispatch(ae())}),i=e("#title");const s=Object(W.a)();return Object(o.isUndefined)(s)||Object(o.isUndefined)(s.domain)||(n.translations=s),n}(t);r=new y.App(l),window.YoastSEO=window.YoastSEO||{},window.YoastSEO.app=r,window.YoastSEO.store=t,window.YoastSEO.analysis={},window.YoastSEO.analysis.worker=Object(D.a)(),window.YoastSEO.analysis.collectData=()=>Object(L.a)(n,t,c,r.pluggable,Object(p.select)("core/block-editor")),window.YoastSEO.analysis.applyMarks=(e,t)=>Object(G.a)()(e,t),window.YoastSEO.app.refresh=Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay),window.YoastSEO.app.registerCustomDataCallback=c.register,window.YoastSEO.app.pluggable=new T.a(window.YoastSEO.app.refresh),window.YoastSEO.app.registerPlugin=window.YoastSEO.app.pluggable._registerPlugin,window.YoastSEO.app.pluginReady=window.YoastSEO.app.pluggable._ready,window.YoastSEO.app.pluginReloaded=window.YoastSEO.app.pluggable._reloaded,window.YoastSEO.app.registerModification=window.YoastSEO.app.pluggable._registerModification,window.YoastSEO.app.registerAssessment=(e,t,n)=>{if(!Object(o.isUndefined)(r.seoAssessor))return window.YoastSEO.app.pluggable._registerAssessment(r.defaultSeoAssessor,e,t,n)&&window.YoastSEO.app.pluggable._registerAssessment(r.cornerStoneSeoAssessor,e,t,n)},window.YoastSEO.app.changeAssessorOptions=function(e){window.YoastSEO.analysis.worker.initialize(e).catch(X.a),window.YoastSEO.app.refresh()},Object(ee.a)(r.refresh,"get_focus_keyword_usage_and_post_types",t),t.subscribe(g.bind(null,t,r.refresh)),window.YoastSEO.analyzerArgs=l,window.YoastSEO.wp={},window.YoastSEO.wp.replaceVarsPlugin=new w.a(r,t),window.YoastSEO.wp.shortcodePlugin=new x({registerPlugin:r.registerPlugin,registerModification:r.registerModification,pluginReady:r.pluginReady,pluginReloaded:r.pluginReloaded}),Object(f.a)()&&new class{constructor(e,t,n){this._registerPlugin=e,this._registerModification=t,this._refreshAnalysis=n,this._reusableBlocks={},this._selectCore=Object(p.select)("core"),this._selectCoreEditor=Object(p.select)("core/editor"),this.reusableBlockChangeListener=this.reusableBlockChangeListener.bind(this),this.parseReusableBlocks=this.parseReusableBlocks.bind(this)}register(){this._registerPlugin("YoastReusableBlocksPlugin",{status:"ready"}),this._registerModification("content",this.parseReusableBlocks,"YoastReusableBlocksPlugin",1),Object(p.subscribe)(Object(o.debounce)(this.reusableBlockChangeListener,500))}reusableBlockChangeListener(){const{blocks:e}=this._selectCoreEditor.getPostEdits();if(!e)return;let t=!1;e.forEach(e=>{if(!Object(O.isReusableBlock)(e))return;const n=this.getBlockContent(e.attributes.ref);this._reusableBlocks[e.attributes.ref]?this._reusableBlocks[e.attributes.ref].content!==n&&(this._reusableBlocks[e.attributes.ref].content=n,t=!0):(this._reusableBlocks[e.attributes.ref]={id:e.attributes.ref,clientId:e.clientId,content:n},t=!0)}),t&&this._refreshAnalysis()}parseReusableBlocks(e){const t=//g;return e.match(t)?e.replace(t,(t,n)=>this._reusableBlocks[n]&&this._reusableBlocks[n].content?this._reusableBlocks[n].content:e):e}getBlockContent(e){const t=this._selectCore.getEditedEntityRecord("postType","wp_block",e);if(t){if(Object(o.isFunction)(t.content))return t.content(t);if(t.blocks)return Object(O.__unstableSerializeAndClean)(t.blocks);if(t.content)return t.content}return""}}(r.registerPlugin,r.registerModification,window.YoastSEO.app.refresh).register(),wpseoScriptData.metabox.markdownEnabled&&new class{constructor(e,t){this._registerPlugin=e,this._registerModification=t}register(){this._registerPlugin("YoastMarkdownPlugin",{status:"ready"}),this._registerModification("content",this.parseMarkdown.bind(this),"YoastMarkdownPlugin",1)}parseMarkdown(e){return S()(e)}}(r.registerPlugin,r.registerModification).register(),window.YoastSEO.wp._tinyMCEHelper=R,Object(F.a)()&&function(t){const n=e("#yoast_wpseo_linkdex").val(),s=Object($.a)(n);Object(I.a)(s),Object(M.a)(s),t.updateScore("keyword",s.className)}(A),Object(U.a)()&&function(t){const n=e("#yoast_wpseo_content_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("content",s.className)}(A),Object(H.a)()&&function(t){const n=e("#yoast_wpseo_inclusive_language_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("inclusive-language",s.className)}(A),window.YoastSEO.analysis.worker.initialize(Object(D.b)()).then(()=>{jQuery(window).trigger("YoastSEO:ready")}).catch(X.a),a.bindElementEvents(Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay)),u(r);const h=r.initAssessorPresenters.bind(r);r.initAssessorPresenters=function(){h(),u(r)},n.setRefresh&&n.setRefresh(r.refresh);let b=Object(Q.a)(a);const _=Object(Q.e)(wpseoScriptData.metabox);b=Object(Q.c)(b,_),t.dispatch(ie(b)),t.dispatch(re("1"===document.getElementById("yoast_wpseo_is_cornerstone").value));let j=t.getState().focusKeyword;Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j);const k=Object(o.debounce)(()=>{r.refresh()},50);let E=null;if(t.subscribe(()=>{const n=t.getState().focusKeyword;j!==n&&(j=n,Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j),e("#yoast_wpseo_focuskw").val(j),k());const s=Object(Q.b)(t),i=Object(Q.d)(s,_);b.title!==s.title&&a.setDataFromSnippet(i.title,"snippet_title"),b.slug!==s.slug&&a.setDataFromSnippet(i.slug,"snippet_cite"),b.description!==s.description&&a.setDataFromSnippet(i.description,"snippet_meta");const o=t.getState();E!==o.isCornerstone&&(E=o.isCornerstone,document.getElementById("yoast_wpseo_is_cornerstone").value=o.isCornerstone,r.changeAssessorOptions({useCornerstone:o.isCornerstone})),b.title=s.title,b.slug=s.slug,b.description=s.description}),Object(f.a)()){let e=v();m(e,t),Object(p.subscribe)(()=>{const n=v();n!==e&&(e=n,m(e,t))})}Object(B.initializationDone)(),window.YoastSEO.app.refresh()}()}window.YoastReplaceVarPlugin=w.a,window.YoastShortcodePlugin=x;var de=n(11),ue=n.n(de),pe=n(0),he=n(2),ge=n.n(he),fe=n(19),me=n(9),ye=n.n(me),be=n(20),we=n(26),Oe=n.n(we),ve=n(16);const _e=ye.a.div`
+Object(i.__)("To see this video, you need to allow %1$s to load embedded videos from %2$s.","wordpress-seo"),"Yoast SEO","Wistia")),Object(s.createElement)("div",{className:"yst-flex yst-mt-6 yst-gap-x-4"},Object(s.createElement)(r.Button,{type:"button",variant:"secondary",onClick:u,disabled:a.status===q.b.loading},Object(i.__)("Deny","wordpress-seo")),Object(s.createElement)(r.Button,{type:"button",variant:"primary",onClick:p,disabled:a.status===q.b.loading},Object(i.__)("Allow","wordpress-seo")))),a.value&&o===q.c.isPlaying&&Object(s.createElement)("div",{className:"yst-absolute yst-w-full yst-h-full yst-top-0 yst-left-0"},null===t&&Object(s.createElement)(r.Spinner,{className:"yst-h-full yst-mx-auto"}),null!==t&&Object(s.createElement)("div",{className:`wistia_embed wistia_async_${t} videoFoam=true`}))))};Y.propTypes={videoId:o.a.string.isRequired,thumbnail:o.a.shape({src:o.a.string.isRequired,width:o.a.string,height:o.a.string}).isRequired,wistiaEmbedPermission:o.a.shape({value:o.a.bool.isRequired,status:o.a.string.isRequired,set:o.a.func.isRequired}).isRequired}},function(e,t,n){"use strict";function s(){return window.wpseoScriptData&&"1"===window.wpseoScriptData.isBlockEditor}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";function s(e){var t=jQuery(".yst-traffic-light"),n=t.closest(".wpseo-meta-section-link"),s=jQuery("#wpseo-traffic-light-desc"),i=e.className||"na";t.attr("class","yst-traffic-light "+i),n.attr("aria-describedby","wpseo-traffic-light-desc"),s.length>0?s.text(e.screenReaderText):n.closest("li").append(""+e.screenReaderText+" ")}n.d(t,"a",(function(){return s}))},,,function(e,t,n){"use strict";n.r(t),n.d(t,"refreshDelay",(function(){return s}));const s=500},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var s=n(15),i=n(4);function r(e,t){return e._properties.position.startOffset>t.length||e._properties.position.endOffset>t.length}function a(e,t,n){const a=e.dom;let o=e.getContent();if(o=s.markers.removeMarks(o),Object(i.isEmpty)(n))return void e.setContent(o);o=n[0].hasPosition()?function(e,t){if(!t)return"";for(let n=(e=Object(i.orderBy)(e,e=>e._properties.position.startOffset,["asc"])).length-1;n>=0;n--){const s=e[n];r(s,t)||(t=s.applyWithPosition(t))}return t}(n,o):function(e,t,n,r){const{fieldsToMark:a,selectedHTML:o}=s.languageProcessing.getFieldsToMark(n,r);return Object(i.forEach)(n,(function(t){"acf_content"!==e.id&&(t._properties.marked=s.languageProcessing.normalizeHTML(t._properties.marked),t._properties.original=s.languageProcessing.normalizeHTML(t._properties.original)),a.length>0?o.forEach(e=>{const n=t.applyWithReplace(e);r=r.replace(e,n)}):r=t.applyWithReplace(r)})),r}(e,0,n,o),e.setContent(o),function(e){let t=e.getContent();t=t.replace(new RegExp("<yoastmark.+?>","g"),"").replace(new RegExp("</yoastmark>","g"),""),e.setContent(t)}(e);const c=a.select("yoastmark");Object(i.forEach)(c,(function(e){e.setAttribute("data-mce-bogus","1")}))}function o(e){return window.test=e,a.bind(null,e)}function c(e){return-1!==e.getContent({format:"raw"}).indexOf("0&&void 0!==arguments[0]?arguments[0]:{},t={locale:Object(r.a)(),contentAnalysisActive:Object(c.a)(),keywordAnalysisActive:Object(l.a)(),inclusiveLanguageAnalysisActive:Object(d.a)(),defaultQueryParams:a(),logLevel:Object(s.get)(window,["wpseoScriptData","analysis","worker","log_level"],"ERROR"),enabledFeatures:Object(u.enabledFeatures)()};t=Object(s.merge)(t,e);const n=Object(o.a)();return Object(s.isUndefined)(n)||Object(s.isUndefined)(n.domain)||(t.translations=n),t}},function(e,t){e.exports=window.yoast.reactHelmet},,,,function(e,t,n){"use strict";function s(e){let t=document.getElementById("yoast-measurement-element");return t||(t=function(){const e=document.createElement("div");return e.id="yoast-measurement-element",e.style.position="absolute",e.style.left="-9999em",e.style.top=0,e.style.height=0,e.style.overflow="hidden",e.style.fontFamily="arial, sans-serif",e.style.fontSize="20px",e.style.fontWeight="400",document.body.appendChild(e),e}()),t.innerText=e,t.offsetWidth}n.d(t,"a",(function(){return s}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(18),i=n(4);function r(){const e=Object(s.a)();return 1===Object(i.get)(e,"inclusiveLanguageAnalysisActive",0)}},,function(e,t){e.exports=window.wp.blocks},,function(e,t,n){"use strict";n.r(t),n.d(t,"updateScore",(function(){return a})),n.d(t,"createScoresInPublishBox",(function(){return o})),n.d(t,"scrollToCollapsible",(function(){return c})),n.d(t,"initialize",(function(){return l}));var s=n(4),i=jQuery;function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return null!==n?Object(s.get)(n,t,""):Object(s.get)(wpseoScriptData,`metabox.publish_box.labels.${e}.${t}`,"")}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;var s=i("#"+e+"-score"),a="image yoast-logo svg "+t;s.children(".image").attr("class",a);var o=r(e,t,n);s.children(".score-text").html(o)}function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const s=i("
",{class:"misc-pub-section yoast yoast-seo-score "+e+"-score",id:e+"-score"}),a=i(" ",{class:"score-text",html:r(e,t,n)}),o=i("").attr("class","image yoast-logo svg na");s.append(o).append(a),i("#yoast-seo-publishbox-section").append(s)}function c(e){const t=i("#wpadminbar"),n=i(e);if(!t||!n)return;const s="fixed"===t.css("position")?t.height():0;i([document.documentElement,document.body]).animate({scrollTop:n.offset().top-s},1e3),n.trigger("focus"),0===n.parent().siblings().length&&n.trigger("click")}function l(){wpseoScriptData.metabox.keywordAnalysisActive&&o("keyword","na"),wpseoScriptData.metabox.contentAnalysisActive&&o("content","na"),wpseoScriptData.metabox.inclusiveLanguageAnalysisActive&&o("inclusive-language","na"),i("#content-score").on("click","[href='#yoast-readability-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-readability").click(),c("#wpseo-meta-section-readability")})),i("#keyword-score").on("click","[href='#yoast-seo-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-content").click(),c("#yoast-seo-analysis-collapsible-metabox")})),i("#inclusive-language-score").on("click","[href='#yoast-inclusive-language-analysis-collapsible-metabox']",(function(e){e.preventDefault(),document.querySelector("#wpseo-meta-tab-inclusive-language").click(),c("#wpseo-meta-section-inclusive-language")}))}},,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);const i=function(){for(var e=arguments.length,t=new Array(e),n=0;nt.map(e=>e())};t.b=(e,t)=>{let n=e();return()=>{const i=e();Object(s.isEqual)(i,n)||(n=i,t(Object(s.clone)(i)))}}},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return c}));var s=n(4);function i(e){return{title:e.getSnippetTitle(),slug:e.getSnippetCite(),description:e.getSnippetMeta()}}function r(e){const t=e.getState().snippetEditor.data;return{title:t.title,slug:t.slug,description:t.description}}function a(e){const t={};if(Object(s.isUndefined)(e))return t;t.title=e.title_template;const n=e.metadesc_template;return Object(s.isEmpty)(n)||(t.description=n),t}function o(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&""===e[i]&&(n[i]=t)}),n}function c(e,t){const n={...e};return Object(s.forEach)(t,(t,i)=>{Object(s.has)(e,i)&&e[i].trim()===t&&(n[i]="")}),n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(e){this.refresh=e,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this._registerPlugin=this._registerPlugin.bind(this),this._ready=this._ready.bind(this),this._reloaded=this._reloaded.bind(this),this._registerModification=this._registerModification.bind(this),this._registerAssessment=this._registerAssessment.bind(this),this._applyModifications=this._applyModifications.bind(this),setTimeout(this._pollLoadingPlugins.bind(this),1500)}_registerPlugin(e,t){return Object(s.isString)(e)?Object(s.isUndefined)(t)||Object(s.isObject)(t)?!1===this._validateUniqueness(e)?(console.error("Failed to register plugin. Plugin with name "+e+" already exists"),!1):(this.plugins[e]=t,!0):(console.error("Failed to register plugin "+e+". Expected parameters `options` to be a object."),!1):(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1)}_ready(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to modify status for plugin "+e+". The plugin was not properly registered."),!1):(this.plugins[e].status="ready",!0):(console.error("Failed to modify status for plugin "+e+". Expected parameter `pluginName` to be a string."),!1)}_reloaded(e){return Object(s.isString)(e)?Object(s.isUndefined)(this.plugins[e])?(console.error("Failed to reload Content Analysis for plugin "+e+". The plugin was not properly registered."),!1):(this.refresh(),!0):(console.error("Failed to reload Content Analysis for "+e+". Expected parameter `pluginName` to be a string."),!1)}_registerModification(e,t,n,i){if(!Object(s.isString)(e))return console.error("Failed to register modification for plugin "+n+". Expected parameter `modification` to be a string."),!1;if(!Object(s.isFunction)(t))return console.error("Failed to register modification for plugin "+n+". Expected parameter `callable` to be a function."),!1;if(!Object(s.isString)(n))return console.error("Failed to register modification for plugin "+n+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(n))return console.error("Failed to register modification for plugin "+n+". The integration has not finished loading yet."),!1;const r={callable:t,origin:n,priority:Object(s.isNumber)(i)?i:10};return Object(s.isUndefined)(this.modifications[e])&&(this.modifications[e]=[]),this.modifications[e].push(r),!0}_registerAssessment(e,t,n,i){return Object(s.isString)(t)?Object(s.isObject)(n)?Object(s.isString)(i)?(t=i+"-"+t,e.addAssessment(t,n),!0):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `pluginName` to be a string."),!1):(console.error("Failed to register assessment for plugin "+i+". Expected parameter `assessment` to be a function."),!1):(console.error("Failed to register test for plugin "+i+". Expected parameter `name` to be a string."),!1)}_applyModifications(e,t,n){let i=this.modifications[e];return!Object(s.isArray)(i)||i.length<1||(i=this._stripIllegalModifications(i),i.sort((e,t)=>e.priority-t.priority),Object(s.forEach)(i,(function(s){const i=s.callable(t,n);typeof i==typeof t?t=i:console.error("Modification with name "+e+" performed by plugin with name "+s.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}))),t}_pollLoadingPlugins(e){e=Object(s.isUndefined)(e)?0:e,!0===this._allReady()?(this.loaded=!0,this.refresh()):e>=this.preloadThreshold?(this._pollTimeExceeded(),this.loaded=!0,this.refresh()):(e+=50,setTimeout(this._pollLoadingPlugins.bind(this,e),50))}_allReady(){return Object(s.reduce)(this.plugins,(function(e,t){return e&&"ready"===t.status}),!0)}_pollTimeExceeded(){Object(s.forEach)(this.plugins,(function(e,t){Object(s.isUndefined)(e.options)||"ready"===e.options.status||(console.error("Error: Plugin "+t+". did not finish loading in time."),delete this.plugins[t])}))}_stripIllegalModifications(e){return Object(s.forEach)(e,(t,n)=>{!1===this._validateOrigin(t.origin)&&delete e[n]}),e}_validateOrigin(e){return"ready"===this.plugins[e].status}_validateUniqueness(e){return Object(s.isUndefined)(this.plugins[e])}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=n(18);function r(){const e=Object(i.a)();return Object(s.get)(e,"translations",{domain:"wordpress-seo",locale_data:{"wordpress-seo":{"":{}}}})}},,function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return y})),n.d(t,"c",(function(){return b}));var s=n(4),i=(n(199),n(72)),r=n(5);const a="";let o=[];const c={"core/paragraph":[{key:"content"}],"core/list":[{key:"values",multilineTag:"li",multilineWrapperTag:["ul","ol"]}],"core/list-item":[{key:"content"}],"core/heading":[{key:"content"}],"core/audio":[{key:"caption"}],"core/embed":[{key:"caption"}],"core/gallery":[{key:"caption"}],"core/image":[{key:"caption"}],"core/table":[{key:"caption"}],"core/video":[{key:"caption"}],"yoast/faq-block":[{key:"questions"}],"yoast/how-to-block":[{key:"steps"}]},l={singleH1:{"core/heading":[{key:"content",filter:e=>1===e.level}]}};function d(){const e=o.shift();e&&(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation(e),u())}function u(){Object(s.isFunction)(window.requestIdleCallback)?window.requestIdleCallback(d,{timeout:1e3}):setTimeout(d,150)}function p(){return Object(r.select)("core/block-editor")&&Object(s.isFunction)(Object(r.select)("core/block-editor").getBlocks)&&Object(r.select)("core/annotations")&&Object(s.isFunction)(Object(r.dispatch)("core/annotations").__experimentalAddAnnotation)}function h(e){const t=Object(r.select)("yoast-seo/editor").getActiveMarker(),n=l[t]||c;return n.hasOwnProperty(e)?n[e]:[]}function g(e,t,n,r,o){const c=Object(i.create)({html:e,multilineTag:n.multilineTag,multilineWrapperTag:n.multilineWrapperTag}).text;return Object(s.flatMap)(o,e=>{const n=function(e,t){const n=t.getOriginal().replace(/(<([^>]+)>)/gi,""),s=t.getMarked().replace(/(<(?!\/?yoastmark)[^>]+>)/gi,""),i=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=[];if(0===e.length)return s;let i,r=0;for(n||(t=t.toLowerCase(),e=e.toLowerCase());(i=e.indexOf(t,r))>-1;)s.push(i),r=i+t.length;return s}(e,n);if(0===i.length)return[];const r=function(e){let t=e.indexOf(a);const n=t>=0;n||(t=e.indexOf(''));let s=null;const i=[];for(;t>=0;){if(s=(e=n?e.replace(a,""):e.replace('',"")).indexOf(" "),s",""),i.push({startOffset:t,endOffset:s}),t=n?e.indexOf(a):e.indexOf(''),s=null}return i}(s),o=[];return r.forEach(e=>{i.forEach(s=>{const i=s+e.startOffset;let r=s+e.endOffset;0===e.startOffset&&e.endOffset===t.getOriginal().length&&(r=s+n.length),o.push({startOffset:i,endOffset:r})})}),o}(c,e);return n?n.map(e=>({...e,block:r.clientId,richTextIdentifier:t})):[]})}function f(e,t,n){const i=e.key,{attributes:r}=t;return e.filter&&!e.filter(r)?[]:"yoast/faq-block"===t.name||"yoast/how-to-block"===t.name?function(e,t,n){const i=t.attributes[e.key];if("yoast/faq-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-question",r=s.id+"-answer",a=g(s.jsonQuestion,i,e,t,n),o=g(s.jsonAnswer,r,e,t,n);return a.concat(o)});return Object(s.flatMap)(r)}if("yoast/how-to-block"===t.name&&0!==i.length){const r=i.map(s=>{const i=s.id+"-name",r=s.id+"-text",a=g(s.jsonName,i,e,t,n),o=g(s.jsonText,r,e,t,n);return a.concat(o)}),a=g(t.attributes.jsonDescription,"description",e,t,n);return Object(s.flatMap)(r.concat(a))}}(e,t,n):g(r[i],i,e,t,n)}function m(e){o=e.map(e=>({blockClientId:e.block,source:"yoast",richTextIdentifier:e.richTextIdentifier,range:{start:e.startOffset,end:e.endOffset}}))}function y(e){o=[],Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotationsBySource("yoast");const t=function(e){return Object(s.uniq)(Object(s.flatten)(e.map(e=>{if(!Object(s.isUndefined)(e.getFieldsToMark()))return e.getFieldsToMark()})))}(e);if(0===e.length)return;let n=Object(r.select)("core/block-editor").getBlocks();t.length>0&&(n=n.filter(e=>t.some(t=>"core/"+t===e.name))),m(function e(t,n){return Object(s.flatMap)(t,t=>{const i=function(e){return e.innerBlocks.length>0}(t)?e(t.innerBlocks,n):[];return function(e,t){return Object(s.flatMap)(h(e.name),n=>f(n,e,t))}(t,n).concat(i)})}(n,e)),u()}function b(){const e=Object(r.select)("core/editor").getSelectedBlock(),t=Object(r.select)("yoast-seo/editor").getActiveMarker();if(!e||!t)return;var n;n=e.clientId,Object(r.select)("core/annotations").__experimentalGetAnnotations().filter(e=>e.blockClientId===n&&"yoast"===e.source).forEach(e=>{Object(r.dispatch)("core/annotations").__experimentalRemoveAnnotation(e.id)});const i=Object(r.select)("yoast-seo/editor").getResultById(t);if(void 0===i)return;const a=i.marks;m(Object(s.flatMap)(h(e.name),t=>f(t,e,a))),u()}},,,,,,,function(e,t,n){"use strict";function s(e){let{alertKey:t}=e;return new Promise(e=>wpseoApi.post("alerts/dismiss",{key:t},()=>e()))}n.r(t),n.d(t,"DISMISS_ALERT",(function(){return s}))},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z"}))}));t.a=i},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return g}));var s=n(5),i=n(39),r=n(4),a=n(15),o=n(98),c=n(58),l=n(71),d=n(100),u=n(60);const p=Object(r.debounce)((async function(e,t){const{text:n,...r}=t,o=new a.Paper(n,r);try{const t=await e.analyze(o),{seo:n,readability:r,inclusiveLanguage:a}=t.result;if(n){const e=n[""];e.results=Object(l.sortResultsByIdentifier)(e.results),Object(s.dispatch)("yoast-seo/editor").setSeoResultsForKeyword(o.getKeyword(),e.results),Object(s.dispatch)("yoast-seo/editor").setOverallSeoScore(e.score,o.getKeyword())}r&&(r.results=Object(l.sortResultsByIdentifier)(r.results),Object(s.dispatch)("yoast-seo/editor").setReadabilityResults(r.results),Object(s.dispatch)("yoast-seo/editor").setOverallReadabilityScore(r.score)),a&&(a.results=Object(l.sortResultsByIdentifier)(a.results),Object(s.dispatch)("yoast-seo/editor").setInclusiveLanguageResults(a.results),Object(s.dispatch)("yoast-seo/editor").setOverallInclusiveLanguageScore(a.score)),Object(i.doAction)("yoast.analysis.run",t,{paper:o})}catch(e){Object(c.a)()}}),o.refreshDelay);function h(){const{getAnalysisData:e,getEditorDataTitle:t}=Object(s.select)("yoast-seo/editor");let n=e();n={...n,textTitle:t()};const r=function(e){return e.title=Object(u.a)("data_page_title",e.title),e.title=Object(u.a)("title",e.title),e.description=Object(u.a)("data_meta_desc",e.description),e.text=Object(u.a)("content",e.text),e}(n);return Object(i.applyFilters)("yoast.analysis.data",r)}function g(){const{getAnalysisTimestamp:e,isCornerstoneContent:t}=Object(s.select)("yoast-seo/editor"),n=Object(d.a)();n.initialize(Object(d.b)({useCornerstone:t()})).catch(c.a);let i=h(),a=t(),o=e();return Object(s.subscribe)(()=>{const s=t(),l=h(),d=e();if(s!==a)return a=s,i=l,void n.initialize({useCornerstone:s}).then(()=>p(n,l)).catch(c.a);d===o&&!1!==Object(r.isEqual)(l,i)||(i=l,o=d,p(n,l))}),n}},,,,,,,,function(e,t){e.exports=window.wp.isShallowEqual},function(e,t,n){"use strict";var s=n(4),i=class{static isActive(){return!!document.getElementById("et_pb_main_editor_wrap")}static isTinyMCEHidden(){const e=document.getElementById("et_pb_main_editor_wrap");return!!e&&e.classList.contains("et_pb_hidden")}listen(e){this.classicEditorContainer=document.getElementById("et_pb_main_editor_wrap"),this.classicEditorContainer&&new MutationObserver(t=>{Object(s.forEach)(t,t=>{"attributes"===t.type&&"class"===t.attributeName&&(t.target.classList.contains("et_pb_hidden")?e.classicEditorHidden():e.classicEditorShown())})}).observe(this.classicEditorContainer,{attributes:!0})}};const r={classicEditorHidden:s.noop,classicEditorShown:s.noop,pageBuilderLoaded:s.noop};t.a=class{constructor(){this.determineActivePageBuilders()}determineActivePageBuilders(){i.isActive()&&(this.diviActive=!0),class{static isActive(){return!!window.VCV_I18N}}.isActive()&&(this.vcActive=!0)}isPageBuilderActive(){return this.diviActive||this.vcActive}listen(e){this.callbacks=Object(s.defaults)(e,r),this.diviActive&&(new i).listen(e)}isClassicEditorHidden(){return!(!this.diviActive||!i.isTinyMCEHidden())}}},,,,,,,,,,,function(e,t){var n,s,i="",r=function(e){e=e||"polite";var t=document.createElement("div");return t.id="a11y-speak-"+e,t.className="a11y-speak-region",t.setAttribute("style","clip: rect(1px, 1px, 1px, 1px); position: absolute; height: 1px; width: 1px; overflow: hidden; word-wrap: normal;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true"),document.querySelector("body").appendChild(t),t};!function(e){if("complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll)return e();document.addEventListener("DOMContentLoaded",e)}((function(){n=document.getElementById("a11y-speak-polite"),s=document.getElementById("a11y-speak-assertive"),null===n&&(n=r("polite")),null===s&&(s=r("assertive"))})),e.exports=function(e,t){!function(){for(var e=document.querySelectorAll(".a11y-speak-region"),t=0;t]+>/g," "),i===e&&(e+=" "),i=e,s&&"assertive"===t?s.textContent=e:n&&(n.textContent=e)}},,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(4),i=jQuery;function r(e,t,n,s,r){this._scriptUrl=s,this._options={usedKeywords:t.keyword_usage,usedKeywordsPostTypes:t.keyword_usage_post_types,searchUrl:t.search_url,postUrl:t.post_edit_url},this._keywordUsage=t.keyword_usage,this._usedKeywordsPostTypes=t.keyword_usage_post_types,this._postID=i("#post_ID, [name=tag_ID]").val(),this._taxonomy=i("[name=taxonomy]").val()||"",this._nonce=r,this._ajaxAction=e,this._refreshAnalysis=n,this._initialized=!1}r.prototype.init=function(){const{worker:e}=window.YoastSEO.analysis;this.requestKeywordUsage=Object(s.debounce)(this.requestKeywordUsage.bind(this),500),e.loadScript(this._scriptUrl).then(()=>{e.sendMessage("initialize",this._options,"used-keywords-assessment")}).then(()=>{this._initialized=!0,Object(s.isEqual)(this._options.usedKeywords,this._keywordUsage)?this._refreshAnalysis():e.sendMessage("updateKeywordUsage",this._keywordUsage,"used-keywords-assessment").then(()=>this._refreshAnalysis())}).catch(e=>console.error(e))},r.prototype.setKeyword=function(e){Object(s.has)(this._keywordUsage,e)||this.requestKeywordUsage(e)},r.prototype.requestKeywordUsage=function(e){i.post(ajaxurl,{action:this._ajaxAction,post_id:this._postID,keyword:e,taxonomy:this._taxonomy,nonce:this._nonce},this.updateKeywordUsage.bind(this,e),"json")},r.prototype.updateKeywordUsage=function(e,t){const{worker:n}=window.YoastSEO.analysis,i=t.keyword_usage,r=t.post_types;i&&Object(s.isArray)(i)&&(this._keywordUsage[e]=i,this._usedKeywordsPostTypes[e]=r,this._initialized&&n.sendMessage("updateKeywordUsage",{usedKeywords:this._keywordUsage,usedKeywordsPostTypes:this._usedKeywordsPostTypes},"used-keywords-assessment").then(()=>this._refreshAnalysis()))}},function(e,t,n){"use strict";var s=n(5),i=n(4),r=n(15),a=n(121),o=n(142);t.a=()=>{if(Object(s.select)("yoast-seo/editor").getPreference("isInsightsEnabled",!1))return Object(s.dispatch)("yoast-seo/editor").loadEstimatedReadingTime(),Object(s.subscribe)(Object(i.debounce)((()=>{const{getEditorDataContent:e,getContentLocale:t}=Object(s.select)("yoast-seo/editor"),n=Object(a.a)(e,t),c=(()=>{const{setEstimatedReadingTime:e,setFleschReadingEase:t,setTextLength:n}=Object(s.dispatch)("yoast-seo/editor"),a=Object(i.get)(window,"YoastSEO.analysis.worker.runResearch",i.noop);return()=>{const s=r.Paper.parse(Object(o.a)());a("readingTime",s).then(t=>e(t.result)),a("getFleschReadingScore",s).then(e=>{e.result&&t(e.result)}),a("wordCountInText",s).then(e=>n(e.result))}})();return setTimeout(c,1500),Object(a.b)(n,c)})(),1500,{maxWait:3e3}))}},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var s=n(1),i=n(4);function r(e){function t(){e("#copy-home-meta-description").on("click",(function(){e("#open_graph_frontpage_desc").val(e("#meta_description").val())}))}function n(){var t=e("#wpseo-conf");if(t.length){var n=t.attr("action").split("#")[0];t.attr("action",n+window.location.hash)}}function r(){var t=window.location.hash.replace("#top#","");-1!==t.search("#top")&&(t=window.location.hash.replace("#top%23","")),""!==t&&"#"!==t.charAt(0)||(t=e(".wpseotab").attr("id")),e("#"+t).addClass("active"),e("#"+t+"-tab").addClass("nav-tab-active").trigger("click")}function a(t){const n=e("#noindex-author-noposts-wpseo-container");t?n.show():n.hide()}e.fn._wpseoIsInViewport=function(){const t=e(this).offset().top,n=t+e(this).outerHeight(),s=e(window).scrollTop(),i=s+e(window).height();return t>s&&n{e(this).is(":checked")||a(!1)}),o.on("change",()=>{e(this).is(":checked")||a(!0)}),e("#disable-date input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#date-archives-titles-metas-content").toggle("off"===e(this).val())})).trigger("change"),e("#disable-attachment input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#media_settings").toggle("off"===e(this).val())})).trigger("change"),e("#disable-post_format").on("change",(function(){e("#post_format-titles-metas").toggle(e(this).is(":not(:checked)"))})).trigger("change"),e("#zapier_integration_active input[type='radio']").on("change",(function(){e(this).is(":checked")&&e("#zapier-connection").toggle("on"===e(this).val())})).trigger("change"),e("#wincher_integration_active input[type='radio']").change((function(){e(this).is(":checked")&&e("#wincher-connection").toggle("on"===e(this).val())})).change(),e("#wpseo-tabs").find("a").on("click",(function(t){var n,i,r,a=!0;if(n=e(this),i=!!e("#first-time-configuration-tab").filter(".nav-tab-active").length,r=!!n.filter("#first-time-configuration-tab").length,i&&!r&&window.isStepBeingEdited&&(a=confirm(Object(s.__)("There are unsaved changes in one or more steps. Leaving means that those changes may not be saved. Are you sure you want to leave?","wordpress-seo"))),a){window.isStepBeingEdited=!1,e("#wpseo-tabs").find("a").removeClass("nav-tab-active"),e(".wpseotab").removeClass("active");var o=e(this).attr("id").replace("-tab",""),c=e("#"+o);c.addClass("active"),e(this).addClass("nav-tab-active"),c.hasClass("nosave")?e("#wpseo-submit-container").hide():e("#wpseo-submit-container").show(),e(window).trigger("yoast-seo-tab-change"),"first-time-configuration"===o?e("#yoast-first-time-configuration-notice").slideUp():e("#yoast-first-time-configuration-notice").slideDown()}else t.preventDefault(),e("#first-time-configuration-tab").trigger("focus")})),e("#yoast-first-time-configuration-notice a").on("click",(function(){e("#first-time-configuration-tab").click()})),e("#company_or_person").on("change",(function(){var t=e(this).val();"company"===t?(e("#knowledge-graph-company").show(),e("#knowledge-graph-person").hide()):"person"===t?(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").show()):(e("#knowledge-graph-company").hide(),e("#knowledge-graph-person").hide())})).trigger("change"),e(".switch-yoast-seo input").on("keydown",(function(e){"keydown"===e.type&&13===e.which&&e.preventDefault()})),e("body").on("click","button.toggleable-container-trigger",t=>{const n=e(t.currentTarget),s=n.parent().siblings(".toggleable-container");s.toggleClass("toggleable-container-hidden"),n.attr("aria-expanded",!s.hasClass("toggleable-container-hidden")).find("span").toggleClass("dashicons-arrow-up-alt2 dashicons-arrow-down-alt2")});const l=e("#opengraph"),d=e("#wpseo-opengraph-settings");l.length&&d.length&&(d.toggle(l[0].checked),l.on("change",e=>{d.toggle(e.target.checked)})),t(),r(),function(){if(!e("#enable_xml_sitemap input[type=radio]").length)return;const t=e("#yoast-seo-sitemaps-disabled-warning");e("#enable_xml_sitemap input[type=radio]").on("change",(function(){"off"===this.value?t.show():t.hide()}))}(),function(){const t=e("#wpseo-submit-container-float"),n=e("#wpseo-submit-container-fixed");if(!t.length||!n.length)return;function s(){t._wpseoIsInViewport()?n.hide():n.show()}e(window).on("resize scroll",Object(i.debounce)(s,100)),e(window).on("yoast-seo-tab-change",s);const r=e(".wpseo-message");r.length&&window.setTimeout(()=>{r.fadeOut()},5e3),s()}(),"undefined"!=typeof ClipboardJS&&new ClipboardJS("#copy-zapier-api-key").on("success",(function(t){t.clearSelection(),e(t.trigger).trigger("focus")}))}))}},function(e,t,n){"use strict";function s(e){e(document).ready((function(e){void 0!==wp.media&&e(".wpseo_image_upload_button").each((function(t,n){const s=function(t){let n=(t=e(t)).data("target");return n&&""!==n||(n=e(t).attr("id").replace(/_button$/,"")),n}(n),i=e(n).data("target-id"),r=e("#"+s),a=e("#"+i);var o=wp.media.frames.file_frame=wp.media({title:wpseoScriptData.media.choose_image,button:{text:wpseoScriptData.media.choose_image},multiple:!1,library:{type:"image"}});o.on("select",(function(){var e=o.state().get("selection").first().toJSON();r.val(e.url),a.val(e.id)}));const c=e(n);c.click((function(e){e.preventDefault(),o.open()})),c.siblings(".wpseo_image_remove_button").on("click",e=>{e.preventDefault(),r.val(""),a.val("")})}))}))}n.d(t,"a",(function(){return s}))},,,,function(e,t,n){"use strict";n.r(t),n.d(t,"wistiaEmbedPermission",(function(){return a})),n.d(t,"DISMISS_ALERT",(function(){return i.DISMISS_ALERT})),n.d(t,"SNIPPET_EDITOR_FIND_CUSTOM_FIELDS",(function(){return r}));var s=n(25),i=n(138);function r(e){let{query:t,postId:n}=e;return new Promise(e=>{wpseoApi.get("meta/search",{query:t,post_id:n},t=>{e(t.meta)})})}const a=s.s[s.d]},,,,,,,,,,,,,function(e,t,n){"use strict";var s=n(192),i=n(17),r=n(4),a=n(94),o=n(30);const{removeReplacementVariable:c,updateReplacementVariable:l,refreshSnippetEditor:d}=i.actions;var u=["content","title","snippet_title","snippet_meta","primary_category","data_page_title","data_meta_desc","excerpt"],p={},h={},g=function(e,t){this._app=e,this._app.registerPlugin("replaceVariablePlugin",{status:"ready"}),this._store=t,this.replaceVariables=this.replaceVariables.bind(this),this.registerReplacements(),this.registerModifications(),this.registerEvents(),this.subscribeToGutenberg()};g.prototype.registerReplacements=function(){this.addReplacement(new o.a("%%author_first_name%%","author_first_name")),this.addReplacement(new o.a("%%author_last_name%%","author_last_name")),this.addReplacement(new o.a("%%category%%","category")),this.addReplacement(new o.a("%%category_title%%","category_title")),this.addReplacement(new o.a("%%currentdate%%","currentdate")),this.addReplacement(new o.a("%%currentday%%","currentday")),this.addReplacement(new o.a("%%currentmonth%%","currentmonth")),this.addReplacement(new o.a("%%currenttime%%","currenttime")),this.addReplacement(new o.a("%%currentyear%%","currentyear")),this.addReplacement(new o.a("%%date%%","date")),this.addReplacement(new o.a("%%id%%","id")),this.addReplacement(new o.a("%%page%%","page")),this.addReplacement(new o.a("%%permalink%%","permalink")),this.addReplacement(new o.a("%%post_content%%","post_content")),this.addReplacement(new o.a("%%post_month%%","post_month")),this.addReplacement(new o.a("%%post_year%%","post_year")),this.addReplacement(new o.a("%%searchphrase%%","searchphrase")),this.addReplacement(new o.a("%%sitedesc%%","sitedesc")),this.addReplacement(new o.a("%%sitename%%","sitename")),this.addReplacement(new o.a("%%userid%%","userid")),this.addReplacement(new o.a("%%focuskw%%","keyword",{source:"app",aliases:["%%keyword%%"]})),this.addReplacement(new o.a("%%term_description%%","text",{source:"app",scope:["term","category","tag"],aliases:["%%tag_description%%","%%category_description%%"]})),this.addReplacement(new o.a("%%term_title%%","term_title",{scope:["term"]})),this.addReplacement(new o.a("%%term_hierarchy%%","term_hierarchy",{scope:["term"]})),this.addReplacement(new o.a("%%title%%","title",{source:"app",scope:["post","term","page"]})),this.addReplacement(new o.a("%%parent_title%%","title",{source:"app",scope:["page","category"]})),this.addReplacement(new o.a("%%excerpt%%","excerpt",{source:"app",scope:["post"],aliases:["%%excerpt_only%%"]})),this.addReplacement(new o.a("%%primary_category%%","primaryCategory",{source:"app",scope:["post"]})),this.addReplacement(new o.a("%%sep%%(\\s*%%sep%%)*","sep"))},g.prototype.registerEvents=function(){const e=wpseoScriptData.analysis.plugins.replaceVars.scope;"post"===e&&jQuery(".categorydiv").each(this.bindTaxonomyEvents.bind(this)),"post"!==e&&"page"!==e||jQuery("#postcustomstuff > #list-table").each(this.bindFieldEvents.bind(this))},g.prototype.subscribeToGutenberg=function(){if(!Object(a.a)())return;const e={0:""};let t=null;const n=wp.data;n.subscribe(()=>{const i=n.select("core/editor").getEditedPostAttribute("parent");if(void 0!==i&&t!==i)return t=i,i<1?(this._currentParentPageTitle="",void this.declareReloaded()):Object(r.isUndefined)(e[i])?void s.loadPromise.done(()=>{new s.models.Page({id:i}).fetch().then(t=>{this._currentParentPageTitle=t.title.rendered,e[i]=this._currentParentPageTitle,this.declareReloaded()}).fail(()=>{this._currentParentPageTitle="",this.declareReloaded()})}):(this._currentParentPageTitle=e[i],void this.declareReloaded())})},g.prototype.addReplacement=function(e){p[e.placeholder]=e},g.prototype.removeReplacement=function(e){delete p[e.getPlaceholder()]},g.prototype.registerModifications=function(){var e=this.replaceVariables.bind(this);Object(r.forEach)(u,function(t){this._app.registerModification(t,e,"replaceVariablePlugin",10)}.bind(this))},g.prototype.replaceVariables=function(e){return Object(r.isUndefined)(e)||(e=this.parentReplace(e),e=this.replaceCustomTaxonomy(e),e=this.replaceByStore(e),e=this.replacePlaceholders(e)),e},g.prototype.replaceByStore=function(e){const t=this._store.getState().snippetEditor.replacementVariables;return Object(r.forEach)(t,t=>{""!==t.value&&(e=e.replace("%%"+t.name+"%%",t.value))}),e},g.prototype.getReplacementSource=function(e){return"app"===e.source?this._app.rawData:"direct"===e.source?"direct":wpseoScriptData.analysis.plugins.replaceVars.replace_vars},g.prototype.getReplacement=function(e){var t=this.getReplacementSource(e.options);return!1===e.inScope(wpseoScriptData.analysis.plugins.replaceVars.scope)?"":"direct"===t?e.replacement:t[e.replacement]||""},g.prototype.replacePlaceholders=function(e){return Object(r.forEach)(p,function(t){e=e.replace(new RegExp(t.getPlaceholder(!0),"g"),this.getReplacement(t))}.bind(this)),e},g.prototype.declareReloaded=function(){this._app.pluginReloaded("replaceVariablePlugin"),this._store.dispatch(d())},g.prototype.getCategoryName=function(e){var t=e.parent("label").clone();return t.children().remove(),t.text().trim()},g.prototype.parseTaxonomies=function(e,t){Object(r.isUndefined)(h[t])&&(h[t]={});const n=[];Object(r.forEach)(e,function(e){const s=(e=jQuery(e)).val(),i=this.getCategoryName(e),r=e.prop("checked");h[t][s]={label:i,checked:r},r&&-1===n.indexOf(i)&&n.push(i)}.bind(this)),"category"!==t&&(t="ct_"+t),this._store.dispatch(l(t,n.join(", ")))},g.prototype.getAvailableTaxonomies=function(e){var t=jQuery(e).find("input[type=checkbox]"),n=jQuery(e).attr("id").replace("taxonomy-","");t.length>0&&this.parseTaxonomies(t,n),this.declareReloaded()},g.prototype.bindTaxonomyEvents=function(e,t){(t=jQuery(t)).on("wpListAddEnd",".categorychecklist",this.getAvailableTaxonomies.bind(this,t)),t.on("change","input[type=checkbox]",this.getAvailableTaxonomies.bind(this,t)),this.getAvailableTaxonomies(t)},g.prototype.replaceCustomTaxonomy=function(e){return Object(r.forEach)(h,function(t,n){var s="%%ct_"+n+"%%";"category"===n&&(s="%%"+n+"%%"),e=e.replace(s,this.getTaxonomyReplaceVar(n))}.bind(this)),e},g.prototype.getTaxonomyReplaceVar=function(e){var t=[],n=h[e];return!0===Object(r.isUndefined)(n)?"":(Object(r.forEach)(n,(function(e){!1!==e.checked&&t.push(e.label)})),jQuery.uniqueSort(t).join(", "))},g.prototype.parseFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val(),s=jQuery("#"+t.id+"-value").val();const i="cf_"+this.sanitizeCustomFieldNames(n),r=n+" (custom field)";this._store.dispatch(l(i,s,r)),this.addReplacement(new o.a(`%%${i}%%`,s,{source:"direct"}))}.bind(this))},g.prototype.removeFields=function(e){jQuery(e).each(function(e,t){var n=jQuery("#"+t.id+"-key").val();this.removeReplacement("%%cf_"+this.sanitizeCustomFieldNames(n)+"%%")}.bind(this))},g.prototype.sanitizeCustomFieldNames=function(e){return e.replace(/\s/g,"_")},g.prototype.getAvailableFields=function(e){this.removeCustomFields();var t=jQuery(e).find("#the-list > tr:visible[id]");t.length>0&&this.parseFields(t),this.declareReloaded()},g.prototype.bindFieldEvents=function(e,t){var n=(t=jQuery(t)).find("#the-list");n.on("wpListDelEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("wpListAddEnd.wpseoCustomFields",this.getAvailableFields.bind(this,t)),n.on("input.wpseoCustomFields",".textarea",this.getAvailableFields.bind(this,t)),n.on("click.wpseoCustomFields",".button + .updatemeta",this.getAvailableFields.bind(this,t)),this.getAvailableFields(t)},g.prototype.removeCustomFields=function(){var e=Object(r.filter)(p,(function(e,t){return t.indexOf("%%cf_")>-1}));Object(r.forEach)(e,function(e){this._store.dispatch(c(Object(r.trim)(e.placeholder,"%%"))),this.removeReplacement(e)}.bind(this))},g.prototype.parentReplace=function(e){const t=jQuery("#parent_id, #parent").eq(0);return this.hasParentTitle(t)&&(e=e.replace(/%%parent_title%%/,this.getParentTitleReplacement(t))),Object(a.a)()&&!Object(r.isUndefined)(this._currentParentPageTitle)&&(e=e.replace(/%%parent_title%%/,this._currentParentPageTitle)),e},g.prototype.hasParentTitle=function(e){return!Object(r.isUndefined)(e)&&!Object(r.isUndefined)(e.prop("options"))},g.prototype.getParentTitleReplacement=function(e){var t=e.find("option:selected").text();return t===wpseoScriptData.analysis.plugins.replaceVars.no_parent_text?"":t},g.ReplaceVar=o.a,t.a=g},function(e,t){e.exports=window.wp.api},function(e,t,n){"use strict";var s=n(17),i=n(4),r=n(15);t.a=function(e,t,n){e("morphology",new r.Paper("",{keyword:n})).then(e=>{const n=e.result.keyphraseForms;t.dispatch(s.actions.updateWordsToHighlight(Object(i.uniq)(Object(i.flatten)(n))))}).catch(()=>{t.dispatch(s.actions.updateWordsToHighlight([]))})}},,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(4),i=n(5),r=n(46),a=n(99),o=n(131);function c(e,t){let n;r.isTinyMCEAvailable(r.tmceId)&&(Object(s.isUndefined)(n)&&(n=Object(a.c)(tinyMCE.get(r.tmceId))),n(e,t)),Object(o.b)()&&(function(e,t){tinyMCE.editors.map(e=>Object(a.c)(e)).forEach(n=>n(e,t))}(e,t),Object(o.a)(t))}function l(){const e=Object(i.select)("yoast-seo/editor").isMarkingAvailable(),t=Object(i.select)("yoast-seo/editor").getMarkerPauseStatus();return!e||t?s.noop:c}},,function(e,t){e.exports=window.wp.annotations},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var s=n(3);const i=s.forwardRef((function(e,t){return s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),s.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"}))}));t.a=i},,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var s=n(5),i=n(17),r=n(4),a=n(178);function o(){const e=Object(s.registerStore)("yoast-seo/editor",{reducer:Object(s.combineReducers)(i.reducers),selectors:i.selectors,actions:Object(r.pickBy)(i.actions,e=>"function"==typeof e),controls:a});return(e=>{e.dispatch(i.actions.setSettings({socialPreviews:{sitewideImage:window.wpseoScriptData.metabox.sitewide_social_image,siteName:window.wpseoScriptData.metabox.site_name,contentImage:window.wpseoScriptData.metabox.first_content_image,twitterCardType:window.wpseoScriptData.metabox.twitterCardType},snippetEditor:{baseUrl:window.wpseoScriptData.metabox.base_url,date:window.wpseoScriptData.metabox.metaDescriptionDate,recommendedReplacementVariables:window.wpseoScriptData.analysis.plugins.replaceVars.recommended_replace_vars,siteIconUrl:window.wpseoScriptData.metabox.siteIconUrl}})),e.dispatch(i.actions.setSEMrushChangeCountry(window.wpseoScriptData.metabox.countryCode)),e.dispatch(i.actions.setSEMrushLoginStatus(window.wpseoScriptData.metabox.SEMrushLoginStatus)),e.dispatch(i.actions.setWincherLoginStatus(window.wpseoScriptData.metabox.wincherLoginStatus,!1)),e.dispatch(i.actions.setWincherWebsiteId(window.wpseoScriptData.metabox.wincherWebsiteId)),e.dispatch(i.actions.setWincherAutomaticKeyphaseTracking(window.wpseoScriptData.metabox.wincherAutoAddKeyphrases)),e.dispatch(i.actions.setDismissedAlerts(Object(r.get)(window,"wpseoScriptData.dismissedAlerts",{}))),e.dispatch(i.actions.setCurrentPromotions(Object(r.get)(window,"wpseoScriptData.currentPromotions",[]))),e.dispatch(i.actions.setIsPremium(Boolean(Object(r.get)(window,"wpseoScriptData.metabox.isPremium",!1)))),e.dispatch(i.actions.setPostId(Number(Object(r.get)(window,"wpseoScriptData.postId",null)))),e.dispatch(i.actions.setLinkParams(Object(r.get)(window,"wpseoScriptData.linkParams",{}))),e.dispatch(i.actions.setPluginUrl(Object(r.get)(window,"wpseoScriptData.pluginUrl",""))),e.dispatch(i.actions.setWistiaEmbedPermissionValue("1"===Object(r.get)(window,"wpseoScriptData.wistiaEmbedPermission",!1)))})(e),e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var s=n(4);class i{constructor(){this._callbacks=[],this.register=this.register.bind(this)}register(e){Object(s.isFunction)(e)&&this._callbacks.push(e)}getData(){let e={};return this._callbacks.forEach(t=>{e=Object(s.merge)(e,t())}),e}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var s=n(4),i=n(18),r=n(170);function a(e,t,n){const a=Object(i.a)();if(!a.previouslyUsedKeywordActive)return;const o=Object(s.get)(window,["wpseoScriptData","analysis","worker","keywords_assessment_url"],"used-keywords-assessment.js"),c=Object(s.get)(window,["wpseoScriptData","usedKeywordsNonce"],""),l=new r.a(t,a,e,o,c);l.init();let d={};n.subscribe(()=>{const e=n.getState()||{};e.focusKeyword!==d.focusKeyword&&(d=e,l.setKeyword(e.focusKeyword))})}},,,,,function(e,t,n){"use strict";var s=n(0),i=n(19),r=n(5),a=n(39),o=n(1),c=n(6),l=n(2),d=n.n(l),u=n(93);const p="yoast-seo/editor",h=()=>{const e=Object(r.useSelect)(e=>e(p).selectLink("https://www.yoa.st/ai-generator-learn-more"),[]),t=Object(r.useSelect)(e=>e(p).selectLink("https://yoa.st/ai-generator-upsell"),[]),n=Object(r.useSelect)(e=>e(p).selectImageLink("ai-generator-preview.png"),[]),i=Object(s.useMemo)(()=>({src:n,width:"432",height:"244"}),[n]),a=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionValue(),[]),o=Object(r.useSelect)(e=>e(p).selectWistiaEmbedPermissionStatus(),[]),{setWistiaEmbedPermission:c}=Object(r.useDispatch)(p),l=Object(s.useMemo)(()=>({value:a,status:o,set:c}),[a,o,c]);return Object(s.createElement)(u.b,{learnMoreLink:e,upsellLink:t,thumbnail:i,wistiaEmbedPermission:l})},g=e=>{let{fieldId:t}=e;const[n,,,i,r]=Object(c.useToggleState)(!1),a=Object(s.useCallback)(()=>{i()},[i]),l=Object(s.useRef)(null);return Object(s.createElement)(s.Fragment,null,Object(s.createElement)("button",{type:"button",id:"yst-replacevar__use-ai-button__"+t,className:"yst-replacevar__use-ai-button-upsell",onClick:a},Object(o.__)("Use AI","wordpress-seo")),Object(s.createElement)(c.Modal,{className:"yst-introduction-modal",isOpen:n,onClose:r,initialFocus:l},Object(s.createElement)(c.Modal.Panel,{className:"yst-max-w-lg yst-p-0 yst-bg-gradient-to-b yst-from-[#EDD2E1] yst-rounded-3xl"},Object(s.createElement)(h,{onClose:r,focusElementRef:l}))))};g.propTypes={fieldId:d.a.string.isRequired},t.a=()=>{const e=Object(r.select)("yoast-seo/editor").getIsPremium();Object(a.addFilter)("yoast.replacementVariableEditor.additionalButtons","yoast/yoast-seo-premium/AiGenerator",(t,n)=>{let{fieldId:r}=n;return e||t.push(Object(s.createElement)(i.Fill,{name:"yoast.replacementVariableEditor.additionalButtons."+r},Object(s.createElement)(g,{fieldId:r}))),t})}},function(e,t,n){"use strict";function s(e){function t(e){e&&(e.focus(),e.click())}function n(){if(e(".wpseo-meta-section").length>0){const t=e(".wpseo-meta-section-link");e(".wpseo-metabox-menu li").filter((function(){return"#wpseo-meta-section-content"===e(this).find(".wpseo-meta-section-link").attr("href")})).addClass("active").find("[role='tab']").addClass("yoast-active-tab"),e("#wpseo-meta-section-content, .wpseo-meta-section-react").addClass("active"),t.on("click",(function(n){var s=e(this).attr("id"),i=e(this).attr("href"),r=e(i);n.preventDefault(),e(".wpseo-metabox-menu li").removeClass("active").find("[role='tab']").removeClass("yoast-active-tab"),e(".wpseo-meta-section").removeClass("active"),e(".wpseo-meta-section-react.active").removeClass("active"),"#wpseo-meta-section-content"===i&&e(".wpseo-meta-section-react").addClass("active"),r.addClass("active"),e(this).parent("li").addClass("active").find("[role='tab']").addClass("yoast-active-tab");const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new CustomEvent(e,{detail:t})}("YoastSEO:metaTabChange",{metaTabId:s});window.dispatchEvent(a),this&&(function(e){e.attr({"aria-selected":"false",tabIndex:"-1"})}(t),this.removeAttribute("tabindex"),this.setAttribute("aria-selected","true"))}))}}window.wpseoInitTabs=n,window.wpseo_init_tabs=n,e(".wpseo-meta-section").each((function(t,n){e(n).find(".wpseotab:first").addClass("active")})),window.wpseo_init_tabs(),function(){const n=e(".yoast-aria-tabs"),s=n.find("[role='tab']"),i=n.attr("aria-orientation")||"horizontal";s.attr({"aria-selected":!1,tabIndex:"-1"}),s.filter(".yoast-active-tab").removeAttr("tabindex").attr("aria-selected","true"),s.on("keydown",(function(n){-1!==[32,35,36,37,38,39,40].indexOf(n.which)&&("horizontal"===i&&-1!==[38,40].indexOf(n.which)||"vertical"===i&&-1!==[37,39].indexOf(n.which)||function(n,s){const i=n.which,r=s.index(e(n.target));switch(i){case 32:n.preventDefault(),t(s[r]);break;case 35:n.preventDefault(),t(s[s.length-1]);break;case 36:n.preventDefault(),t(s[0]);break;case 37:case 38:n.preventDefault(),t(s[r-1<0?s.length-1:r-1]);break;case 39:case 40:n.preventDefault(),t(s[r+1===s.length?0:r+1])}}(n,s))}))}()}n.d(t,"a",(function(){return s}))},,function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var s=n(39),i=n(4),r=n(105),a=n(66),o=n(18),c=n(15);function l(e,t,n,l,d){const u=Object(i.cloneDeep)(t.getState());Object(i.merge)(u,n.getData());const p=e.getData();let h=null;d&&(h=d.getBlocks(),h=h.map(e=>function e(t){const n={attributes:{}};return["level","content","alt"].forEach(e=>{t.attributes[e]&&(n.attributes[e]=t.attributes[e])}),n.name=t.name,n.clientId=t.clientId,n.innerBlocks=t.innerBlocks.map(t=>e(t)),n}(e)));const g={text:p.content,textTitle:p.title,keyword:u.focusKeyword,synonyms:u.synonyms,description:u.analysisData.snippet.description||u.snippetEditor.data.description,title:u.analysisData.snippet.title||u.snippetEditor.data.title,slug:u.snippetEditor.data.slug,permalink:u.settings.snippetEditor.baseUrl+u.snippetEditor.data.slug,wpBlocks:h,date:u.settings.snippetEditor.date};l.loaded&&(g.title=l._applyModifications("data_page_title",g.title),g.title=l._applyModifications("title",g.title),g.description=l._applyModifications("data_meta_desc",g.description),g.text=l._applyModifications("content",g.text),g.wpBlocks=l._applyModifications("wpBlocks",g.wpBlocks));const f=u.analysisData.snippet.filteredSEOTitle;return g.titleWidth=Object(r.a)(f||u.snippetEditor.data.title),g.locale=Object(a.a)(),g.writingDirection=function(){let e="LTR";return Object(o.a)().isRtl&&(e="RTL"),e}(),c.Paper.parse(Object(s.applyFilters)("yoast.analysis.data",g))}},,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){(function(t){!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:m,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function s(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=p(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=p(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=p(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=p(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=p(n._paragraph).replace("hr",n.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",n._tag).getRegex(),n.blockquote=p(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=y({},n),n.gfm=y({},n.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=y({},n.normal,{html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:m,paragraph:p(n.normal._paragraph).replace("hr",n.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",n.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),s.rules=n,s.lex=function(e,t){return new s(t).lex(e)},s.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},s.prototype.token=function(e,t){var s,i,r,a,o,c,l,u,p,h,g,f,m,y,O,v;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e)){var _=this.tokens[this.tokens.length-1];e=e.substring(r[0].length),_&&"paragraph"===_.type?_.text+="\n"+r[0].trimRight():(r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?r:w(r,"\n")}))}else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2]?r[2].trim():r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if((r=this.rules.nptable.exec(e))&&(c={type:"table",header:b(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===c.align.length){for(e=e.substring(r[0].length),g=0;g ?/gm,""),this.token(r,t),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),l={type:"list_start",ordered:y=(a=r[2]).length>1,start:y?+a:"",loose:!1},this.tokens.push(l),u=[],s=!1,m=(r=r[0].match(this.rules.item)).length,g=0;g1?1===o.length:o.length>1||this.options.smartLists&&o!==a)&&(e=r.slice(g+1).join("\n")+e,g=m-1)),i=s||/\n\n(?!\s*$)/.test(c),g!==m-1&&(s="\n"===c.charAt(c.length-1),i||(i=s)),i&&(l.loose=!0),v=void 0,(O=/^\[[ xX]\] /.test(c))&&(v=" "!==c[1],c=c.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:O,checked:v,loose:i},u.push(p),this.tokens.push(p),this.token(c,!1),this.tokens.push({type:"list_item_end"});if(l.loose)for(m=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",i.em=p(i.em).replace(/punctuation/g,i._punctuation).getRegex(),i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=p(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=p(i.tag).replace("comment",n._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,i._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=p(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=p(i.reflink).replace("label",i._label).getRegex(),i.normal=y({},i),i.pedantic=y({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=y({},i.normal,{escape:p(i.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),e=e.substring(a[0].length),c+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0];else if(a=this.rules.link.exec(e)){var l=O(a[2],"()");if(l>-1){var u=4+a[1].length+l;a[2]=a[2].substring(0,l),a[0]=a[0].substring(0,u).trim(),a[3]=""}e=e.substring(a[0].length),this.inLink=!0,s=a[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s))?(s=t[1],i=t[3]):i="":i=a[3]?a[3].slice(1,-1):"",s=s.trim().replace(/^<([\s\S]*)>$/,"$1"),c+=this.outputLink(a,{href:r.escapes(s),title:r.escapes(i)}),this.inLink=!1}else if((a=this.rules.reflink.exec(e))||(a=this.rules.nolink.exec(e))){if(e=e.substring(a[0].length),t=(a[2]||a[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){c+=a[0].charAt(0),e=a[0].substring(1)+e;continue}this.inLink=!0,c+=this.outputLink(a,t),this.inLink=!1}else if(a=this.rules.strong.exec(e))e=e.substring(a[0].length),c+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(e))e=e.substring(a[0].length),c+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(e))e=e.substring(a[0].length),c+=this.renderer.codespan(d(a[2].trim(),!0));else if(a=this.rules.br.exec(e))e=e.substring(a[0].length),c+=this.renderer.br();else if(a=this.rules.del.exec(e))e=e.substring(a[0].length),c+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(e))e=e.substring(a[0].length),s="@"===a[2]?"mailto:"+(n=d(this.mangle(a[1]))):n=d(a[1]),c+=this.renderer.link(s,null,n);else if(this.inLink||!(a=this.rules.url.exec(e))){if(a=this.rules.text.exec(e))e=e.substring(a[0].length),this.inRawBlock?c+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):d(a[0]):a[0]):c+=this.renderer.text(d(this.smartypants(a[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===a[2])s="mailto:"+(n=d(a[0]));else{do{o=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(o!==a[0]);n=d(a[0]),s="www."===a[1]?"http://"+n:n}e=e.substring(a[0].length),c+=this.renderer.link(s,null,n)}return c},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var n=t.href,s=t.title?d(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,s,this.output(e[1])):this.renderer.image(n,s,d(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",s=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+=""+t+";";return n},a.prototype.code=function(e,t,n){var s=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,s);null!=i&&i!==e&&(n=!0,e=i)}return s?''+(n?e:d(e,!0))+"
\n":""+(n?e:d(e,!0))+"
"},a.prototype.blockquote=function(e){return"\n"+e+" \n"},a.prototype.html=function(e){return e},a.prototype.heading=function(e,t,n,s){return this.options.headerIds?"\n":""+e+" \n"},a.prototype.hr=function(){return this.options.xhtml?" \n":" \n"},a.prototype.list=function(e,t,n){var s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+s+">\n"},a.prototype.listitem=function(e){return""+e+" \n"},a.prototype.checkbox=function(e){return" "},a.prototype.paragraph=function(e){return" "+e+"
\n"},a.prototype.table=function(e,t){return t&&(t=""+t+" "),"\n"},a.prototype.tablerow=function(e){return"\n"+e+" \n"},a.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+""+n+">\n"},a.prototype.strong=function(e){return""+e+" "},a.prototype.em=function(e){return""+e+" "},a.prototype.codespan=function(e){return""+e+"
"},a.prototype.br=function(){return this.options.xhtml?" ":" "},a.prototype.del=function(e){return""+e+""},a.prototype.link=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s='"+n+" "},a.prototype.image=function(e,t,n){if(null===(e=h(this.options.sanitize,this.options.baseUrl,e)))return n;var s=' ":">")},a.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},c.parse=function(e,t){return new c(t).parse(e)},c.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,y({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},c.prototype.next=function(){return this.token=this.tokens.pop(),this.token},c.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},c.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},c.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,s,i="",r="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},d.escapeTest=/[&<>"']/,d.escapeReplace=/[&<>"']/g,d.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},d.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,d.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var g={},f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function y(e){for(var t,n,s=1;s=0&&"\\"===n[i];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:"+d(e.message+"",!0)+" ";throw e}}m.exec=m,_.options=_.setOptions=function(e){return y(_.defaults,e),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new a,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=c,_.parser=c.parse,_.Renderer=a,_.TextRenderer=o,_.Lexer=s,_.lexer=s.lex,_.InlineLexer=r,_.inlineLexer=r.output,_.Slugger=l,_.parse=_,e.exports=_}(this||"undefined"!=typeof window&&window)}).call(this,n(200))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var s=n(51),i=n.n(s),r=n(21),a=n.n(r),o=n(4),c=n(214),l=n(173),d=n(174),u=n(207),p=n(5),h=n(162),g=n.n(h),f=n(94);var m=n(215),y=n(15),b=n(150),w=n(191),O=n(108);const v=new RegExp("\\[[^<>&/\\[\\]\0- =]+?( [^\\]]+?)?\\]","g"),j=new RegExp("\\[/[^<>&/\\[\\]\0- =]+?\\]","g");var k=function(e){let{registerPlugin:t,registerModification:n,pluginReady:s,pluginReloaded:i}=e;this._registerModification=n,this._pluginReady=s,this._pluginReloaded=i,t("YoastShortcodePlugin",{status:"loading"}),this.bindElementEvents();var r="("+wpseoScriptData.analysis.plugins.shortcodes.wpseo_shortcode_tags.join("|")+")";this.keywordRegex=new RegExp(r,"g"),this.closingTagRegex=new RegExp("\\[\\/"+r+"\\]","g"),this.nonCaptureRegex=new RegExp("\\["+r+"[^\\]]*?\\]","g"),this.parsedShortcodes=[],this.loadShortcodes(this.declareReady.bind(this))};k.prototype.declareReady=function(){this._pluginReady("YoastShortcodePlugin"),this.registerModifications()},k.prototype.declareReloaded=function(){this._pluginReloaded("YoastShortcodePlugin")},k.prototype.registerModifications=function(){this._registerModification("content",this.replaceShortcodes.bind(this),"YoastShortcodePlugin")},k.prototype.removeUnknownShortCodes=function(e){return(e=e.replace(v,"")).replace(j,"")},k.prototype.replaceShortcodes=function(e){var t=this.parsedShortcodes;if("string"==typeof e&&t.length>0)for(var n=0;n0))return e();this.parseShortcodes(t,e)},k.prototype.bindElementEvents=function(){var e=document.getElementById("content")||!1,t=_.debounce(this.loadShortcodes.bind(this,this.declareReloaded.bind(this)),500);e&&(e.addEventListener("keyup",t),e.addEventListener("change",t)),"undefined"!=typeof tinyMCE&&"function"==typeof tinyMCE.on&&tinyMCE.on("addEditor",(function(e){e.editor.on("change",t),e.editor.on("keyup",t)}))},k.prototype.getContentTinyMCE=function(){var e=document.getElementById("content")&&document.getElementById("content").value||"";return"undefined"!=typeof tinyMCE&&void 0!==tinyMCE.editors&&0!==tinyMCE.editors.length&&(e=tinyMCE.get("content")&&tinyMCE.get("content").getContent()||""),e},k.prototype.getUnparsedShortcodes=function(e){if("object"!=typeof e)return console.error("Failed to get unparsed shortcodes. Expected parameter to be an array, instead received "+typeof e),!1;for(var t=[],n=0;n0?void jQuery.post(ajaxurl,{action:"wpseo_filter_shortcodes",_wpnonce:wpseoScriptData.analysis.plugins.shortcodes.wpseo_filter_shortcodes_nonce,data:e},function(e){this.saveParsedShortcodes(e,t)}.bind(this)):t()},k.prototype.saveParsedShortcodes=function(e,t){e=JSON.parse(e);for(var n=0;n label");return s.length?e=this.getCategoryName(s):e},V.prototype.getSearchUrl=function(){return wpseoScriptData.metabox.search_url},V.prototype.getPostUrl=function(){return wpseoScriptData.metabox.post_edit_url},V.prototype.getPermalink=function(){var e=this.getUrl();return wpseoScriptData.metabox.base_url+e},V.prototype.getCategoryName=function(e){var t=e.clone();return t.children().remove(),t.text().trim()},V.prototype.setDataFromSnippet=function(e,t){switch(t){case"snippet_meta":document.getElementById("yoast_wpseo_metadesc").value=e;break;case"snippet_cite":if(this.leavePostNameUntouched)return void(this.leavePostNameUntouched=!1);null!==document.getElementById("post_name")&&(document.getElementById("post_name").value=e),null!==document.getElementById("editable-post-name")&&null!==document.getElementById("editable-post-name-full")&&(document.getElementById("editable-post-name").textContent=e,document.getElementById("editable-post-name-full").textContent=e);break;case"snippet_title":document.getElementById("yoast_wpseo_title").value=e}},V.prototype.saveSnippetData=function(e){this.setDataFromSnippet(e.title,"snippet_title"),this.setDataFromSnippet(e.urlPath,"snippet_cite"),this.setDataFromSnippet(e.metaDesc,"snippet_meta")},V.prototype.bindElementEvents=function(e){this.inputElementEventBinder(e),this.changeElementEventBinder(e)},V.prototype.changeElementEventBinder=function(e){for(var t=["#yoast-wpseo-primary-category",'.categorychecklist input[name="post_category[]"]'],n=0;n"+e.responseText+"").find("#editable-post-name-full").text()}function d(){const e={};return Object(F.a)()&&(e.output="does-not-really-exist-but-it-needs-something"),Object(U.a)()&&(e.contentOutput="also-does-not-really-exist-but-it-needs-something"),e}function u(e){Object(o.isUndefined)(e.seoAssessorPresenter)||(e.seoAssessorPresenter.render=function(){}),Object(o.isUndefined)(e.contentAssessorPresenter)||(e.contentAssessorPresenter.render=function(){},e.contentAssessorPresenter.renderIndividualRatings=function(){})}let h;function g(e,t){const n=h||"";h=e.getState().analysisData.snippet,!Object(b.isShallowEqualObjects)(n,h)&&t()}function m(e,t){"visual"!==e?t.dispatch(se("disabled")):t.dispatch(se("enabled"))}function v(){return Object(p.select)("core/edit-post").getEditorMode()}jQuery(document).on("ajaxComplete",(function(e,n,s){if("/admin-ajax.php"===s.url.substr(0-"/admin-ajax.php".length)&&"string"==typeof s.data&&-1!==s.data.indexOf("action=sample-permalink")){a.leavePostNameUntouched=!0;const e={slug:l(n)};t.dispatch(ie(e))}})),function(){if(s=e("#wpseo_meta"),R.setStore(t),R.wpTextViewOnInitCheck(),function(){const e=new C.a;e.isClassicEditorHidden()&&R.disableMarkerButtons(),e.vcActive?R.disableMarkerButtons():e.listen({classicEditorHidden:()=>{R.disableMarkerButtons()},classicEditorShown:()=>{R.isTextViewActive()||R.enableMarkerButtons()}})}(),0===s.length)return;a=function(e){const n=new K({data:e,store:t});return n.leavePostNameUntouched=!1,n}(n),A.initialize();const l=function(t){!function(e){(void 0===window.tinyMCE||Object(f.a)()||"1"!==wpseoScriptData.metabox.show_markers)&&e.dispatch(se("disabled"))}(t);const n={elementTarget:[R.tmceId,"yoast_wpseo_focuskw_text_input","yoast_wpseo_metadesc","excerpt","editable-post-name","editable-post-name-full"],targets:d(),callbacks:{getData:a.getData.bind(a)},locale:wpseoScriptData.metabox.contentLocale,marker:Object(G.a)(t),contentAnalysisActive:Object(U.a)(),keywordAnalysisActive:Object(F.a)(),hasSnippetPreview:!1,debouncedRefresh:!1,researcher:new window.yoast.Researcher.default};Object(F.a)()&&(t.dispatch(ne(e("#yoast_wpseo_focuskw").val())),n.callbacks.saveScores=a.saveScores.bind(a),n.callbacks.updatedKeywordsResults=function(e){const n=t.getState().focusKeyword;t.dispatch(ce(n,e)),t.dispatch(ae())}),Object(U.a)()&&(n.callbacks.saveContentScore=a.saveContentScore.bind(a),n.callbacks.updatedContentResults=function(e){t.dispatch(oe(e)),t.dispatch(ae())}),i=e("#title");const s=Object(W.a)();return Object(o.isUndefined)(s)||Object(o.isUndefined)(s.domain)||(n.translations=s),n}(t);r=new y.App(l),window.YoastSEO=window.YoastSEO||{},window.YoastSEO.app=r,window.YoastSEO.store=t,window.YoastSEO.analysis={},window.YoastSEO.analysis.worker=Object(D.a)(),window.YoastSEO.analysis.collectData=()=>Object(L.a)(n,t,c,r.pluggable,Object(p.select)("core/block-editor")),window.YoastSEO.analysis.applyMarks=(e,t)=>Object(G.a)()(e,t),window.YoastSEO.app.refresh=Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay),window.YoastSEO.app.registerCustomDataCallback=c.register,window.YoastSEO.app.pluggable=new T.a(window.YoastSEO.app.refresh),window.YoastSEO.app.registerPlugin=window.YoastSEO.app.pluggable._registerPlugin,window.YoastSEO.app.pluginReady=window.YoastSEO.app.pluggable._ready,window.YoastSEO.app.pluginReloaded=window.YoastSEO.app.pluggable._reloaded,window.YoastSEO.app.registerModification=window.YoastSEO.app.pluggable._registerModification,window.YoastSEO.app.registerAssessment=(e,t,n)=>{if(!Object(o.isUndefined)(r.seoAssessor))return window.YoastSEO.app.pluggable._registerAssessment(r.defaultSeoAssessor,e,t,n)&&window.YoastSEO.app.pluggable._registerAssessment(r.cornerStoneSeoAssessor,e,t,n)},window.YoastSEO.app.changeAssessorOptions=function(e){window.YoastSEO.analysis.worker.initialize(e).catch(X.a),window.YoastSEO.app.refresh()},Object(ee.a)(r.refresh,"get_focus_keyword_usage_and_post_types",t),t.subscribe(g.bind(null,t,r.refresh)),window.YoastSEO.analyzerArgs=l,window.YoastSEO.wp={},window.YoastSEO.wp.replaceVarsPlugin=new w.a(r,t),window.YoastSEO.wp.shortcodePlugin=new x({registerPlugin:r.registerPlugin,registerModification:r.registerModification,pluginReady:r.pluginReady,pluginReloaded:r.pluginReloaded}),Object(f.a)()&&new class{constructor(e,t,n){this._registerPlugin=e,this._registerModification=t,this._refreshAnalysis=n,this._reusableBlocks={},this._selectCore=Object(p.select)("core"),this._selectCoreEditor=Object(p.select)("core/editor"),this.reusableBlockChangeListener=this.reusableBlockChangeListener.bind(this),this.parseReusableBlocks=this.parseReusableBlocks.bind(this)}register(){this._registerPlugin("YoastReusableBlocksPlugin",{status:"ready"}),this._registerModification("content",this.parseReusableBlocks,"YoastReusableBlocksPlugin",1),Object(p.subscribe)(Object(o.debounce)(this.reusableBlockChangeListener,500))}reusableBlockChangeListener(){const{blocks:e}=this._selectCoreEditor.getPostEdits();if(!e)return;let t=!1;e.forEach(e=>{if(!Object(O.isReusableBlock)(e))return;const n=this.getBlockContent(e.attributes.ref);this._reusableBlocks[e.attributes.ref]?this._reusableBlocks[e.attributes.ref].content!==n&&(this._reusableBlocks[e.attributes.ref].content=n,t=!0):(this._reusableBlocks[e.attributes.ref]={id:e.attributes.ref,clientId:e.clientId,content:n},t=!0)}),t&&this._refreshAnalysis()}parseReusableBlocks(e){const t=//g;return e.match(t)?e.replace(t,(t,n)=>this._reusableBlocks[n]&&this._reusableBlocks[n].content?this._reusableBlocks[n].content:e):e}getBlockContent(e){const t=this._selectCore.getEditedEntityRecord("postType","wp_block",e);if(t){if(Object(o.isFunction)(t.content))return t.content(t);if(t.blocks)return Object(O.__unstableSerializeAndClean)(t.blocks);if(t.content)return t.content}return""}}(r.registerPlugin,r.registerModification,window.YoastSEO.app.refresh).register(),wpseoScriptData.metabox.markdownEnabled&&new class{constructor(e,t){this._registerPlugin=e,this._registerModification=t}register(){this._registerPlugin("YoastMarkdownPlugin",{status:"ready"}),this._registerModification("content",this.parseMarkdown.bind(this),"YoastMarkdownPlugin",1)}parseMarkdown(e){return S()(e)}}(r.registerPlugin,r.registerModification).register(),window.YoastSEO.wp._tinyMCEHelper=R,Object(F.a)()&&function(t){const n=e("#yoast_wpseo_linkdex").val(),s=Object($.a)(n);Object(I.a)(s),Object(M.a)(s),t.updateScore("keyword",s.className)}(A),Object(U.a)()&&function(t){const n=e("#yoast_wpseo_content_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("content",s.className)}(A),Object(H.a)()&&function(t){const n=e("#yoast_wpseo_inclusive_language_score").val(),s=Object($.a)(n);Object(M.a)(s),t.updateScore("inclusive-language",s.className)}(A),window.YoastSEO.analysis.worker.initialize(Object(D.b)()).then(()=>{jQuery(window).trigger("YoastSEO:ready")}).catch(X.a),a.bindElementEvents(Object(o.debounce)(()=>Object(B.default)(window.YoastSEO.analysis.worker,window.YoastSEO.analysis.collectData,window.YoastSEO.analysis.applyMarks,t,a),J.refreshDelay)),u(r);const h=r.initAssessorPresenters.bind(r);r.initAssessorPresenters=function(){h(),u(r)},n.setRefresh&&n.setRefresh(r.refresh);let b=Object(Q.a)(a);const _=Object(Q.e)(wpseoScriptData.metabox);b=Object(Q.c)(b,_),t.dispatch(ie(b)),t.dispatch(re("1"===document.getElementById("yoast_wpseo_is_cornerstone").value));let j=t.getState().focusKeyword;Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j);const k=Object(o.debounce)(()=>{r.refresh()},50);let E=null;if(t.subscribe(()=>{const n=t.getState().focusKeyword;j!==n&&(j=n,Object(P.a)(window.YoastSEO.analysis.worker.runResearch,t,j),e("#yoast_wpseo_focuskw").val(j),k());const s=Object(Q.b)(t),i=Object(Q.d)(s,_);b.title!==s.title&&a.setDataFromSnippet(i.title,"snippet_title"),b.slug!==s.slug&&a.setDataFromSnippet(i.slug,"snippet_cite"),b.description!==s.description&&a.setDataFromSnippet(i.description,"snippet_meta");const o=t.getState();E!==o.isCornerstone&&(E=o.isCornerstone,document.getElementById("yoast_wpseo_is_cornerstone").value=o.isCornerstone,r.changeAssessorOptions({useCornerstone:o.isCornerstone})),b.title=s.title,b.slug=s.slug,b.description=s.description}),Object(f.a)()){let e=v();m(e,t),Object(p.subscribe)(()=>{const n=v();n!==e&&(e=n,m(e,t))})}Object(B.initializationDone)(),window.YoastSEO.app.refresh()}()}window.YoastReplaceVarPlugin=w.a,window.YoastShortcodePlugin=x;var de=n(11),ue=n.n(de),pe=n(0),he=n(2),ge=n.n(he),fe=n(19),me=n(9),ye=n.n(me),be=n(20),we=n(26),Oe=n.n(we),ve=n(16);const _e=ye.a.div`
padding-top: 6px;
`,je=e=>{const{value:t,id:n,terms:s,onChange:i}=e;return Object(pe.createElement)(_e,null,Object(pe.createElement)("select",{className:"components-select-control__input",id:n,value:t,onChange:e=>{i(parseInt(e.target.value,10))}},s.map(e=>Object(pe.createElement)("option",{key:e.id,value:e.id},Object(o.unescape)(e.name)))))};je.propTypes={terms:ge.a.arrayOf(ge.a.shape({id:ge.a.string.isRequired,name:ge.a.string.isRequired})),onChange:ge.a.func.isRequired,id:ge.a.string,value:ge.a.string};var ke=je;const xe=ye.a.div`
padding-top: 16px;
diff --git a/wp-content/plugins/wordpress-seo/readme.txt b/wp-content/plugins/wordpress-seo/readme.txt
index fa67dca1b..7aec5d177 100755
--- a/wp-content/plugins/wordpress-seo/readme.txt
+++ b/wp-content/plugins/wordpress-seo/readme.txt
@@ -5,7 +5,7 @@ License: GPLv3
License URI: http://www.gnu.org/licenses/gpl.html
Tags: SEO, XML sitemap, Content analysis, Readability, Schema
Tested up to: 6.3
-Stable tag: 21.2
+Stable tag: 21.3
Requires PHP: 7.2.5
Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the Yoast SEO plugin.
@@ -340,6 +340,21 @@ Your question has most likely been answered on our help center: [yoast.com/help/
== Changelog ==
+= 21.3 =
+
+Release date: 2023-10-03
+
+Yoast SEO 21.3 is out! In this release, we've focused on improving the plugin's performance, especially regarding handling huge posts on complex websites. Find out more about what's new in Yoast SEO 21.3 in [our release post](https://yoa.st/release-3-10-23)!
+
+#### Enhancements
+
+* Enhances post-saving performance in certain conditions for a smoother and more efficient user experience.
+
+#### Bugfixes
+
+* Fixes a bug where the notifications counter of the admin bar menu would not show with the correct style on the frontend.
+* Fixes a bug where the slug in the search appearance editor would not be set when published posts were edited in the classic editor and the "core/editor" store was available.
+
= 21.2 =
Release date: 2023-09-19
@@ -362,21 +377,5 @@ Yoast SEO 21.2 is out today! In this release, we've improved the naming of sever
* Sets the minimum supported WordPress version to 6.2.
-= 21.1 =
-
-Release date: 2023-09-05
-
-Here's Yoast SEO 21.1! After the AI release, we're back with an update filled with fixes and enhancements to improve your SEO work. Check it out! Find out more about what's new in Yoast SEO 21.1 in [our release post](https://yoa.st/release-5-9-23)!
-
-#### Bugfixes
-
-* Fixes a bug where an error could occur when an indexable was outdated. Props to @jaimearroyonavia.
-* Fixes a bug where the cleanup routine would throw an error when on multisites.
-* Fixes a bug where the notification for a new content type in the notification center would not be dismissed when installing Elementor and reviewing the new content types.
-
-#### Other
-
-* Adds an attribute to the link "See who contributed to" to open in a new browser tab, located in the General tab. Props to @nathanwritescode-uk.
-
= Earlier versions =
For the changelog of earlier versions, please refer to [the changelog on yoast.com](https://yoa.st/yoast-seo-changelog).
diff --git a/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php b/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php
index 7fe0f3ab9..cf3166977 100755
--- a/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php
+++ b/wp-content/plugins/wordpress-seo/src/builders/indexable-link-builder.php
@@ -2,6 +2,8 @@
namespace Yoast\WP\SEO\Builders;
+use DOMDocument;
+use WP_HTML_Tag_Processor;
use WPSEO_Image_Utils;
use Yoast\WP\SEO\Helpers\Image_Helper;
use Yoast\WP\SEO\Helpers\Options_Helper;
@@ -211,14 +213,146 @@ protected function gather_links( $content ) {
return $links;
}
+ /**
+ * Gathers all images from content with WP's WP_HTML_Tag_Processor() and returns them along with their IDs, if possible.
+ *
+ * @param string $content The content.
+ *
+ * @return int[] An associated array of image IDs, keyed by their URL.
+ */
+ protected function gather_images_wp( $content ) {
+ $processor = new WP_HTML_Tag_Processor( $content );
+ $images = [];
+
+ $query = [
+ 'tag_name' => 'img',
+ ];
+
+ /**
+ * Filter 'wpseo_image_attribute_containing_id' - Allows filtering what attribute will be used to extract image IDs from.
+ *
+ * Defaults to "class", which is where WP natively stores the image IDs, in a `wp-image-` format.
+ *
+ * @api string The attribute to be used to extract image IDs from.
+ */
+ $attribute = \apply_filters( 'wpseo_image_attribute_containing_id', 'class' );
+
+ while ( $processor->next_tag( $query ) ) {
+ $src = \htmlentities( $processor->get_attribute( 'src' ), ( ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 ), \get_bloginfo( 'charset' ) );
+ $classes = $processor->get_attribute( $attribute );
+ $id = $this->extract_id_of_classes( $classes );
+
+ $images[ $src ] = $id;
+ }
+
+ return $images;
+ }
+
+ /**
+ * Gathers all images from content with DOMDocument() and returns them along with their IDs, if possible.
+ *
+ * @param string $content The content.
+ *
+ * @return int[] An associated array of image IDs, keyed by their URL.
+ */
+ protected function gather_images_domdocument( $content ) {
+ $images = [];
+ $charset = \get_bloginfo( 'charset' );
+
+ /**
+ * Filter 'wpseo_image_attribute_containing_id' - Allows filtering what attribute will be used to extract image IDs from.
+ *
+ * Defaults to "class", which is where WP natively stores the image IDs, in a `wp-image-` format.
+ *
+ * @api string The attribute to be used to extract image IDs from.
+ */
+ $attribute = \apply_filters( 'wpseo_image_attribute_containing_id', 'class' );
+
+ libxml_use_internal_errors( true );
+ $post_dom = new DOMDocument();
+ $post_dom->loadHTML( '' . $content );
+ libxml_clear_errors();
+
+ foreach ( $post_dom->getElementsByTagName( 'img' ) as $img ) {
+ $src = \htmlentities( $img->getAttribute( 'src' ), ( ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 ), $charset );
+ $classes = $img->getAttribute( $attribute );
+ $id = $this->extract_id_of_classes( $classes );
+
+ $images[ $src ] = $id;
+ }
+
+ return $images;
+ }
+
+ /**
+ * Extracts image ID out of the image's classes.
+ *
+ * @param string $classes The classes assigned to the image.
+ *
+ * @return int The ID that's extracted from the classes.
+ */
+ protected function extract_id_of_classes( $classes ) {
+ if ( ! $classes ) {
+ return 0;
+ }
+
+ /**
+ * Filter 'wpseo_extract_id_pattern' - Allows filtering the regex patern to be used to extract image IDs from class/attribute names.
+ *
+ * Defaults to the pattern that extracts image IDs from core's `wp-image-` native format in image classes.
+ *
+ * @api string The regex pattern to be used to extract image IDs from class names. Empty string if the whole class/attribute should be returned.
+ */
+ $pattern = \apply_filters( 'wpseo_extract_id_pattern', '/(?gather_images_wp( $content );
+ }
+
+ if ( ! $should_not_parse_content && class_exists( DOMDocument::class ) ) {
+ return $this->gather_images_DOMDocument( $content );
+ }
+
if ( \strpos( $content, 'src' ) === false ) {
// Nothing to do.
return [];
@@ -229,7 +363,7 @@ protected function gather_images( $content ) {
// Used modifiers iU to match case insensitive and make greedy quantifiers lazy.
if ( \preg_match_all( "/$regexp/iU", $content, $matches, \PREG_SET_ORDER ) ) {
foreach ( $matches as $match ) {
- $images[] = \trim( $match[2], "'" );
+ $images[ $match[2] ] = 0;
}
}
@@ -241,7 +375,7 @@ protected function gather_images( $content ) {
*
* @param Indexable $indexable The indexable.
* @param string[] $links The link URLs.
- * @param string[] $images The image sources.
+ * @param int[] $images The image sources.
*
* @return SEO_Links[] The link models.
*/
@@ -262,13 +396,12 @@ function ( $link ) use ( $current_url ) {
}
);
- $images = \array_map(
- function( $link ) use ( $home_url, $indexable ) {
- return $this->create_internal_link( $link, $home_url, $indexable, true );
- },
- $images
- );
- return \array_merge( $links, $images );
+ $image_links = [];
+ foreach ( $images as $image_url => $image_id ) {
+ $image_links[] = $this->create_internal_link( $image_url, $home_url, $indexable, true, $image_id );
+ }
+
+ return \array_merge( $links, $image_links );
}
/**
@@ -294,10 +427,11 @@ protected function get_post_id( $type, $permalink ) {
* @param array $home_url The home url, as parsed by wp_parse_url.
* @param Indexable $indexable The indexable of the post containing the link.
* @param bool $is_image Whether or not the link is an image.
+ * @param int $image_id The ID of the internal image.
*
* @return SEO_Links The created link.
*/
- protected function create_internal_link( $url, $home_url, $indexable, $is_image = false ) {
+ protected function create_internal_link( $url, $home_url, $indexable, $is_image = false, $image_id = 0 ) {
$parsed_url = \wp_parse_url( $url );
$link_type = $this->url_helper->get_link_type( $parsed_url, $home_url, $is_image );
@@ -326,11 +460,12 @@ protected function create_internal_link( $url, $home_url, $indexable, $is_image
if ( $model->type === SEO_Links::TYPE_INTERNAL_IMAGE ) {
$permalink = $this->build_permalink( $url, $home_url );
- if ( ! $this->options_helper->get( 'disable-attachment' ) ) {
+ /** The `wpseo_force_creating_and_using_attachment_indexables` filter is documented in indexable-link-builder.php */
+ if ( ! $this->options_helper->get( 'disable-attachment' ) || \apply_filters( 'wpseo_force_creating_and_using_attachment_indexables', false ) ) {
$model = $this->enhance_link_from_indexable( $model, $permalink );
}
else {
- $target_post_id = WPSEO_Image_Utils::get_attachment_by_url( $permalink );
+ $target_post_id = ( $image_id !== 0 ) ? $image_id : WPSEO_Image_Utils::get_attachment_by_url( $permalink );
if ( ! empty( $target_post_id ) ) {
$model->target_post_id = $target_post_id;
diff --git a/wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php b/wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php
deleted file mode 100755
index 099e41ccb..000000000
--- a/wp-content/plugins/wordpress-seo/src/deprecated/admin/ryte/class-ryte-option.php
+++ /dev/null
@@ -1,169 +0,0 @@
-maybe_add_weekly_schedule();
- }
-
- /**
- * Sets up the hooks.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return void
- */
- public function register_hooks() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( ! self::is_active() ) {
- return;
- }
-
- // Sets the action for the Ryte fetch cron job.
- add_action( 'wpseo_ryte_fetch', [ $this, 'fetch_from_ryte' ] );
- }
-
- /**
- * Determines if we can use the functionality.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return bool True if this functionality can be used.
- */
- public static function is_active() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( wp_doing_ajax() ) {
- return false;
- }
-
- if ( ! WPSEO_Options::get( 'ryte_indexability' ) ) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Hooks to run on plugin activation.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- */
- public function activate_hooks() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( $this->get_option()->is_enabled() ) {
- $this->schedule_cron();
-
- return;
- }
-
- $this->unschedule_cron();
- }
-
- /**
- * Determines whether to add a custom cron weekly schedule.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return void
- */
- public function maybe_add_weekly_schedule() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- // If there's no default cron weekly schedule, add a custom one.
- add_filter( 'cron_schedules', [ $this, 'add_weekly_schedule' ] );
- }
-
- /**
- * Adds a custom weekly cron schedule.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @param array $schedules The existing custom cron schedules.
- *
- * @return array Enriched list of custom cron schedules.
- */
- public function add_weekly_schedule( $schedules ) {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( ! is_array( $schedules ) ) {
- $schedules = [];
- }
-
- /*
- * Starting with version 5.4, WordPress does have a default weekly cron
- * schedule. See https://core.trac.wordpress.org/changeset/47062.
- * We need to add a custom one only if the default one doesn't exist.
- */
- if ( isset( $schedules['weekly'] ) ) {
- return $schedules;
- }
-
- $schedules['weekly'] = [
- 'interval' => WEEK_IN_SECONDS,
- 'display' => __( 'Once Weekly', 'wordpress-seo' ),
- ];
-
- return $schedules;
- }
-
- /**
- * Fetches the data from Ryte.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return bool|null Whether the request ran.
- */
- public function fetch_from_ryte() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- // Don't do anything when the WordPress environment type isn't "production".
- if ( wp_get_environment_type() !== 'production' ) {
- return;
- }
-
- $ryte_option = $this->get_option();
- if ( ! $ryte_option->should_be_fetched() ) {
- return false;
- }
-
- $new_status = $this->request_indexability();
-
- // Updates the timestamp in the option.
- $ryte_option->set_last_fetch( time() );
-
- $ryte_option->set_status( $new_status );
- $ryte_option->save_option();
-
- return true;
- }
-
- /**
- * Retrieves the option to use.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return WPSEO_Ryte_Option The option.
- */
- protected function get_option() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- return new WPSEO_Ryte_Option();
- }
-
- /**
- * Sends a request to Ryte to get the indexability status.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return int The indexability status value.
- */
- protected function request_indexability() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- $parameters = [];
- if ( $this->wordfence_protection_enabled() ) {
- $parameters['wf_strict'] = 1;
- }
-
- $request = new WPSEO_Ryte_Request();
- $response = $request->do_request( get_option( 'home' ), $parameters );
-
- // Populate the ryte_response property.
- $this->ryte_response = $response;
-
- // It's a valid Ryte response because the array contains an `is_indexable` element.
- if ( isset( $response['is_indexable'] ) ) {
- return (int) $response['is_indexable'];
- }
-
- // It's not a valid Ryte response.
- return WPSEO_Ryte_Option::CANNOT_FETCH;
- }
-
- /**
- * Schedules the cronjob to get the new indexability status.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return void
- */
- private function schedule_cron() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( wp_next_scheduled( 'wpseo_ryte_fetch' ) ) {
- return;
- }
-
- wp_schedule_event( time(), 'weekly', 'wpseo_ryte_fetch' );
- }
-
- /**
- * Unschedules the cronjob to get the new indexability status.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return void
- */
- private function unschedule_cron() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( ! wp_next_scheduled( 'wpseo_ryte_fetch' ) ) {
- return;
- }
-
- wp_clear_scheduled_hook( 'wpseo_ryte_fetch' );
- }
-
- /**
- * Checks if WordFence protects the site against 'fake' Google crawlers.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return bool True if WordFence protects the site.
- */
- private function wordfence_protection_enabled() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- if ( ! class_exists( 'wfConfig' ) ) {
- return false;
- }
-
- if ( ! method_exists( 'wfConfig', 'get' ) ) {
- return false;
- }
-
- return (bool) wfConfig::get( 'blockFakeBots' );
- }
-
- /**
- * Retrieves the Ryte API response property.
- *
- * @deprecated 18.5
- * @codeCoverageIgnore
- *
- * @return array|WP_Error The response or WP_Error on failure.
- */
- public function get_response() {
- _deprecated_function( __METHOD__, 'Yoast SEO 18.5' );
- return $this->ryte_response;
- }
-}
diff --git a/wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php b/wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php
deleted file mode 100755
index 884f61735..000000000
--- a/wp-content/plugins/wordpress-seo/src/deprecated/src/actions/configuration/configuration-workout-action.php
+++ /dev/null
@@ -1,11 +0,0 @@
- array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e95f437ae34ac15c6a553865448aff6c'), 'componentsNew.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-select', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '5bf88ecd3df9ad5b4539b67fa6acb459'), 'featureFlag.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e10bc9cc72a611812bfc07e62a49fc87'), 'helpers.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'daf04ff1091383587e7329416ccbbc66'), 'replacementVariableEditor.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-draft-js-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '0a5fcadf27d9de01c826a88c004ea8f5'), 'searchMetadataPreviews.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '4351e99333a31af6ccc0a72d597eaa6c'), 'socialMetadataForms.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '546bcd16f24f0a8af91ec1d987018c82'), 'styleGuide.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-styled-components-package'), 'version' => '5fc06aa928153289521ef4fad66209f2'), 'uiLibrary.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'ac5d507ddcf7f505f5ab53332342b807'), 'draftJs.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill'), 'version' => '884a06763ec66f3f2b98ae2228a2166b'), 'jed.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b5de44b7e6b35120d8ba97761f9b11b0'), 'propTypes.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e9441ac3feaba74c71d9793f44b9b676'), 'reactHelmet.js' => array('dependencies' => array('react', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '23f47eadf3891c8ff5f8acb97ba6b4bc'), 'redux.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '2340e784d7d5751f1fa3189ba31b493f'), 'styledComponents.js' => array('dependencies' => array('react', 'wp-polyfill'), 'version' => 'e0a1a87f171b1b09fda15f788867e8eb'), 'components.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-jed-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e2d878e6411504189a4a41ac5e966b7e'), 'analysis.js' => array('dependencies' => array('lodash', 'wp-i18n', 'wp-polyfill', 'yoast-seo-feature-flag-package'), 'version' => '8e38aa30e7a12f03af94eb0e4ddf5048'), 'reduxJsToolkit.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-redux-package'), 'version' => 'aae2438a60d27ad77ac35206db5f93bd'));
\ No newline at end of file
+ array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e95f437ae34ac15c6a553865448aff6c'), 'componentsNew.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-select', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '5bf88ecd3df9ad5b4539b67fa6acb459'), 'featureFlag.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e10bc9cc72a611812bfc07e62a49fc87'), 'helpers.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'daf04ff1091383587e7329416ccbbc66'), 'replacementVariableEditor.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-draft-js-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '0a5fcadf27d9de01c826a88c004ea8f5'), 'searchMetadataPreviews.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '4351e99333a31af6ccc0a72d597eaa6c'), 'socialMetadataForms.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '546bcd16f24f0a8af91ec1d987018c82'), 'styleGuide.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-helpers-package', 'yoast-seo-styled-components-package'), 'version' => '5fc06aa928153289521ef4fad66209f2'), 'uiLibrary.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'ac5d507ddcf7f505f5ab53332342b807'), 'draftJs.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill'), 'version' => '884a06763ec66f3f2b98ae2228a2166b'), 'jed.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b5de44b7e6b35120d8ba97761f9b11b0'), 'propTypes.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'e9441ac3feaba74c71d9793f44b9b676'), 'reactHelmet.js' => array('dependencies' => array('react', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '23f47eadf3891c8ff5f8acb97ba6b4bc'), 'redux.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '2340e784d7d5751f1fa3189ba31b493f'), 'styledComponents.js' => array('dependencies' => array('react', 'wp-polyfill'), 'version' => 'e0a1a87f171b1b09fda15f788867e8eb'), 'components.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-jed-package', 'yoast-seo-prop-types-package', 'yoast-seo-redux-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e2d878e6411504189a4a41ac5e966b7e'), 'analysis.js' => array('dependencies' => array('lodash', 'wp-i18n', 'wp-polyfill', 'yoast-seo-feature-flag-package'), 'version' => '597bb5930c02bf4e1fc701fad15d9980'), 'reduxJsToolkit.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-redux-package'), 'version' => 'aae2438a60d27ad77ac35206db5f93bd'));
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php b/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php
index f83993d32..ece212ca2 100755
--- a/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php
+++ b/wp-content/plugins/wordpress-seo/src/generated/assets/plugin.php
@@ -1 +1 @@
- array('dependencies' => array('react', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '69480e304478afa0732125a238078f05'), 'admin-global.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'f52f81411f06ce94dee2333a27600924'), 'admin-modules.js' => array('dependencies' => array('react', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package'), 'version' => '866abc2fb48999a4eaba77ebcb672205'), 'analysis-worker.js' => array('dependencies' => array('wp-polyfill'), 'version' => '6fa0d80f2247d8aafeb99f9bfb14df4d'), 'api-client.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'd569a6e5512343a9f1d606d2c7bf2a78'), 'block-editor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-annotations', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '71dee50313c51301837bdacf54b516b7'), 'bulk-editor.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '227a3a20cd4c31875558aed5251e4c36'), 'classic-editor.js' => array('dependencies' => array('jquery', 'lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '3c4f71218db08411a744387152685104'), 'crawl-settings.js' => array('dependencies' => array('wp-polyfill'), 'version' => '41b15773933fa3ee4d132ee97282d0d6'), 'dashboard-widget.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-style-guide-package'), 'version' => 'd17d3d38154a1c419f32cb3a3a0ad26f'), 'wincher-dashboard-widget.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e9b3da7733997ad3a0713019909843d0'), 'dynamic-blocks.js' => array('dependencies' => array('wp-blocks', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-server-side-render'), 'version' => '6b716b016f54bccce4ad3cd90f0f784a'), 'edit-page.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '46d40db319e110d9a9dabc529f91325d'), 'editor-modules.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '9460559d5fd677e592f67adcf65704a8'), 'elementor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => 'e4d6971868fda522797acf164232803b'), 'externals-components.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '59f943b6e2d6a7b00459b6adfb71628e'), 'externals-contexts.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '2287b1de1f9688e94472a18514e8e076'), 'externals-redux.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'a7437554c005f430265bc0299fad36a4'), 'filter-explanation.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'ae77cb279c80c12d392a37a0b225b2e9'), 'first-time-configuration.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-ui-library-package'), 'version' => '027a9fff9669a612dc3b5176d13b643f'), 'help-scout-beacon.js' => array('dependencies' => array('wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-styled-components-package'), 'version' => '3b7037a52f39cfb1e054ad970c22d7b7'), 'import.js' => array('dependencies' => array('jquery', 'lodash', 'wp-i18n', 'wp-polyfill'), 'version' => '964c7938a21fcb42b144cf50e317de5c'), 'indexation.js' => array('dependencies' => array('jquery', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '67d782aa5f98fb1ed91caa9c39b390f0'), 'installation-success.js' => array('dependencies' => array('lodash', 'react', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ee434f1aa2f52b2da8c27e8f6fe2a0e9'), 'integrations-page.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6fee6e88bfe2d275234351afebca9e91'), 'introductions.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => '1e7362e1c8ecd4a1f9f7aeb1aceb20cf'), 'network-admin.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'aad1a00119e3053b530ae8c24d505c5e'), 'post-edit.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => 'f1501c6a9d5ae3f9efd86a7a9de39f16'), 'quick-edit-handler.js' => array('dependencies' => array('wp-polyfill'), 'version' => '07052efb487ed262971ca82aadaa27ed'), 'reindex-links.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'a1e7c0cb147afc82d9d2a68f9617ec45'), 'redirect-old-features-tab.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4b1838e53a5a52cbe832e86442dec34e'), 'settings.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-redux', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '49d93e6f7c0184310371fbdb45ce8d0a'), 'new-settings.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '9f6c37f91cb823e3b2a80c48d7080516'), 'academy.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'de257a236bb15637d63c4ae50125cfc1'), 'support.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'aa281c77b9b3bdc12c1d261f8fa03f0d'), 'structured-data-blocks.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ba5124af05df3757fc75c242eac83364'), 'term-edit.js' => array('dependencies' => array('jquery', 'lodash', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'dd3cc0455f2e842b696606290e877c4f'), 'used-keywords-assessment.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-analysis-package'), 'version' => '72969b8debf0963c7c79a23a9b5d5774'), 'react-select.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '7afc7415cd0086d3764aa421b5caec9f'), 'workouts.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '5ae25a8b4a11e8f45d8756c2aa937967'), 'wordproof-uikit.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'a4bc31ca75c86c84c6d61f14fd5b094f'), 'frontend-inspector-resources.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package'), 'version' => '0c57328d3c1e05881efa5b382a2da335'));
\ No newline at end of file
+ array('dependencies' => array('react', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '69480e304478afa0732125a238078f05'), 'admin-global.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'f52f81411f06ce94dee2333a27600924'), 'admin-modules.js' => array('dependencies' => array('react', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package'), 'version' => '866abc2fb48999a4eaba77ebcb672205'), 'analysis-worker.js' => array('dependencies' => array('wp-polyfill'), 'version' => '6fa0d80f2247d8aafeb99f9bfb14df4d'), 'api-client.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'd569a6e5512343a9f1d606d2c7bf2a78'), 'block-editor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-annotations', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-plugins', 'wp-polyfill', 'wp-rich-text', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => 'c9f1af48e6d43573b5abe92ac1a0be63'), 'bulk-editor.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '227a3a20cd4c31875558aed5251e4c36'), 'classic-editor.js' => array('dependencies' => array('jquery', 'lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '5e25901cfb67cccde932c4790bee6075'), 'crawl-settings.js' => array('dependencies' => array('wp-polyfill'), 'version' => '41b15773933fa3ee4d132ee97282d0d6'), 'dashboard-widget.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-style-guide-package'), 'version' => 'd17d3d38154a1c419f32cb3a3a0ad26f'), 'wincher-dashboard-widget.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => 'e9b3da7733997ad3a0713019909843d0'), 'dynamic-blocks.js' => array('dependencies' => array('wp-blocks', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-server-side-render'), 'version' => '6b716b016f54bccce4ad3cd90f0f784a'), 'edit-page.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => '46d40db319e110d9a9dabc529f91325d'), 'editor-modules.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '9460559d5fd677e592f67adcf65704a8'), 'elementor.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-components', 'yoast-seo-externals-contexts', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-search-metadata-previews-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6770c04bbfe8813b2326cbd3dab5e05a'), 'externals-components.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-analysis-report-package', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '59f943b6e2d6a7b00459b6adfb71628e'), 'externals-contexts.js' => array('dependencies' => array('wp-element', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '2287b1de1f9688e94472a18514e8e076'), 'externals-redux.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-sanitize', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'a7437554c005f430265bc0299fad36a4'), 'filter-explanation.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'ae77cb279c80c12d392a37a0b225b2e9'), 'first-time-configuration.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-social-metadata-forms-package', 'yoast-seo-ui-library-package'), 'version' => '027a9fff9669a612dc3b5176d13b643f'), 'help-scout-beacon.js' => array('dependencies' => array('wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-styled-components-package'), 'version' => '3b7037a52f39cfb1e054ad970c22d7b7'), 'import.js' => array('dependencies' => array('jquery', 'lodash', 'wp-i18n', 'wp-polyfill'), 'version' => '964c7938a21fcb42b144cf50e317de5c'), 'indexation.js' => array('dependencies' => array('jquery', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package', 'yoast-seo-styled-components-package'), 'version' => '67d782aa5f98fb1ed91caa9c39b390f0'), 'installation-success.js' => array('dependencies' => array('lodash', 'react', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ee434f1aa2f52b2da8c27e8f6fe2a0e9'), 'integrations-page.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-contexts', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6fee6e88bfe2d275234351afebca9e91'), 'introductions.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => '1e7362e1c8ecd4a1f9f7aeb1aceb20cf'), 'network-admin.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'aad1a00119e3053b530ae8c24d505c5e'), 'post-edit.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '6888c91ba01fd5b6bb5c16a8138b479e'), 'quick-edit-handler.js' => array('dependencies' => array('wp-polyfill'), 'version' => '07052efb487ed262971ca82aadaa27ed'), 'reindex-links.js' => array('dependencies' => array('jquery', 'wp-polyfill'), 'version' => 'a1e7c0cb147afc82d9d2a68f9617ec45'), 'redirect-old-features-tab.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4b1838e53a5a52cbe832e86442dec34e'), 'settings.js' => array('dependencies' => array('jquery', 'lodash', 'react', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-externals-redux', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '49d93e6f7c0184310371fbdb45ce8d0a'), 'new-settings.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-replacement-variable-editor-package', 'yoast-seo-styled-components-package', 'yoast-seo-ui-library-package'), 'version' => '9f6c37f91cb823e3b2a80c48d7080516'), 'academy.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'de257a236bb15637d63c4ae50125cfc1'), 'support.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url', 'yoast-seo-prop-types-package', 'yoast-seo-react-helmet-package', 'yoast-seo-redux-js-toolkit-package', 'yoast-seo-ui-library-package'), 'version' => 'aa281c77b9b3bdc12c1d261f8fa03f0d'), 'structured-data-blocks.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => 'ba5124af05df3757fc75c242eac83364'), 'term-edit.js' => array('dependencies' => array('jquery', 'lodash', 'wp-annotations', 'wp-api', 'wp-api-fetch', 'wp-data', 'wp-dom-ready', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-rich-text', 'wp-url', 'yoast-seo-analysis-package', 'yoast-seo-externals-redux', 'yoast-seo-feature-flag-package', 'yoast-seo-redux-js-toolkit-package'), 'version' => 'dd3cc0455f2e842b696606290e877c4f'), 'used-keywords-assessment.js' => array('dependencies' => array('wp-polyfill', 'yoast-seo-analysis-package'), 'version' => '72969b8debf0963c7c79a23a9b5d5774'), 'react-select.js' => array('dependencies' => array('react', 'react-dom', 'wp-polyfill', 'yoast-seo-prop-types-package'), 'version' => '7afc7415cd0086d3764aa421b5caec9f'), 'workouts.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-components-new-package', 'yoast-seo-externals-contexts', 'yoast-seo-helpers-package', 'yoast-seo-prop-types-package', 'yoast-seo-styled-components-package'), 'version' => '5ae25a8b4a11e8f45d8756c2aa937967'), 'wordproof-uikit.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'a4bc31ca75c86c84c6d61f14fd5b094f'), 'frontend-inspector-resources.js' => array('dependencies' => array('lodash', 'react', 'wp-element', 'wp-i18n', 'wp-polyfill', 'yoast-seo-analysis-package', 'yoast-seo-components-new-package', 'yoast-seo-prop-types-package', 'yoast-seo-style-guide-package'), 'version' => '0c57328d3c1e05881efa5b382a2da335'));
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/src/generated/container.php b/wp-content/plugins/wordpress-seo/src/generated/container.php
index e1d798c87..f85be5236 100755
--- a/wp-content/plugins/wordpress-seo/src/generated/container.php
+++ b/wp-content/plugins/wordpress-seo/src/generated/container.php
@@ -93,7 +93,6 @@ public function __construct()
'yoast\\wp\\seo\\conditionals\\deactivating_yoast_seo_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Deactivating_Yoast_Seo_Conditional',
'yoast\\wp\\seo\\conditionals\\development_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional',
'yoast\\wp\\seo\\conditionals\\front_end_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional',
- 'yoast\\wp\\seo\\conditionals\\front_end_inspector_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional',
'yoast\\wp\\seo\\conditionals\\get_request_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional',
'yoast\\wp\\seo\\conditionals\\headless_rest_endpoints_enabled_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional',
'yoast\\wp\\seo\\conditionals\\import_tool_selected_conditional' => 'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional',
@@ -524,7 +523,6 @@ public function __construct()
'Yoast\\WP\\SEO\\Conditionals\\Deactivating_Yoast_Seo_Conditional' => 'getDeactivatingYoastSeoConditionalService',
'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional' => 'getDevelopmentConditionalService',
'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional' => 'getFrontEndConditionalService',
- 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional' => 'getFrontEndInspectorConditionalService',
'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional' => 'getGetRequestConditionalService',
'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional' => 'getHeadlessRestEndpointsEnabledConditionalService',
'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional' => 'getImportToolSelectedConditionalService',
@@ -1838,20 +1836,6 @@ protected function getFrontEndConditionalService()
return $this->services['Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional'] = new \Yoast\WP\SEO\Conditionals\Front_End_Conditional();
}
- /**
- * Gets the public 'Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional' shared autowired service.
- *
- * @return \Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional
- *
- * @deprecated Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional is deprecated since version 19.5!
- */
- protected function getFrontEndInspectorConditionalService()
- {
- @trigger_error('Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional is deprecated since version 19.5!', E_USER_DEPRECATED);
-
- return $this->services['Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional'] = new \Yoast\WP\SEO\Conditionals\Front_End_Inspector_Conditional();
- }
-
/**
* Gets the public 'Yoast\WP\SEO\Conditionals\Get_Request_Conditional' shared autowired service.
*
diff --git a/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php b/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php
index fc06b5448..86b7d245b 100755
--- a/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php
+++ b/wp-content/plugins/wordpress-seo/src/helpers/image-helper.php
@@ -308,7 +308,8 @@ public function get_attachment_by_url( $url, $use_link_table = true ) {
return 0;
}
- if ( ! $this->options_helper->get( 'disable-attachment' ) ) {
+ /** The `wpseo_force_creating_and_using_attachment_indexables` filter is documented in indexable-link-builder.php */
+ if ( ! $this->options_helper->get( 'disable-attachment' ) || \apply_filters( 'wpseo_force_creating_and_using_attachment_indexables', false ) ) {
// Strip out the size part of an image URL.
$url = \preg_replace( '/(.*)-\d+x\d+\.(jpeg|jpg|png|gif)$/', '$1.$2', $url );
diff --git a/wp-content/plugins/wordpress-seo/vendor/autoload.php b/wp-content/plugins/wordpress-seo/vendor/autoload.php
index ef3e23edc..93e863fac 100755
--- a/wp-content/plugins/wordpress-seo/vendor/autoload.php
+++ b/wp-content/plugins/wordpress-seo/vendor/autoload.php
@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
-return ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126::getLoader();
+return ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f::getLoader();
diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php b/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php
index d50e0c9fc..015819496 100755
--- a/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php
+++ b/wp-content/plugins/wordpress-seo/vendor/composer/InstalledVersions.php
@@ -326,7 +326,9 @@ private static function getInstalled()
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
- $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
+ /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */
+ $required = require $vendorDir.'/composer/installed.php';
+ $installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
@@ -338,12 +340,17 @@ private static function getInstalled()
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
- self::$installed = require __DIR__ . '/installed.php';
+ /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */
+ $required = require __DIR__ . '/installed.php';
+ self::$installed = $required;
} else {
self::$installed = array();
}
}
- $installed[] = self::$installed;
+
+ if (self::$installed !== array()) {
+ $installed[] = self::$installed;
+ }
return $installed;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php
index c4aa347ba..bc6f6b125 100755
--- a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php
+++ b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_classmap.php
@@ -8,7 +8,7 @@
return array(
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
- 'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
+ 'Composer\\Installers\\AkauntingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php',
'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
@@ -22,7 +22,6 @@
'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
- 'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
'Composer\\Installers\\DframeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DframeInstaller.php',
@@ -40,9 +39,7 @@
'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
- 'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
- 'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
'Composer\\Installers\\KnownInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KnownInstaller.php',
'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
@@ -56,6 +53,7 @@
'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
'Composer\\Installers\\MantisBTInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php',
+ 'Composer\\Installers\\MatomoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MatomoInstaller.php',
'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
@@ -71,7 +69,6 @@
'Composer\\Installers\\PantheonInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PantheonInstaller.php',
'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
- 'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
@@ -92,9 +89,6 @@
'Composer\\Installers\\StarbugInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/StarbugInstaller.php',
'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
'Composer\\Installers\\SyliusInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyliusInstaller.php',
- 'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
- 'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
- 'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
'Composer\\Installers\\TaoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
'Composer\\Installers\\TastyIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php',
'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
@@ -121,7 +115,6 @@
'WPSEO_Admin_Asset_Location' => $baseDir . '/admin/class-admin-asset-location.php',
'WPSEO_Admin_Asset_Manager' => $baseDir . '/admin/class-admin-asset-manager.php',
'WPSEO_Admin_Asset_SEO_Location' => $baseDir . '/admin/class-admin-asset-seo-location.php',
- 'WPSEO_Admin_Asset_Yoast_Components_L10n' => $baseDir . '/admin/class-admin-asset-yoast-components-l10n.php',
'WPSEO_Admin_Bar_Menu' => $baseDir . '/inc/class-wpseo-admin-bar-menu.php',
'WPSEO_Admin_Editor_Specific_Replace_Vars' => $baseDir . '/admin/class-admin-editor-specific-replace-vars.php',
'WPSEO_Admin_Gutenberg_Compatibility_Notification' => $baseDir . '/admin/class-admin-gutenberg-compatibility-notification.php',
@@ -253,9 +246,6 @@
'WPSEO_Role_Manager_Factory' => $baseDir . '/admin/roles/class-role-manager-factory.php',
'WPSEO_Role_Manager_VIP' => $baseDir . '/admin/roles/class-role-manager-vip.php',
'WPSEO_Role_Manager_WP' => $baseDir . '/admin/roles/class-role-manager-wp.php',
- 'WPSEO_Ryte' => $baseDir . '/src/deprecated/admin/ryte/class-ryte.php',
- 'WPSEO_Ryte_Option' => $baseDir . '/src/deprecated/admin/ryte/class-ryte-option.php',
- 'WPSEO_Ryte_Request' => $baseDir . '/src/deprecated/admin/ryte/class-ryte-request.php',
'WPSEO_Schema_Person_Upgrade_Notification' => $baseDir . '/admin/class-schema-person-upgrade-notification.php',
'WPSEO_Shortcode_Filter' => $baseDir . '/admin/ajax/class-shortcode-filter.php',
'WPSEO_Shortlinker' => $baseDir . '/inc/class-wpseo-shortlinker.php',
@@ -297,8 +287,11 @@
'WPSEO_WordPress_Integration' => $baseDir . '/inc/interface-wpseo-wordpress-integration.php',
'WPSEO_Yoast_Columns' => $baseDir . '/admin/class-yoast-columns.php',
'Wincher_Dashboard_Widget' => $baseDir . '/admin/class-wincher-dashboard-widget.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizer' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizerInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php',
'YoastSEO_Vendor\\GuzzleHttp\\Client' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Client.php',
'YoastSEO_Vendor\\GuzzleHttp\\ClientInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\ClientTrait' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php',
'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJar' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJarInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\FileCookieJar' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
@@ -310,7 +303,6 @@
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\GuzzleException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\InvalidArgumentException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\RequestException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php',
- 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\SeekException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\ServerException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ServerException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TooManyRedirectsException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TransferException' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TransferException.php',
@@ -320,10 +312,12 @@
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlMultiHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\EasyHandle' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\HeaderProcessor' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\MockHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/MockHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\Proxy' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\StreamHandler' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatter' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatterInterface' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php',
'YoastSEO_Vendor\\GuzzleHttp\\Middleware' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Middleware.php',
'YoastSEO_Vendor\\GuzzleHttp\\Pool' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php',
'YoastSEO_Vendor\\GuzzleHttp\\PrepareBodyMiddleware' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
@@ -347,8 +341,10 @@
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\BufferStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\CachingStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\DroppingStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\FnStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/FnStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Header' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/Header.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\HttpFactory' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\InflateStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LazyOpenStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LimitStream' => $baseDir . '/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php',
@@ -376,7 +372,6 @@
'YoastSEO_Vendor\\GuzzleHttp\\RequestOptions' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php',
'YoastSEO_Vendor\\GuzzleHttp\\RetryMiddleware' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php',
'YoastSEO_Vendor\\GuzzleHttp\\TransferStats' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php',
- 'YoastSEO_Vendor\\GuzzleHttp\\UriTemplate' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php',
'YoastSEO_Vendor\\GuzzleHttp\\Utils' => $baseDir . '/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php',
'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AbstractGrant' => $baseDir . '/vendor_prefixed/league/oauth2-client/src/Grant/AbstractGrant.php',
'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AuthorizationCode' => $baseDir . '/vendor_prefixed/league/oauth2-client/src/Grant/AuthorizationCode.php',
@@ -407,12 +402,22 @@
'YoastSEO_Vendor\\Psr\\Container\\ContainerExceptionInterface' => $baseDir . '/vendor_prefixed/psr/container/src/ContainerExceptionInterface.php',
'YoastSEO_Vendor\\Psr\\Container\\ContainerInterface' => $baseDir . '/vendor_prefixed/psr/container/src/ContainerInterface.php',
'YoastSEO_Vendor\\Psr\\Container\\NotFoundExceptionInterface' => $baseDir . '/vendor_prefixed/psr/container/src/NotFoundExceptionInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientExceptionInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/ClientInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\NetworkExceptionInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/NetworkExceptionInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\RequestExceptionInterface' => $baseDir . '/vendor_prefixed/psr/http-client/src/RequestExceptionInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\MessageInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/MessageInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/RequestFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/RequestInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/ResponseFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/ResponseInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/ServerRequestInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/StreamFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/StreamInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/UploadedFileInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\UriFactoryInterface' => $baseDir . '/vendor_prefixed/psr/http-factory/src/UriFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\UriInterface' => $baseDir . '/vendor_prefixed/psr/http-message/src/UriInterface.php',
'YoastSEO_Vendor\\Psr\\Log\\AbstractLogger' => $baseDir . '/vendor_prefixed/psr/log/Psr/Log/AbstractLogger.php',
'YoastSEO_Vendor\\Psr\\Log\\InvalidArgumentException' => $baseDir . '/vendor_prefixed/psr/log/Psr/Log/InvalidArgumentException.php',
@@ -447,6 +452,7 @@
'YoastSEO_Vendor\\WordProof\\SDK\\Config\\ScriptsConfig' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Config/ScriptsConfig.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\AuthenticationController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/AuthenticationController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\CertificateController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php',
+ 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\IdentityController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\NoticeController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/NoticeController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorDataController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorDataController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorTimestampController' => $baseDir . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorTimestampController.php',
@@ -497,7 +503,6 @@
'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Activate_Action' => $baseDir . '/src/actions/addon-installation/addon-activate-action.php',
'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Install_Action' => $baseDir . '/src/actions/addon-installation/addon-install-action.php',
'Yoast\\WP\\SEO\\Actions\\Alert_Dismissal_Action' => $baseDir . '/src/actions/alert-dismissal-action.php',
- 'Yoast\\WP\\SEO\\Actions\\Configuration\\Configuration_Workout_Action' => $baseDir . '/src/deprecated/src/actions/configuration/configuration-workout-action.php',
'Yoast\\WP\\SEO\\Actions\\Configuration\\First_Time_Configuration_Action' => $baseDir . '/src/actions/configuration/first-time-configuration-action.php',
'Yoast\\WP\\SEO\\Actions\\Importing\\Abstract_Aioseo_Importing_Action' => $baseDir . '/src/actions/importing/abstract-aioseo-importing-action.php',
'Yoast\\WP\\SEO\\Actions\\Importing\\Aioseo\\Abstract_Aioseo_Settings_Importing_Action' => $baseDir . '/src/actions/importing/aioseo/abstract-aioseo-settings-importing-action.php',
@@ -572,12 +577,10 @@
'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional' => $baseDir . '/src/conditionals/development-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Feature_Flag_Conditional' => $baseDir . '/src/conditionals/feature-flag-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional' => $baseDir . '/src/conditionals/front-end-conditional.php',
- 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional' => $baseDir . '/src/deprecated/src/conditionals/front-end-inspector-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional' => $baseDir . '/src/conditionals/get-request-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional' => $baseDir . '/src/conditionals/headless-rest-endpoints-enabled-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional' => $baseDir . '/src/conditionals/import-tool-selected-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Indexables_Page_Conditional' => $baseDir . '/src/deprecated/src/conditionals/indexables-page-conditional.php',
- 'Yoast\\WP\\SEO\\Conditionals\\Japanese_Support_Conditional' => $baseDir . '/src/deprecated/src/conditionals/japanese-support-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Jetpack_Conditional' => $baseDir . '/src/conditionals/jetpack-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Migrations_Conditional' => $baseDir . '/src/conditionals/migrations-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\New_Settings_Ui_Conditional' => $baseDir . '/src/conditionals/new-settings-ui-conditional.php',
@@ -804,7 +807,6 @@
'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Integration' => $baseDir . '/src/integrations/admin/redirect-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Old_Features_Tab_Integration' => $baseDir . '/src/deprecated/src/integrations/admin/redirect-old-features-tab-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirects_Page_Integration' => $baseDir . '/src/integrations/admin/redirects-page-integration.php',
- 'Yoast\\WP\\SEO\\Integrations\\Admin\\Ryte_Integration' => $baseDir . '/src/deprecated/src/integrations/admin/ryte-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Social_Templates_Integration' => $baseDir . '/src/deprecated/src/integrations/admin/social-templates-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Unsupported_PHP_Version' => $baseDir . '/src/deprecated/src/integrations/admin/unsupported-php-version.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Workouts_Integration' => $baseDir . '/src/integrations/admin/workouts-integration.php',
@@ -932,7 +934,6 @@
'Yoast\\WP\\SEO\\Presenters\\Abstract_Indexable_Tag_Presenter' => $baseDir . '/src/presenters/abstract-indexable-tag-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Abstract_Presenter' => $baseDir . '/src/presenters/abstract-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Alert_Presenter' => $baseDir . '/src/presenters/admin/alert-presenter.php',
- 'Yoast\\WP\\SEO\\Presenters\\Admin\\Auto_Update_Notification_Presenter' => $baseDir . '/src/deprecated/src/presenters/admin/auto-update-notification-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Badge_Presenter' => $baseDir . '/src/presenters/admin/badge-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Beta_Badge_Presenter' => $baseDir . '/src/presenters/admin/beta-badge-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Help_Link_Presenter' => $baseDir . '/src/presenters/admin/help-link-presenter.php',
@@ -999,7 +1000,6 @@
'Yoast\\WP\\SEO\\Routes\\Abstract_Action_Route' => $baseDir . '/src/routes/abstract-action-route.php',
'Yoast\\WP\\SEO\\Routes\\Abstract_Indexation_Route' => $baseDir . '/src/routes/abstract-indexation-route.php',
'Yoast\\WP\\SEO\\Routes\\Alert_Dismissal_Route' => $baseDir . '/src/routes/alert-dismissal-route.php',
- 'Yoast\\WP\\SEO\\Routes\\Configuration_Workout_Route' => $baseDir . '/src/deprecated/src/routes/configuration-workout-route.php',
'Yoast\\WP\\SEO\\Routes\\First_Time_Configuration_Route' => $baseDir . '/src/routes/first-time-configuration-route.php',
'Yoast\\WP\\SEO\\Routes\\Importing_Route' => $baseDir . '/src/routes/importing-route.php',
'Yoast\\WP\\SEO\\Routes\\Indexables_Head_Route' => $baseDir . '/src/routes/indexables-head-route.php',
@@ -1015,9 +1015,6 @@
'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => $baseDir . '/src/routes/workouts-route.php',
'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => $baseDir . '/src/routes/yoast-head-rest-field.php',
'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => $baseDir . '/src/deprecated/src/schema-templates/assets/icons.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => $baseDir . '/src/deprecated/src/services/health-check/curl-check.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => $baseDir . '/src/deprecated/src/services/health-check/curl-reports.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => $baseDir . '/src/deprecated/src/services/health-check/curl-runner.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => $baseDir . '/src/services/health-check/default-tagline-check.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => $baseDir . '/src/services/health-check/default-tagline-reports.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => $baseDir . '/src/services/health-check/default-tagline-runner.php',
@@ -1036,9 +1033,6 @@
'Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory' => $baseDir . '/src/services/health-check/report-builder-factory.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Reports_Trait' => $baseDir . '/src/services/health-check/reports-trait.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Runner_Interface' => $baseDir . '/src/services/health-check/runner-interface.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Check' => $baseDir . '/src/deprecated/src/services/health-check/ryte-check.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Reports' => $baseDir . '/src/deprecated/src/services/health-check/ryte-reports.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Runner' => $baseDir . '/src/deprecated/src/services/health-check/ryte-runner.php',
'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Replacevar_Service' => $baseDir . '/src/services/importing/aioseo/aioseo-replacevar-service.php',
'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Provider_Service' => $baseDir . '/src/services/importing/aioseo/aioseo-robots-provider-service.php',
'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Transformer_Service' => $baseDir . '/src/services/importing/aioseo/aioseo-robots-transformer-service.php',
diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php
index 801cf73f3..5cfd54d91 100755
--- a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php
+++ b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
-class ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126
+class ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f
{
private static $loader;
@@ -24,15 +24,15 @@ public static function getLoader()
require __DIR__ . '/platform_check.php';
- spl_autoload_register(array('ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126', 'loadClassLoader'), true, true);
+ spl_autoload_register(array('ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
- spl_autoload_unregister(array('ComposerAutoloaderInit585049d74f3550c3cb9b04a8e1bdc126', 'loadClassLoader'));
+ spl_autoload_unregister(array('ComposerAutoloaderInit0ed40f9efb344be2102e6b1e982df89f', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
- call_user_func(\Composer\Autoload\ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::getInitializer($loader));
+ call_user_func(\Composer\Autoload\ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php
index 589be991e..848d48cb6 100755
--- a/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php
+++ b/wp-content/plugins/wordpress-seo/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
namespace Composer\Autoload;
-class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
+class ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f
{
public static $prefixLengthsPsr4 = array (
'C' =>
@@ -23,7 +23,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
public static $classMap = array (
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
- 'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
+ 'Composer\\Installers\\AkauntingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php',
'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
@@ -37,7 +37,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
- 'Composer\\Installers\\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
'Composer\\Installers\\DframeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DframeInstaller.php',
@@ -55,9 +54,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php',
'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
- 'Composer\\Installers\\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
- 'Composer\\Installers\\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
'Composer\\Installers\\KnownInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KnownInstaller.php',
'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
@@ -71,6 +68,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
'Composer\\Installers\\MantisBTInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php',
+ 'Composer\\Installers\\MatomoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MatomoInstaller.php',
'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
@@ -86,7 +84,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Composer\\Installers\\PantheonInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PantheonInstaller.php',
'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
- 'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
@@ -107,9 +104,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Composer\\Installers\\StarbugInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/StarbugInstaller.php',
'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
'Composer\\Installers\\SyliusInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyliusInstaller.php',
- 'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
- 'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
- 'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
'Composer\\Installers\\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
'Composer\\Installers\\TastyIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php',
'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
@@ -136,7 +130,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'WPSEO_Admin_Asset_Location' => __DIR__ . '/../..' . '/admin/class-admin-asset-location.php',
'WPSEO_Admin_Asset_Manager' => __DIR__ . '/../..' . '/admin/class-admin-asset-manager.php',
'WPSEO_Admin_Asset_SEO_Location' => __DIR__ . '/../..' . '/admin/class-admin-asset-seo-location.php',
- 'WPSEO_Admin_Asset_Yoast_Components_L10n' => __DIR__ . '/../..' . '/admin/class-admin-asset-yoast-components-l10n.php',
'WPSEO_Admin_Bar_Menu' => __DIR__ . '/../..' . '/inc/class-wpseo-admin-bar-menu.php',
'WPSEO_Admin_Editor_Specific_Replace_Vars' => __DIR__ . '/../..' . '/admin/class-admin-editor-specific-replace-vars.php',
'WPSEO_Admin_Gutenberg_Compatibility_Notification' => __DIR__ . '/../..' . '/admin/class-admin-gutenberg-compatibility-notification.php',
@@ -268,9 +261,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'WPSEO_Role_Manager_Factory' => __DIR__ . '/../..' . '/admin/roles/class-role-manager-factory.php',
'WPSEO_Role_Manager_VIP' => __DIR__ . '/../..' . '/admin/roles/class-role-manager-vip.php',
'WPSEO_Role_Manager_WP' => __DIR__ . '/../..' . '/admin/roles/class-role-manager-wp.php',
- 'WPSEO_Ryte' => __DIR__ . '/../..' . '/src/deprecated/admin/ryte/class-ryte.php',
- 'WPSEO_Ryte_Option' => __DIR__ . '/../..' . '/src/deprecated/admin/ryte/class-ryte-option.php',
- 'WPSEO_Ryte_Request' => __DIR__ . '/../..' . '/src/deprecated/admin/ryte/class-ryte-request.php',
'WPSEO_Schema_Person_Upgrade_Notification' => __DIR__ . '/../..' . '/admin/class-schema-person-upgrade-notification.php',
'WPSEO_Shortcode_Filter' => __DIR__ . '/../..' . '/admin/ajax/class-shortcode-filter.php',
'WPSEO_Shortlinker' => __DIR__ . '/../..' . '/inc/class-wpseo-shortlinker.php',
@@ -312,8 +302,11 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'WPSEO_WordPress_Integration' => __DIR__ . '/../..' . '/inc/interface-wpseo-wordpress-integration.php',
'WPSEO_Yoast_Columns' => __DIR__ . '/../..' . '/admin/class-yoast-columns.php',
'Wincher_Dashboard_Widget' => __DIR__ . '/../..' . '/admin/class-wincher-dashboard-widget.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizer' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php',
'YoastSEO_Vendor\\GuzzleHttp\\Client' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Client.php',
'YoastSEO_Vendor\\GuzzleHttp\\ClientInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\ClientTrait' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php',
'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
'YoastSEO_Vendor\\GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
@@ -325,7 +318,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php',
- 'YoastSEO_Vendor\\GuzzleHttp\\Exception\\SeekException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ServerException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Exception/TransferException.php',
@@ -335,10 +327,12 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/MockHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php',
'YoastSEO_Vendor\\GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatter' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php',
'YoastSEO_Vendor\\GuzzleHttp\\Middleware' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Middleware.php',
'YoastSEO_Vendor\\GuzzleHttp\\Pool' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php',
'YoastSEO_Vendor\\GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
@@ -362,8 +356,10 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/FnStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\Header' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/Header.php',
+ 'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php',
'YoastSEO_Vendor\\GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php',
@@ -391,7 +387,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'YoastSEO_Vendor\\GuzzleHttp\\RequestOptions' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php',
'YoastSEO_Vendor\\GuzzleHttp\\RetryMiddleware' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php',
'YoastSEO_Vendor\\GuzzleHttp\\TransferStats' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php',
- 'YoastSEO_Vendor\\GuzzleHttp\\UriTemplate' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php',
'YoastSEO_Vendor\\GuzzleHttp\\Utils' => __DIR__ . '/../..' . '/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php',
'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AbstractGrant' => __DIR__ . '/../..' . '/vendor_prefixed/league/oauth2-client/src/Grant/AbstractGrant.php',
'YoastSEO_Vendor\\League\\OAuth2\\Client\\Grant\\AuthorizationCode' => __DIR__ . '/../..' . '/vendor_prefixed/league/oauth2-client/src/Grant/AuthorizationCode.php',
@@ -422,12 +417,22 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'YoastSEO_Vendor\\Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/container/src/ContainerExceptionInterface.php',
'YoastSEO_Vendor\\Psr\\Container\\ContainerInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/container/src/ContainerInterface.php',
'YoastSEO_Vendor\\Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/container/src/NotFoundExceptionInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/ClientInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/NetworkExceptionInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-client/src/RequestExceptionInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/MessageInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/RequestFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/RequestInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/ResponseFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/ResponseInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/ServerRequestInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/StreamFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/StreamInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/UploadedFileInterface.php',
+ 'YoastSEO_Vendor\\Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-factory/src/UriFactoryInterface.php',
'YoastSEO_Vendor\\Psr\\Http\\Message\\UriInterface' => __DIR__ . '/../..' . '/vendor_prefixed/psr/http-message/src/UriInterface.php',
'YoastSEO_Vendor\\Psr\\Log\\AbstractLogger' => __DIR__ . '/../..' . '/vendor_prefixed/psr/log/Psr/Log/AbstractLogger.php',
'YoastSEO_Vendor\\Psr\\Log\\InvalidArgumentException' => __DIR__ . '/../..' . '/vendor_prefixed/psr/log/Psr/Log/InvalidArgumentException.php',
@@ -462,6 +467,7 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'YoastSEO_Vendor\\WordProof\\SDK\\Config\\ScriptsConfig' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Config/ScriptsConfig.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\AuthenticationController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/AuthenticationController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\CertificateController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php',
+ 'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\IdentityController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\NoticeController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/NoticeController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorDataController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorDataController.php',
'YoastSEO_Vendor\\WordProof\\SDK\\Controllers\\PostEditorTimestampController' => __DIR__ . '/../..' . '/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/PostEditorTimestampController.php',
@@ -512,7 +518,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Activate_Action' => __DIR__ . '/../..' . '/src/actions/addon-installation/addon-activate-action.php',
'Yoast\\WP\\SEO\\Actions\\Addon_Installation\\Addon_Install_Action' => __DIR__ . '/../..' . '/src/actions/addon-installation/addon-install-action.php',
'Yoast\\WP\\SEO\\Actions\\Alert_Dismissal_Action' => __DIR__ . '/../..' . '/src/actions/alert-dismissal-action.php',
- 'Yoast\\WP\\SEO\\Actions\\Configuration\\Configuration_Workout_Action' => __DIR__ . '/../..' . '/src/deprecated/src/actions/configuration/configuration-workout-action.php',
'Yoast\\WP\\SEO\\Actions\\Configuration\\First_Time_Configuration_Action' => __DIR__ . '/../..' . '/src/actions/configuration/first-time-configuration-action.php',
'Yoast\\WP\\SEO\\Actions\\Importing\\Abstract_Aioseo_Importing_Action' => __DIR__ . '/../..' . '/src/actions/importing/abstract-aioseo-importing-action.php',
'Yoast\\WP\\SEO\\Actions\\Importing\\Aioseo\\Abstract_Aioseo_Settings_Importing_Action' => __DIR__ . '/../..' . '/src/actions/importing/aioseo/abstract-aioseo-settings-importing-action.php',
@@ -587,12 +592,10 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Conditionals\\Development_Conditional' => __DIR__ . '/../..' . '/src/conditionals/development-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Feature_Flag_Conditional' => __DIR__ . '/../..' . '/src/conditionals/feature-flag-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Front_End_Conditional' => __DIR__ . '/../..' . '/src/conditionals/front-end-conditional.php',
- 'Yoast\\WP\\SEO\\Conditionals\\Front_End_Inspector_Conditional' => __DIR__ . '/../..' . '/src/deprecated/src/conditionals/front-end-inspector-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Get_Request_Conditional' => __DIR__ . '/../..' . '/src/conditionals/get-request-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Headless_Rest_Endpoints_Enabled_Conditional' => __DIR__ . '/../..' . '/src/conditionals/headless-rest-endpoints-enabled-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Import_Tool_Selected_Conditional' => __DIR__ . '/../..' . '/src/conditionals/import-tool-selected-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Indexables_Page_Conditional' => __DIR__ . '/../..' . '/src/deprecated/src/conditionals/indexables-page-conditional.php',
- 'Yoast\\WP\\SEO\\Conditionals\\Japanese_Support_Conditional' => __DIR__ . '/../..' . '/src/deprecated/src/conditionals/japanese-support-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Jetpack_Conditional' => __DIR__ . '/../..' . '/src/conditionals/jetpack-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\Migrations_Conditional' => __DIR__ . '/../..' . '/src/conditionals/migrations-conditional.php',
'Yoast\\WP\\SEO\\Conditionals\\New_Settings_Ui_Conditional' => __DIR__ . '/../..' . '/src/conditionals/new-settings-ui-conditional.php',
@@ -819,7 +822,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Integration' => __DIR__ . '/../..' . '/src/integrations/admin/redirect-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirect_Old_Features_Tab_Integration' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/redirect-old-features-tab-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Redirects_Page_Integration' => __DIR__ . '/../..' . '/src/integrations/admin/redirects-page-integration.php',
- 'Yoast\\WP\\SEO\\Integrations\\Admin\\Ryte_Integration' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/ryte-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Social_Templates_Integration' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/social-templates-integration.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Unsupported_PHP_Version' => __DIR__ . '/../..' . '/src/deprecated/src/integrations/admin/unsupported-php-version.php',
'Yoast\\WP\\SEO\\Integrations\\Admin\\Workouts_Integration' => __DIR__ . '/../..' . '/src/integrations/admin/workouts-integration.php',
@@ -947,7 +949,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Presenters\\Abstract_Indexable_Tag_Presenter' => __DIR__ . '/../..' . '/src/presenters/abstract-indexable-tag-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Abstract_Presenter' => __DIR__ . '/../..' . '/src/presenters/abstract-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Alert_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/alert-presenter.php',
- 'Yoast\\WP\\SEO\\Presenters\\Admin\\Auto_Update_Notification_Presenter' => __DIR__ . '/../..' . '/src/deprecated/src/presenters/admin/auto-update-notification-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Badge_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/badge-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Beta_Badge_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/beta-badge-presenter.php',
'Yoast\\WP\\SEO\\Presenters\\Admin\\Help_Link_Presenter' => __DIR__ . '/../..' . '/src/presenters/admin/help-link-presenter.php',
@@ -1014,7 +1015,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Routes\\Abstract_Action_Route' => __DIR__ . '/../..' . '/src/routes/abstract-action-route.php',
'Yoast\\WP\\SEO\\Routes\\Abstract_Indexation_Route' => __DIR__ . '/../..' . '/src/routes/abstract-indexation-route.php',
'Yoast\\WP\\SEO\\Routes\\Alert_Dismissal_Route' => __DIR__ . '/../..' . '/src/routes/alert-dismissal-route.php',
- 'Yoast\\WP\\SEO\\Routes\\Configuration_Workout_Route' => __DIR__ . '/../..' . '/src/deprecated/src/routes/configuration-workout-route.php',
'Yoast\\WP\\SEO\\Routes\\First_Time_Configuration_Route' => __DIR__ . '/../..' . '/src/routes/first-time-configuration-route.php',
'Yoast\\WP\\SEO\\Routes\\Importing_Route' => __DIR__ . '/../..' . '/src/routes/importing-route.php',
'Yoast\\WP\\SEO\\Routes\\Indexables_Head_Route' => __DIR__ . '/../..' . '/src/routes/indexables-head-route.php',
@@ -1030,9 +1030,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Routes\\Workouts_Route' => __DIR__ . '/../..' . '/src/routes/workouts-route.php',
'Yoast\\WP\\SEO\\Routes\\Yoast_Head_REST_Field' => __DIR__ . '/../..' . '/src/routes/yoast-head-rest-field.php',
'Yoast\\WP\\SEO\\Schema_Templates\\Assets\\Icons' => __DIR__ . '/../..' . '/src/deprecated/src/schema-templates/assets/icons.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Check' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-check.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Reports' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-reports.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Curl_Runner' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/curl-runner.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Check' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-check.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Reports' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-reports.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Default_Tagline_Runner' => __DIR__ . '/../..' . '/src/services/health-check/default-tagline-runner.php',
@@ -1051,9 +1048,6 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
'Yoast\\WP\\SEO\\Services\\Health_Check\\Report_Builder_Factory' => __DIR__ . '/../..' . '/src/services/health-check/report-builder-factory.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Reports_Trait' => __DIR__ . '/../..' . '/src/services/health-check/reports-trait.php',
'Yoast\\WP\\SEO\\Services\\Health_Check\\Runner_Interface' => __DIR__ . '/../..' . '/src/services/health-check/runner-interface.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Check' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/ryte-check.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Reports' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/ryte-reports.php',
- 'Yoast\\WP\\SEO\\Services\\Health_Check\\Ryte_Runner' => __DIR__ . '/../..' . '/src/deprecated/src/services/health-check/ryte-runner.php',
'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Replacevar_Service' => __DIR__ . '/../..' . '/src/services/importing/aioseo/aioseo-replacevar-service.php',
'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Provider_Service' => __DIR__ . '/../..' . '/src/services/importing/aioseo/aioseo-robots-provider-service.php',
'Yoast\\WP\\SEO\\Services\\Importing\\Aioseo\\Aioseo_Robots_Transformer_Service' => __DIR__ . '/../..' . '/src/services/importing/aioseo/aioseo-robots-transformer-service.php',
@@ -1103,9 +1097,9 @@ class ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::$prefixDirsPsr4;
- $loader->classMap = ComposerStaticInit585049d74f3550c3cb9b04a8e1bdc126::$classMap;
+ $loader->prefixLengthsPsr4 = ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInit0ed40f9efb344be2102e6b1e982df89f::$classMap;
}, null, ClassLoader::class);
}
diff --git a/wp-content/plugins/wordpress-seo/vendor/composer/installed.php b/wp-content/plugins/wordpress-seo/vendor/composer/installed.php
index 380d53314..3f72b2c73 100755
--- a/wp-content/plugins/wordpress-seo/vendor/composer/installed.php
+++ b/wp-content/plugins/wordpress-seo/vendor/composer/installed.php
@@ -5,39 +5,27 @@
'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => '65fd3da349478ca55b8242c9d2d1ce1126010e3e',
+ 'reference' => '76f67d7a6501437c5749d89b06b7b3b807a87096',
'name' => 'yoast/wordpress-seo',
'dev' => false,
),
'versions' => array(
'composer/installers' => array(
- 'pretty_version' => 'v1.12.0',
- 'version' => '1.12.0.0',
+ 'pretty_version' => 'v2.2.0',
+ 'version' => '2.2.0.0',
'type' => 'composer-plugin',
'install_path' => __DIR__ . '/./installers',
'aliases' => array(),
- 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
+ 'reference' => 'c29dc4b93137acb82734f672c37e029dfbd95b35',
'dev_requirement' => false,
),
- 'roundcube/plugin-installer' => array(
- 'dev_requirement' => false,
- 'replaced' => array(
- 0 => '*',
- ),
- ),
- 'shama/baton' => array(
- 'dev_requirement' => false,
- 'replaced' => array(
- 0 => '*',
- ),
- ),
'yoast/wordpress-seo' => array(
'pretty_version' => 'dev-main',
'version' => 'dev-main',
'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => '65fd3da349478ca55b8242c9d2d1ce1126010e3e',
+ 'reference' => '76f67d7a6501437c5749d89b06b7b3b807a87096',
'dev_requirement' => false,
),
),
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php
new file mode 100755
index 000000000..01cf94a66
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizer.php
@@ -0,0 +1,23 @@
+truncateAt = $truncateAt;
+ }
+ /**
+ * Returns a summarized message body.
+ */
+ public function summarize(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : ?string
+ {
+ return $this->truncateAt === null ? \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::bodySummary($message) : \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
+ }
+}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php
new file mode 100755
index 000000000..28ff13e30
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php
@@ -0,0 +1,12 @@
+configureDefaults($config);
}
@@ -75,15 +68,17 @@ public function __construct(array $config = [])
* @param string $method
* @param array $args
*
- * @return Promise\PromiseInterface
+ * @return PromiseInterface|ResponseInterface
+ *
+ * @deprecated Client::__call will be removed in guzzlehttp/guzzle:8.0.
*/
public function __call($method, $args)
{
if (\count($args) < 1) {
- throw new \InvalidArgumentException('Magic request methods require a URI and optional options array');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('Magic request methods require a URI and optional options array');
}
$uri = $args[0];
- $opts = isset($args[1]) ? $args[1] : [];
+ $opts = $args[1] ?? [];
return \substr($method, -5) === 'Async' ? $this->requestAsync(\substr($method, 0, -5), $uri, $opts) : $this->request($method, $uri, $opts);
}
/**
@@ -91,10 +86,8 @@ public function __call($method, $args)
*
* @param array $options Request options to apply to the given
* request and to the transfer. See \GuzzleHttp\RequestOptions.
- *
- * @return Promise\PromiseInterface
*/
- public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = [])
+ public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
// Merge the base URI into the request URI if needed.
$options = $this->prepareDefaults($options);
@@ -106,14 +99,25 @@ public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $re
* @param array $options Request options to apply to the given
* request and to the transfer. See \GuzzleHttp\RequestOptions.
*
- * @return ResponseInterface
* @throws GuzzleException
*/
- public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = [])
+ public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
{
$options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS] = \true;
return $this->sendAsync($request, $options)->wait();
}
+ /**
+ * The HttpClient PSR (PSR-18) specify this method.
+ *
+ * {@inheritDoc}
+ */
+ public function sendRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS] = \true;
+ $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::ALLOW_REDIRECTS] = \false;
+ $options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::HTTP_ERRORS] = \false;
+ return $this->sendAsync($request, $options)->wait();
+ }
/**
* Create and send an asynchronous HTTP request.
*
@@ -125,20 +129,18 @@ public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request
* @param string $method HTTP method
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
- *
- * @return Promise\PromiseInterface
*/
- public function requestAsync($method, $uri = '', array $options = [])
+ public function requestAsync(string $method, $uri = '', array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$options = $this->prepareDefaults($options);
// Remove request modifying parameter because it can be done up-front.
- $headers = isset($options['headers']) ? $options['headers'] : [];
- $body = isset($options['body']) ? $options['body'] : null;
- $version = isset($options['version']) ? $options['version'] : '1.1';
+ $headers = $options['headers'] ?? [];
+ $body = $options['body'] ?? null;
+ $version = $options['version'] ?? '1.1';
// Merge the URI into the base URI.
- $uri = $this->buildUri($uri, $options);
+ $uri = $this->buildUri(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::uriFor($uri), $options);
if (\is_array($body)) {
- $this->invalidBody();
+ throw $this->invalidBody();
}
$request = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request($method, $uri, $headers, $body, $version);
// Remove the option so that they are not doubly-applied.
@@ -156,10 +158,9 @@ public function requestAsync($method, $uri = '', array $options = [])
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
*
- * @return ResponseInterface
* @throws GuzzleException
*/
- public function request($method, $uri = '', array $options = [])
+ public function request(string $method, $uri = '', array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
{
$options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS] = \true;
return $this->requestAsync($method, $uri, $options)->wait();
@@ -174,22 +175,17 @@ public function request($method, $uri = '', array $options = [])
* @param string|null $option The config option to retrieve.
*
* @return mixed
+ *
+ * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0.
*/
- public function getConfig($option = null)
+ public function getConfig(string $option = null)
{
- return $option === null ? $this->config : (isset($this->config[$option]) ? $this->config[$option] : null);
+ return $option === null ? $this->config : $this->config[$option] ?? null;
}
- /**
- * @param string|null $uri
- *
- * @return UriInterface
- */
- private function buildUri($uri, array $config)
+ private function buildUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $config) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
- // for BC we accept null which would otherwise fail in uri_for
- $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\uri_for($uri === null ? '' : $uri);
if (isset($config['base_uri'])) {
- $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve(\YoastSEO_Vendor\GuzzleHttp\Psr7\uri_for($config['base_uri']), $uri);
+ $uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::uriFor($config['base_uri']), $uri);
}
if (isset($config['idn_conversion']) && $config['idn_conversion'] !== \false) {
$idnOptions = $config['idn_conversion'] === \true ? \IDNA_DEFAULT : $config['idn_conversion'];
@@ -199,24 +195,21 @@ private function buildUri($uri, array $config)
}
/**
* Configures the default options for a client.
- *
- * @param array $config
- * @return void
*/
- private function configureDefaults(array $config)
+ private function configureDefaults(array $config) : void
{
$defaults = ['allow_redirects' => \YoastSEO_Vendor\GuzzleHttp\RedirectMiddleware::$defaultSettings, 'http_errors' => \true, 'decode_content' => \true, 'verify' => \true, 'cookies' => \false, 'idn_conversion' => \false];
// Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set.
// We can only trust the HTTP_PROXY environment variable in a CLI
// process due to the fact that PHP has no reliable mechanism to
// get environment variables that start with "HTTP_".
- if (\php_sapi_name() === 'cli' && \getenv('HTTP_PROXY')) {
- $defaults['proxy']['http'] = \getenv('HTTP_PROXY');
+ if (\PHP_SAPI === 'cli' && ($proxy = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('HTTP_PROXY'))) {
+ $defaults['proxy']['http'] = $proxy;
}
- if ($proxy = \getenv('HTTPS_PROXY')) {
+ if ($proxy = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('HTTPS_PROXY')) {
$defaults['proxy']['https'] = $proxy;
}
- if ($noProxy = \getenv('NO_PROXY')) {
+ if ($noProxy = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('NO_PROXY')) {
$cleanedNoProxy = \str_replace(' ', '', $noProxy);
$defaults['proxy']['no'] = \explode(',', $cleanedNoProxy);
}
@@ -226,7 +219,7 @@ private function configureDefaults(array $config)
}
// Add the default user-agent header.
if (!isset($this->config['headers'])) {
- $this->config['headers'] = ['User-Agent' => default_user_agent()];
+ $this->config['headers'] = ['User-Agent' => \YoastSEO_Vendor\GuzzleHttp\Utils::defaultUserAgent()];
} else {
// Add the User-Agent header if one was not already set.
foreach (\array_keys($this->config['headers']) as $name) {
@@ -234,17 +227,15 @@ private function configureDefaults(array $config)
return;
}
}
- $this->config['headers']['User-Agent'] = default_user_agent();
+ $this->config['headers']['User-Agent'] = \YoastSEO_Vendor\GuzzleHttp\Utils::defaultUserAgent();
}
}
/**
* Merges default options into the array.
*
* @param array $options Options to modify by reference
- *
- * @return array
*/
- private function prepareDefaults(array $options)
+ private function prepareDefaults(array $options) : array
{
$defaults = $this->config;
if (!empty($defaults['headers'])) {
@@ -260,7 +251,7 @@ private function prepareDefaults(array $options)
$defaults['_conditional'] = [];
unset($options['headers']);
} elseif (!\is_array($options['headers'])) {
- throw new \InvalidArgumentException('headers must be an array');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('headers must be an array');
}
}
// Shallow merge defaults underneath options.
@@ -280,53 +271,39 @@ private function prepareDefaults(array $options)
* as-is without merging in default options.
*
* @param array $options See \GuzzleHttp\RequestOptions.
- *
- * @return Promise\PromiseInterface
*/
- private function transfer(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ private function transfer(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
- // save_to -> sink
- if (isset($options['save_to'])) {
- $options['sink'] = $options['save_to'];
- unset($options['save_to']);
- }
- // exceptions -> http_errors
- if (isset($options['exceptions'])) {
- $options['http_errors'] = $options['exceptions'];
- unset($options['exceptions']);
- }
$request = $this->applyOptions($request, $options);
/** @var HandlerStack $handler */
$handler = $options['handler'];
try {
- return \YoastSEO_Vendor\GuzzleHttp\Promise\promise_for($handler($request, $options));
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($handler($request, $options));
} catch (\Exception $e) {
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($e);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($e);
}
}
/**
* Applies the array of request options to a request.
- *
- * @param RequestInterface $request
- * @param array $options
- *
- * @return RequestInterface
*/
- private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options)
+ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
$modify = ['set_headers' => []];
if (isset($options['headers'])) {
+ if (\array_keys($options['headers']) === \range(0, \count($options['headers']) - 1)) {
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('The headers array must have header name as keys.');
+ }
$modify['set_headers'] = $options['headers'];
unset($options['headers']);
}
if (isset($options['form_params'])) {
if (isset($options['multipart'])) {
- throw new \InvalidArgumentException('You cannot use ' . 'form_params and multipart at the same time. Use the ' . 'form_params option if you want to send application/' . 'x-www-form-urlencoded requests, and the multipart ' . 'option to send multipart/form-data requests.');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('You cannot use ' . 'form_params and multipart at the same time. Use the ' . 'form_params option if you want to send application/' . 'x-www-form-urlencoded requests, and the multipart ' . 'option to send multipart/form-data requests.');
}
$options['body'] = \http_build_query($options['form_params'], '', '&');
unset($options['form_params']);
// Ensure that we don't have the header in different case and set the new value.
- $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Content-Type'], $options['_conditional']);
+ $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
$options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded';
}
if (isset($options['multipart'])) {
@@ -334,22 +311,22 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
unset($options['multipart']);
}
if (isset($options['json'])) {
- $options['body'] = \YoastSEO_Vendor\GuzzleHttp\json_encode($options['json']);
+ $options['body'] = \YoastSEO_Vendor\GuzzleHttp\Utils::jsonEncode($options['json']);
unset($options['json']);
// Ensure that we don't have the header in different case and set the new value.
- $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Content-Type'], $options['_conditional']);
+ $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
$options['_conditional']['Content-Type'] = 'application/json';
}
if (!empty($options['decode_content']) && $options['decode_content'] !== \true) {
// Ensure that we don't have the header in different case and set the new value.
- $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Accept-Encoding'], $options['_conditional']);
+ $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Accept-Encoding'], $options['_conditional']);
$modify['set_headers']['Accept-Encoding'] = $options['decode_content'];
}
if (isset($options['body'])) {
if (\is_array($options['body'])) {
- $this->invalidBody();
+ throw $this->invalidBody();
}
- $modify['body'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($options['body']);
+ $modify['body'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($options['body']);
unset($options['body']);
}
if (!empty($options['auth']) && \is_array($options['auth'])) {
@@ -358,7 +335,7 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
switch ($type) {
case 'basic':
// Ensure that we don't have the header in different case and set the new value.
- $modify['set_headers'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Authorization'], $modify['set_headers']);
+ $modify['set_headers'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Authorization'], $modify['set_headers']);
$modify['set_headers']['Authorization'] = 'Basic ' . \base64_encode("{$value[0]}:{$value[1]}");
break;
case 'digest':
@@ -375,10 +352,10 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
if (isset($options['query'])) {
$value = $options['query'];
if (\is_array($value)) {
- $value = \http_build_query($value, null, '&', \PHP_QUERY_RFC3986);
+ $value = \http_build_query($value, '', '&', \PHP_QUERY_RFC3986);
}
if (!\is_string($value)) {
- throw new \InvalidArgumentException('query must be a string or array');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('query must be a string or array');
}
$modify['query'] = $value;
unset($options['query']);
@@ -387,14 +364,17 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
if (isset($options['sink'])) {
// TODO: Add more sink validation?
if (\is_bool($options['sink'])) {
- throw new \InvalidArgumentException('sink must not be a boolean');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('sink must not be a boolean');
}
}
- $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify);
+ if (isset($options['version'])) {
+ $modify['version'] = $options['version'];
+ }
+ $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify);
if ($request->getBody() instanceof \YoastSEO_Vendor\GuzzleHttp\Psr7\MultipartStream) {
// Use a multipart/form-data POST if a Content-Type is not set.
// Ensure that we don't have the header in different case and set the new value.
- $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\_caseless_remove(['Content-Type'], $options['_conditional']);
+ $options['_conditional'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
$options['_conditional']['Content-Type'] = 'multipart/form-data; boundary=' . $request->getBody()->getBoundary();
}
// Merge in conditional headers if they are not present.
@@ -406,19 +386,17 @@ private function applyOptions(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
$modify['set_headers'][$k] = $v;
}
}
- $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify);
+ $request = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify);
// Don't pass this internal value along to middleware/handlers.
unset($options['_conditional']);
}
return $request;
}
/**
- * Throw Exception with pre-set message.
- * @return void
- * @throws \InvalidArgumentException Invalid body.
+ * Return an InvalidArgumentException with pre-set message.
*/
- private function invalidBody()
+ private function invalidBody() : \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException
{
- throw new \InvalidArgumentException('Passing in the "body" request ' . 'option as an array to send a POST request has been deprecated. ' . 'Please use the "form_params" request option to send a ' . 'application/x-www-form-urlencoded request, or the "multipart" ' . 'request option to send a multipart/form-data request.');
+ return new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException('Passing in the "body" request ' . 'option as an array to send a request is not supported. ' . 'Please use the "form_params" request option to send a ' . 'application/x-www-form-urlencoded request, or the "multipart" ' . 'request option to send a multipart/form-data request.');
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php
index 0d3775601..e8b5ce079 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php
@@ -13,9 +13,9 @@
interface ClientInterface
{
/**
- * @deprecated Will be removed in Guzzle 7.0.0
+ * The Guzzle major version.
*/
- const VERSION = '6.5.5';
+ public const MAJOR_VERSION = 7;
/**
* Send an HTTP request.
*
@@ -23,20 +23,17 @@ interface ClientInterface
* @param array $options Request options to apply to the given
* request and to the transfer.
*
- * @return ResponseInterface
* @throws GuzzleException
*/
- public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []);
+ public function send(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
/**
* Asynchronously send an HTTP request.
*
* @param RequestInterface $request Request to send
* @param array $options Request options to apply to the given
* request and to the transfer.
- *
- * @return PromiseInterface
*/
- public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []);
+ public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
/**
* Create and send an HTTP request.
*
@@ -48,10 +45,9 @@ public function sendAsync(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $re
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
- * @return ResponseInterface
* @throws GuzzleException
*/
- public function request($method, $uri, array $options = []);
+ public function request(string $method, $uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
/**
* Create and send an asynchronous HTTP request.
*
@@ -63,10 +59,8 @@ public function request($method, $uri, array $options = []);
* @param string $method HTTP method
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
- *
- * @return PromiseInterface
*/
- public function requestAsync($method, $uri, array $options = []);
+ public function requestAsync(string $method, $uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
/**
* Get a client configuration option.
*
@@ -77,6 +71,8 @@ public function requestAsync($method, $uri, array $options = []);
* @param string|null $option The config option to retrieve.
*
* @return mixed
+ *
+ * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
*/
- public function getConfig($option = null);
+ public function getConfig(string $option = null);
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php
new file mode 100755
index 000000000..f1095057e
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientTrait.php
@@ -0,0 +1,227 @@
+request('GET', $uri, $options);
+ }
+ /**
+ * Create and send an HTTP HEAD request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ *
+ * @throws GuzzleException
+ */
+ public function head($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ return $this->request('HEAD', $uri, $options);
+ }
+ /**
+ * Create and send an HTTP PUT request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ *
+ * @throws GuzzleException
+ */
+ public function put($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ return $this->request('PUT', $uri, $options);
+ }
+ /**
+ * Create and send an HTTP POST request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ *
+ * @throws GuzzleException
+ */
+ public function post($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ return $this->request('POST', $uri, $options);
+ }
+ /**
+ * Create and send an HTTP PATCH request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ *
+ * @throws GuzzleException
+ */
+ public function patch($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ return $this->request('PATCH', $uri, $options);
+ }
+ /**
+ * Create and send an HTTP DELETE request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ *
+ * @throws GuzzleException
+ */
+ public function delete($uri, array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ return $this->request('DELETE', $uri, $options);
+ }
+ /**
+ * Create and send an asynchronous HTTP request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string $method HTTP method
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public abstract function requestAsync(string $method, $uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
+ /**
+ * Create and send an asynchronous HTTP GET request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public function getAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
+ {
+ return $this->requestAsync('GET', $uri, $options);
+ }
+ /**
+ * Create and send an asynchronous HTTP HEAD request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public function headAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
+ {
+ return $this->requestAsync('HEAD', $uri, $options);
+ }
+ /**
+ * Create and send an asynchronous HTTP PUT request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public function putAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
+ {
+ return $this->requestAsync('PUT', $uri, $options);
+ }
+ /**
+ * Create and send an asynchronous HTTP POST request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public function postAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
+ {
+ return $this->requestAsync('POST', $uri, $options);
+ }
+ /**
+ * Create and send an asynchronous HTTP PATCH request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public function patchAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
+ {
+ return $this->requestAsync('PATCH', $uri, $options);
+ }
+ /**
+ * Create and send an asynchronous HTTP DELETE request.
+ *
+ * Use an absolute path to override the base path of the client, or a
+ * relative path to append to the base path of the client. The URL can
+ * contain the query string as well. Use an array to provide a URL
+ * template and additional variables to use in the URL template expansion.
+ *
+ * @param string|UriInterface $uri URI object or string.
+ * @param array $options Request options to apply.
+ */
+ public function deleteAsync($uri, array $options = []) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
+ {
+ return $this->requestAsync('DELETE', $uri, $options);
+ }
+}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php
index 256dfb02a..c8a1ce9b7 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php
@@ -9,18 +9,22 @@
*/
class CookieJar implements \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJarInterface
{
- /** @var SetCookie[] Loaded cookie data */
+ /**
+ * @var SetCookie[] Loaded cookie data
+ */
private $cookies = [];
- /** @var bool */
+ /**
+ * @var bool
+ */
private $strictMode;
/**
- * @param bool $strictMode Set to true to throw exceptions when invalid
+ * @param bool $strictMode Set to true to throw exceptions when invalid
* cookies are added to the cookie jar.
* @param array $cookieArray Array of SetCookie objects or a hash of
* arrays that can be used with the SetCookie
* constructor
*/
- public function __construct($strictMode = \false, $cookieArray = [])
+ public function __construct(bool $strictMode = \false, array $cookieArray = [])
{
$this->strictMode = $strictMode;
foreach ($cookieArray as $cookie) {
@@ -35,10 +39,8 @@ public function __construct($strictMode = \false, $cookieArray = [])
*
* @param array $cookies Cookies to create the jar from
* @param string $domain Domain to set the cookies to
- *
- * @return self
*/
- public static function fromArray(array $cookies, $domain)
+ public static function fromArray(array $cookies, string $domain) : self
{
$cookieJar = new self();
foreach ($cookies as $name => $value) {
@@ -46,22 +48,14 @@ public static function fromArray(array $cookies, $domain)
}
return $cookieJar;
}
- /**
- * @deprecated
- */
- public static function getCookieValue($value)
- {
- return $value;
- }
/**
* Evaluate if this cookie should be persisted to storage
* that survives between requests.
*
- * @param SetCookie $cookie Being evaluated.
- * @param bool $allowSessionCookies If we should persist session cookies
- * @return bool
+ * @param SetCookie $cookie Being evaluated.
+ * @param bool $allowSessionCookies If we should persist session cookies
*/
- public static function shouldPersist(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie, $allowSessionCookies = \false)
+ public static function shouldPersist(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie, bool $allowSessionCookies = \false) : bool
{
if ($cookie->getExpires() || $allowSessionCookies) {
if (!$cookie->getDiscard()) {
@@ -74,14 +68,11 @@ public static function shouldPersist(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCooki
* Finds and returns the cookie based on the name
*
* @param string $name cookie name to search for
+ *
* @return SetCookie|null cookie that was found or null if not found
*/
- public function getCookieByName($name)
+ public function getCookieByName(string $name) : ?\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie
{
- // don't allow a non string name
- if ($name === null || !\is_scalar($name)) {
- return null;
- }
foreach ($this->cookies as $cookie) {
if ($cookie->getName() !== null && \strcasecmp($cookie->getName(), $name) === 0) {
return $cookie;
@@ -89,38 +80,38 @@ public function getCookieByName($name)
}
return null;
}
- public function toArray()
+ public function toArray() : array
{
- return \array_map(function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) {
+ return \array_map(static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : array {
return $cookie->toArray();
}, $this->getIterator()->getArrayCopy());
}
- public function clear($domain = null, $path = null, $name = null)
+ public function clear(string $domain = null, string $path = null, string $name = null) : void
{
if (!$domain) {
$this->cookies = [];
return;
} elseif (!$path) {
- $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($domain) {
+ $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($domain) : bool {
return !$cookie->matchesDomain($domain);
});
} elseif (!$name) {
- $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain) {
+ $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain) : bool {
return !($cookie->matchesPath($path) && $cookie->matchesDomain($domain));
});
} else {
- $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain, $name) {
+ $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) use($path, $domain, $name) {
return !($cookie->getName() == $name && $cookie->matchesPath($path) && $cookie->matchesDomain($domain));
});
}
}
- public function clearSessionCookies()
+ public function clearSessionCookies() : void
{
- $this->cookies = \array_filter($this->cookies, function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) {
+ $this->cookies = \array_filter($this->cookies, static function (\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : bool {
return !$cookie->getDiscard() && $cookie->getExpires();
});
}
- public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie)
+ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : bool
{
// If the name string is empty (but not 0), ignore the set-cookie
// string entirely.
@@ -133,10 +124,9 @@ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie)
if ($result !== \true) {
if ($this->strictMode) {
throw new \RuntimeException('Invalid cookie: ' . $result);
- } else {
- $this->removeCookieIfEmpty($cookie);
- return \false;
}
+ $this->removeCookieIfEmpty($cookie);
+ return \false;
}
// Resolve conflicts with previously set cookies
foreach ($this->cookies as $i => $c) {
@@ -168,15 +158,18 @@ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie)
$this->cookies[] = $cookie;
return \true;
}
- public function count()
+ public function count() : int
{
return \count($this->cookies);
}
- public function getIterator()
+ /**
+ * @return \ArrayIterator
+ */
+ public function getIterator() : \ArrayIterator
{
return new \ArrayIterator(\array_values($this->cookies));
}
- public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response)
+ public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) : void
{
if ($cookieHeader = $response->getHeader('Set-Cookie')) {
foreach ($cookieHeader as $cookie) {
@@ -199,12 +192,9 @@ public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterfac
/**
* Computes cookie path following RFC 6265 section 5.1.4
*
- * @link https://tools.ietf.org/html/rfc6265#section-5.1.4
- *
- * @param RequestInterface $request
- * @return string
+ * @see https://tools.ietf.org/html/rfc6265#section-5.1.4
*/
- private function getCookiePathFromRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request)
+ private function getCookiePathFromRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : string
{
$uriPath = $request->getUri()->getPath();
if ('' === $uriPath) {
@@ -216,12 +206,13 @@ private function getCookiePathFromRequest(\YoastSEO_Vendor\Psr\Http\Message\Requ
if ('/' === $uriPath) {
return '/';
}
- if (0 === ($lastSlashPos = \strrpos($uriPath, '/'))) {
+ $lastSlashPos = \strrpos($uriPath, '/');
+ if (0 === $lastSlashPos || \false === $lastSlashPos) {
return '/';
}
return \substr($uriPath, 0, $lastSlashPos);
}
- public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request)
+ public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
$values = [];
$uri = $request->getUri();
@@ -238,10 +229,8 @@ public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterf
/**
* If a cookie already exists and the server asks to set it again with a
* null value, the cookie must be deleted.
- *
- * @param SetCookie $cookie
*/
- private function removeCookieIfEmpty(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie)
+ private function removeCookieIfEmpty(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : void
{
$cookieValue = $cookie->getValue();
if ($cookieValue === null || $cookieValue === '') {
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
index b65be2ad2..dafc1f5e0 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
@@ -12,7 +12,9 @@
* necessary. Subclasses are also responsible for storing and retrieving
* cookies from a file, database, etc.
*
- * @link http://docs.python.org/2/library/cookielib.html Inspiration
+ * @see https://docs.python.org/2/library/cookielib.html Inspiration
+ *
+ * @extends \IteratorAggregate
*/
interface CookieJarInterface extends \Countable, \IteratorAggregate
{
@@ -26,14 +28,14 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
*
* @return RequestInterface returns the modified request.
*/
- public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request);
+ public function withCookieHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
* Extract cookies from an HTTP response and store them in the CookieJar.
*
* @param RequestInterface $request Request that was sent
* @param ResponseInterface $response Response that was received
*/
- public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response);
+ public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) : void;
/**
* Sets a cookie in the cookie jar.
*
@@ -41,7 +43,7 @@ public function extractCookies(\YoastSEO_Vendor\Psr\Http\Message\RequestInterfac
*
* @return bool Returns true on success or false on failure
*/
- public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie);
+ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie) : bool;
/**
* Remove cookies currently held in the cookie jar.
*
@@ -55,10 +57,8 @@ public function setCookie(\YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie $cookie);
* @param string|null $domain Clears cookies matching a domain
* @param string|null $path Clears cookies matching a domain and path
* @param string|null $name Clears cookies matching a domain, path, and name
- *
- * @return CookieJarInterface
*/
- public function clear($domain = null, $path = null, $name = null);
+ public function clear(string $domain = null, string $path = null, string $name = null) : void;
/**
* Discard all sessions cookies.
*
@@ -66,11 +66,9 @@ public function clear($domain = null, $path = null, $name = null);
* field set to true. To be called when the user agent shuts down according
* to RFC 2965.
*/
- public function clearSessionCookies();
+ public function clearSessionCookies() : void;
/**
* Converts the cookie jar to an array.
- *
- * @return array
*/
- public function toArray();
+ public function toArray() : array;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
index fd54d7945..059e52ef4 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
@@ -2,25 +2,30 @@
namespace YoastSEO_Vendor\GuzzleHttp\Cookie;
+use YoastSEO_Vendor\GuzzleHttp\Utils;
/**
* Persists non-session cookies using a JSON formatted file
*/
class FileCookieJar extends \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar
{
- /** @var string filename */
+ /**
+ * @var string filename
+ */
private $filename;
- /** @var bool Control whether to persist session cookies or not. */
+ /**
+ * @var bool Control whether to persist session cookies or not.
+ */
private $storeSessionCookies;
/**
* Create a new FileCookieJar object
*
- * @param string $cookieFile File to store the cookie data
- * @param bool $storeSessionCookies Set to true to store session cookies
- * in the cookie jar.
+ * @param string $cookieFile File to store the cookie data
+ * @param bool $storeSessionCookies Set to true to store session cookies
+ * in the cookie jar.
*
* @throws \RuntimeException if the file cannot be found or created
*/
- public function __construct($cookieFile, $storeSessionCookies = \false)
+ public function __construct(string $cookieFile, bool $storeSessionCookies = \false)
{
parent::__construct();
$this->filename = $cookieFile;
@@ -40,18 +45,19 @@ public function __destruct()
* Saves the cookies to a file.
*
* @param string $filename File to save
+ *
* @throws \RuntimeException if the file cannot be found or created
*/
- public function save($filename)
+ public function save(string $filename) : void
{
$json = [];
+ /** @var SetCookie $cookie */
foreach ($this as $cookie) {
- /** @var SetCookie $cookie */
if (\YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
$json[] = $cookie->toArray();
}
}
- $jsonStr = \YoastSEO_Vendor\GuzzleHttp\json_encode($json);
+ $jsonStr = \YoastSEO_Vendor\GuzzleHttp\Utils::jsonEncode($json);
if (\false === \file_put_contents($filename, $jsonStr, \LOCK_EX)) {
throw new \RuntimeException("Unable to save file {$filename}");
}
@@ -62,22 +68,24 @@ public function save($filename)
* Old cookies are kept unless overwritten by newly loaded ones.
*
* @param string $filename Cookie file to load.
+ *
* @throws \RuntimeException if the file cannot be loaded.
*/
- public function load($filename)
+ public function load(string $filename) : void
{
$json = \file_get_contents($filename);
if (\false === $json) {
throw new \RuntimeException("Unable to load file {$filename}");
- } elseif ($json === '') {
+ }
+ if ($json === '') {
return;
}
- $data = \YoastSEO_Vendor\GuzzleHttp\json_decode($json, \true);
+ $data = \YoastSEO_Vendor\GuzzleHttp\Utils::jsonDecode($json, \true);
if (\is_array($data)) {
- foreach (\json_decode($json, \true) as $cookie) {
+ foreach ($data as $cookie) {
$this->setCookie(new \YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie($cookie));
}
- } elseif (\strlen($data)) {
+ } elseif (\is_scalar($data) && !empty($data)) {
throw new \RuntimeException("Invalid cookie file: {$filename}");
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
index d13d73a71..b5125529f 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
@@ -7,19 +7,23 @@
*/
class SessionCookieJar extends \YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar
{
- /** @var string session key */
+ /**
+ * @var string session key
+ */
private $sessionKey;
- /** @var bool Control whether to persist session cookies or not. */
+ /**
+ * @var bool Control whether to persist session cookies or not.
+ */
private $storeSessionCookies;
/**
* Create a new SessionCookieJar object
*
- * @param string $sessionKey Session key name to store the cookie
- * data in session
- * @param bool $storeSessionCookies Set to true to store session cookies
- * in the cookie jar.
+ * @param string $sessionKey Session key name to store the cookie
+ * data in session
+ * @param bool $storeSessionCookies Set to true to store session cookies
+ * in the cookie jar.
*/
- public function __construct($sessionKey, $storeSessionCookies = \false)
+ public function __construct(string $sessionKey, bool $storeSessionCookies = \false)
{
parent::__construct();
$this->sessionKey = $sessionKey;
@@ -36,11 +40,11 @@ public function __destruct()
/**
* Save cookies to the client session
*/
- public function save()
+ public function save() : void
{
$json = [];
+ /** @var SetCookie $cookie */
foreach ($this as $cookie) {
- /** @var SetCookie $cookie */
if (\YoastSEO_Vendor\GuzzleHttp\Cookie\CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
$json[] = $cookie->toArray();
}
@@ -50,7 +54,7 @@ public function save()
/**
* Load the contents of the client session into the data array
*/
- protected function load()
+ protected function load() : void
{
if (!isset($_SESSION[$this->sessionKey])) {
return;
@@ -61,7 +65,7 @@ protected function load()
$this->setCookie(new \YoastSEO_Vendor\GuzzleHttp\Cookie\SetCookie($cookie));
}
} elseif (\strlen($data)) {
- throw new \RuntimeException("Invalid cookie data");
+ throw new \RuntimeException('Invalid cookie data');
}
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php
index 71e1349f6..8233f7c23 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php
@@ -7,25 +7,27 @@
*/
class SetCookie
{
- /** @var array */
+ /**
+ * @var array
+ */
private static $defaults = ['Name' => null, 'Value' => null, 'Domain' => null, 'Path' => '/', 'Max-Age' => null, 'Expires' => null, 'Secure' => \false, 'Discard' => \false, 'HttpOnly' => \false];
- /** @var array Cookie data */
+ /**
+ * @var array Cookie data
+ */
private $data;
/**
- * Create a new SetCookie object from a string
+ * Create a new SetCookie object from a string.
*
* @param string $cookie Set-Cookie header string
- *
- * @return self
*/
- public static function fromString($cookie)
+ public static function fromString(string $cookie) : self
{
// Create the default return array
$data = self::$defaults;
// Explode the cookie string using a series of semicolons
$pieces = \array_filter(\array_map('trim', \explode(';', $cookie)));
// The name of the cookie (first kvp) must exist and include an equal sign.
- if (empty($pieces[0]) || !\strpos($pieces[0], '=')) {
+ if (!isset($pieces[0]) || \strpos($pieces[0], '=') === \false) {
return new self($data);
}
// Add the cookie pieces into the parsed data array
@@ -34,13 +36,19 @@ public static function fromString($cookie)
$key = \trim($cookieParts[0]);
$value = isset($cookieParts[1]) ? \trim($cookieParts[1], " \n\r\t\x00\v") : \true;
// Only check for non-cookies when cookies have been found
- if (empty($data['Name'])) {
+ if (!isset($data['Name'])) {
$data['Name'] = $key;
$data['Value'] = $value;
} else {
foreach (\array_keys(self::$defaults) as $search) {
if (!\strcasecmp($search, $key)) {
- $data[$search] = $value;
+ if ($search === 'Max-Age') {
+ if (\is_numeric($value)) {
+ $data[$search] = (int) $value;
+ }
+ } else {
+ $data[$search] = $value;
+ }
continue 2;
}
}
@@ -54,18 +62,49 @@ public static function fromString($cookie)
*/
public function __construct(array $data = [])
{
- $this->data = \array_replace(self::$defaults, $data);
+ $this->data = self::$defaults;
+ if (isset($data['Name'])) {
+ $this->setName($data['Name']);
+ }
+ if (isset($data['Value'])) {
+ $this->setValue($data['Value']);
+ }
+ if (isset($data['Domain'])) {
+ $this->setDomain($data['Domain']);
+ }
+ if (isset($data['Path'])) {
+ $this->setPath($data['Path']);
+ }
+ if (isset($data['Max-Age'])) {
+ $this->setMaxAge($data['Max-Age']);
+ }
+ if (isset($data['Expires'])) {
+ $this->setExpires($data['Expires']);
+ }
+ if (isset($data['Secure'])) {
+ $this->setSecure($data['Secure']);
+ }
+ if (isset($data['Discard'])) {
+ $this->setDiscard($data['Discard']);
+ }
+ if (isset($data['HttpOnly'])) {
+ $this->setHttpOnly($data['HttpOnly']);
+ }
+ // Set the remaining values that don't have extra validation logic
+ foreach (\array_diff(\array_keys($data), \array_keys(self::$defaults)) as $key) {
+ $this->data[$key] = $data[$key];
+ }
// Extract the Expires value and turn it into a UNIX timestamp if needed
if (!$this->getExpires() && $this->getMaxAge()) {
// Calculate the Expires date
$this->setExpires(\time() + $this->getMaxAge());
- } elseif ($this->getExpires() && !\is_numeric($this->getExpires())) {
- $this->setExpires($this->getExpires());
+ } elseif (null !== ($expires = $this->getExpires()) && !\is_numeric($expires)) {
+ $this->setExpires($expires);
}
}
public function __toString()
{
- $str = $this->data['Name'] . '=' . $this->data['Value'] . '; ';
+ $str = $this->data['Name'] . '=' . ($this->data['Value'] ?? '') . '; ';
foreach ($this->data as $k => $v) {
if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== \false) {
if ($k === 'Expires') {
@@ -77,12 +116,12 @@ public function __toString()
}
return \rtrim($str, '; ');
}
- public function toArray()
+ public function toArray() : array
{
return $this->data;
}
/**
- * Get the cookie name
+ * Get the cookie name.
*
* @return string
*/
@@ -91,34 +130,40 @@ public function getName()
return $this->data['Name'];
}
/**
- * Set the cookie name
+ * Set the cookie name.
*
* @param string $name Cookie name
*/
- public function setName($name)
+ public function setName($name) : void
{
- $this->data['Name'] = $name;
+ if (!\is_string($name)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Name'] = (string) $name;
}
/**
- * Get the cookie value
+ * Get the cookie value.
*
- * @return string
+ * @return string|null
*/
public function getValue()
{
return $this->data['Value'];
}
/**
- * Set the cookie value
+ * Set the cookie value.
*
* @param string $value Cookie value
*/
- public function setValue($value)
+ public function setValue($value) : void
{
- $this->data['Value'] = $value;
+ if (!\is_string($value)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Value'] = (string) $value;
}
/**
- * Get the domain
+ * Get the domain.
*
* @return string|null
*/
@@ -127,16 +172,19 @@ public function getDomain()
return $this->data['Domain'];
}
/**
- * Set the domain of the cookie
+ * Set the domain of the cookie.
*
- * @param string $domain
+ * @param string|null $domain
*/
- public function setDomain($domain)
+ public function setDomain($domain) : void
{
- $this->data['Domain'] = $domain;
+ if (!\is_string($domain) && null !== $domain) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Domain'] = null === $domain ? null : (string) $domain;
}
/**
- * Get the path
+ * Get the path.
*
* @return string
*/
@@ -145,70 +193,82 @@ public function getPath()
return $this->data['Path'];
}
/**
- * Set the path of the cookie
+ * Set the path of the cookie.
*
* @param string $path Path of the cookie
*/
- public function setPath($path)
+ public function setPath($path) : void
{
- $this->data['Path'] = $path;
+ if (!\is_string($path)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Path'] = (string) $path;
}
/**
- * Maximum lifetime of the cookie in seconds
+ * Maximum lifetime of the cookie in seconds.
*
* @return int|null
*/
public function getMaxAge()
{
- return $this->data['Max-Age'];
+ return null === $this->data['Max-Age'] ? null : (int) $this->data['Max-Age'];
}
/**
- * Set the max-age of the cookie
+ * Set the max-age of the cookie.
*
- * @param int $maxAge Max age of the cookie in seconds
+ * @param int|null $maxAge Max age of the cookie in seconds
*/
- public function setMaxAge($maxAge)
+ public function setMaxAge($maxAge) : void
{
- $this->data['Max-Age'] = $maxAge;
+ if (!\is_int($maxAge) && null !== $maxAge) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Max-Age'] = $maxAge === null ? null : (int) $maxAge;
}
/**
- * The UNIX timestamp when the cookie Expires
+ * The UNIX timestamp when the cookie Expires.
*
- * @return mixed
+ * @return string|int|null
*/
public function getExpires()
{
return $this->data['Expires'];
}
/**
- * Set the unix timestamp for which the cookie will expire
+ * Set the unix timestamp for which the cookie will expire.
*
- * @param int $timestamp Unix timestamp
+ * @param int|string|null $timestamp Unix timestamp or any English textual datetime description.
*/
- public function setExpires($timestamp)
+ public function setExpires($timestamp) : void
{
- $this->data['Expires'] = \is_numeric($timestamp) ? (int) $timestamp : \strtotime($timestamp);
+ if (!\is_int($timestamp) && !\is_string($timestamp) && null !== $timestamp) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int, string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Expires'] = null === $timestamp ? null : (\is_numeric($timestamp) ? (int) $timestamp : \strtotime((string) $timestamp));
}
/**
- * Get whether or not this is a secure cookie
+ * Get whether or not this is a secure cookie.
*
- * @return bool|null
+ * @return bool
*/
public function getSecure()
{
return $this->data['Secure'];
}
/**
- * Set whether or not the cookie is secure
+ * Set whether or not the cookie is secure.
*
* @param bool $secure Set to true or false if secure
*/
- public function setSecure($secure)
+ public function setSecure($secure) : void
{
- $this->data['Secure'] = $secure;
+ if (!\is_bool($secure)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Secure'] = (bool) $secure;
}
/**
- * Get whether or not this is a session cookie
+ * Get whether or not this is a session cookie.
*
* @return bool|null
*/
@@ -217,16 +277,19 @@ public function getDiscard()
return $this->data['Discard'];
}
/**
- * Set whether or not this is a session cookie
+ * Set whether or not this is a session cookie.
*
* @param bool $discard Set to true or false if this is a session cookie
*/
- public function setDiscard($discard)
+ public function setDiscard($discard) : void
{
- $this->data['Discard'] = $discard;
+ if (!\is_bool($discard)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['Discard'] = (bool) $discard;
}
/**
- * Get whether or not this is an HTTP only cookie
+ * Get whether or not this is an HTTP only cookie.
*
* @return bool
*/
@@ -235,13 +298,16 @@ public function getHttpOnly()
return $this->data['HttpOnly'];
}
/**
- * Set whether or not this is an HTTP only cookie
+ * Set whether or not this is an HTTP only cookie.
*
* @param bool $httpOnly Set to true or false if this is HTTP only
*/
- public function setHttpOnly($httpOnly)
+ public function setHttpOnly($httpOnly) : void
{
- $this->data['HttpOnly'] = $httpOnly;
+ if (!\is_bool($httpOnly)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
+ $this->data['HttpOnly'] = (bool) $httpOnly;
}
/**
* Check if the cookie matches a path value.
@@ -257,10 +323,8 @@ public function setHttpOnly($httpOnly)
* path is a %x2F ("/") character.
*
* @param string $requestPath Path to check against
- *
- * @return bool
*/
- public function matchesPath($requestPath)
+ public function matchesPath(string $requestPath) : bool
{
$cookiePath = $this->getPath();
// Match on exact matches or when path is the default empty "/"
@@ -279,20 +343,18 @@ public function matchesPath($requestPath)
return \substr($requestPath, \strlen($cookiePath), 1) === '/';
}
/**
- * Check if the cookie matches a domain value
+ * Check if the cookie matches a domain value.
*
* @param string $domain Domain to check against
- *
- * @return bool
*/
- public function matchesDomain($domain)
+ public function matchesDomain(string $domain) : bool
{
$cookieDomain = $this->getDomain();
if (null === $cookieDomain) {
return \true;
}
// Remove the leading '.' as per spec in RFC 6265.
- // http://tools.ietf.org/html/rfc6265#section-5.2.3
+ // https://tools.ietf.org/html/rfc6265#section-5.2.3
$cookieDomain = \ltrim(\strtolower($cookieDomain), '.');
$domain = \strtolower($domain);
// Domain not set or exact match.
@@ -300,47 +362,44 @@ public function matchesDomain($domain)
return \true;
}
// Matching the subdomain according to RFC 6265.
- // http://tools.ietf.org/html/rfc6265#section-5.1.3
+ // https://tools.ietf.org/html/rfc6265#section-5.1.3
if (\filter_var($domain, \FILTER_VALIDATE_IP)) {
return \false;
}
return (bool) \preg_match('/\\.' . \preg_quote($cookieDomain, '/') . '$/', $domain);
}
/**
- * Check if the cookie is expired
- *
- * @return bool
+ * Check if the cookie is expired.
*/
- public function isExpired()
+ public function isExpired() : bool
{
return $this->getExpires() !== null && \time() > $this->getExpires();
}
/**
- * Check if the cookie is valid according to RFC 6265
+ * Check if the cookie is valid according to RFC 6265.
*
* @return bool|string Returns true if valid or an error message if invalid
*/
public function validate()
{
- // Names must not be empty, but can be 0
$name = $this->getName();
- if (empty($name) && !\is_numeric($name)) {
+ if ($name === '') {
return 'The cookie name must not be empty';
}
// Check if any of the invalid characters are present in the cookie name
if (\preg_match('/[\\x00-\\x20\\x22\\x28-\\x29\\x2c\\x2f\\x3a-\\x40\\x5c\\x7b\\x7d\\x7f]/', $name)) {
return 'Cookie name must not contain invalid characters: ASCII ' . 'Control characters (0-31;127), space, tab and the ' . 'following characters: ()<>@,;:\\"/?={}';
}
- // Value must not be empty, but can be 0
+ // Value must not be null. 0 and empty string are valid. Empty strings
+ // are technically against RFC 6265, but known to happen in the wild.
$value = $this->getValue();
- if (empty($value) && !\is_numeric($value)) {
+ if ($value === null) {
return 'The cookie value must not be empty';
}
- // Domains must not be empty, but can be 0
- // A "0" is not a valid internet domain, but may be used as server name
- // in a private network.
+ // Domains must not be empty, but can be 0. "0" is not a valid internet
+ // domain, but may be used as server name in a private network.
$domain = $this->getDomain();
- if (empty($domain) && !\is_numeric($domain)) {
+ if ($domain === null || $domain === '') {
return 'The cookie domain must not be empty';
}
return \true;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php
index 0c16e4897..e6c253b36 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php
@@ -9,11 +9,23 @@
*/
class BadResponseException extends \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException
{
- public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $previous = null, array $handlerContext = [])
+ public function __construct(string $message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, \Throwable $previous = null, array $handlerContext = [])
{
- if (null === $response) {
- @\trigger_error('Instantiating the ' . __CLASS__ . ' class without a Response is deprecated since version 6.3 and will be removed in 7.0.', \E_USER_DEPRECATED);
- }
parent::__construct($message, $request, $response, $previous, $handlerContext);
}
+ /**
+ * Current exception and the ones that extend it will always have a response.
+ */
+ public function hasResponse() : bool
+ {
+ return \true;
+ }
+ /**
+ * This function narrows the return type from the parent class and does not allow it to be nullable.
+ */
+ public function getResponse() : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ /** @var ResponseInterface */
+ return parent::getResponse();
+ }
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php
index 7e653f7b0..a11d30b01 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php
@@ -2,30 +2,46 @@
namespace YoastSEO_Vendor\GuzzleHttp\Exception;
+use YoastSEO_Vendor\Psr\Http\Client\NetworkExceptionInterface;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
* Exception thrown when a connection cannot be established.
*
* Note that no response is present for a ConnectException
*/
-class ConnectException extends \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException
+class ConnectException extends \YoastSEO_Vendor\GuzzleHttp\Exception\TransferException implements \YoastSEO_Vendor\Psr\Http\Client\NetworkExceptionInterface
{
- public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Exception $previous = null, array $handlerContext = [])
+ /**
+ * @var RequestInterface
+ */
+ private $request;
+ /**
+ * @var array
+ */
+ private $handlerContext;
+ public function __construct(string $message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Throwable $previous = null, array $handlerContext = [])
{
- parent::__construct($message, $request, null, $previous, $handlerContext);
+ parent::__construct($message, 0, $previous);
+ $this->request = $request;
+ $this->handlerContext = $handlerContext;
}
/**
- * @return null
+ * Get the request that caused the exception
*/
- public function getResponse()
+ public function getRequest() : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
- return null;
+ return $this->request;
}
/**
- * @return bool
+ * Get contextual information about the error from the underlying handler.
+ *
+ * The contents of this array will vary depending on which handler you are
+ * using. It may also be just an empty array. Relying on this data will
+ * couple you to a specific handler, but can give more debug information
+ * when needed.
*/
- public function hasResponse()
+ public function getHandlerContext() : array
{
- return \false;
+ return $this->handlerContext;
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php
index b7c2f6437..b420bad41 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php
@@ -2,22 +2,7 @@
namespace YoastSEO_Vendor\GuzzleHttp\Exception;
-use Throwable;
-if (\interface_exists(\Throwable::class)) {
- interface GuzzleException extends \Throwable
- {
- }
-} else {
- /**
- * @method string getMessage()
- * @method \Throwable|null getPrevious()
- * @method mixed getCode()
- * @method string getFile()
- * @method int getLine()
- * @method array getTrace()
- * @method string getTraceAsString()
- */
- interface GuzzleException
- {
- }
+use YoastSEO_Vendor\Psr\Http\Client\ClientExceptionInterface;
+interface GuzzleException extends \YoastSEO_Vendor\Psr\Http\Client\ClientExceptionInterface
+{
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php
index e0d2eecc7..9dda0dbfc 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php
@@ -2,25 +2,33 @@
namespace YoastSEO_Vendor\GuzzleHttp\Exception;
-use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
+use YoastSEO_Vendor\GuzzleHttp\BodySummarizer;
+use YoastSEO_Vendor\GuzzleHttp\BodySummarizerInterface;
+use YoastSEO_Vendor\Psr\Http\Client\RequestExceptionInterface;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
use YoastSEO_Vendor\Psr\Http\Message\UriInterface;
/**
* HTTP Request exception
*/
-class RequestException extends \YoastSEO_Vendor\GuzzleHttp\Exception\TransferException
+class RequestException extends \YoastSEO_Vendor\GuzzleHttp\Exception\TransferException implements \YoastSEO_Vendor\Psr\Http\Client\RequestExceptionInterface
{
- /** @var RequestInterface */
+ /**
+ * @var RequestInterface
+ */
private $request;
- /** @var ResponseInterface|null */
+ /**
+ * @var ResponseInterface|null
+ */
private $response;
- /** @var array */
+ /**
+ * @var array
+ */
private $handlerContext;
- public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $previous = null, array $handlerContext = [])
+ public function __construct(string $message, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $previous = null, array $handlerContext = [])
{
// Set the code of the exception if the response is set and not future.
- $code = $response && !$response instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface ? $response->getStatusCode() : 0;
+ $code = $response ? $response->getStatusCode() : 0;
parent::__construct($message, $code, $previous);
$this->request = $request;
$this->response = $response;
@@ -28,30 +36,24 @@ public function __construct($message, \YoastSEO_Vendor\Psr\Http\Message\RequestI
}
/**
* Wrap non-RequestExceptions with a RequestException
- *
- * @param RequestInterface $request
- * @param \Exception $e
- *
- * @return RequestException
*/
- public static function wrapException(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Exception $e)
+ public static function wrapException(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \Throwable $e) : \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException
{
return $e instanceof \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException ? $e : new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException($e->getMessage(), $request, null, $e);
}
/**
* Factory method to create a new exception with a normalized error message
*
- * @param RequestInterface $request Request
- * @param ResponseInterface $response Response received
- * @param \Exception $previous Previous exception
- * @param array $ctx Optional handler context.
- *
- * @return self
+ * @param RequestInterface $request Request sent
+ * @param ResponseInterface $response Response received
+ * @param \Throwable|null $previous Previous exception
+ * @param array $handlerContext Optional handler context
+ * @param BodySummarizerInterface|null $bodySummarizer Optional body summarizer
*/
- public static function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $previous = null, array $ctx = [])
+ public static function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $previous = null, array $handlerContext = [], \YoastSEO_Vendor\GuzzleHttp\BodySummarizerInterface $bodySummarizer = null) : self
{
if (!$response) {
- return new self('Error completing request', $request, null, $previous, $ctx);
+ return new self('Error completing request', $request, null, $previous, $handlerContext);
}
$level = (int) \floor($response->getStatusCode() / 100);
if ($level === 4) {
@@ -68,34 +70,17 @@ public static function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
$uri = static::obfuscateUri($uri);
// Client Error: `GET /` resulted in a `404 Not Found` response:
// ... (truncated)
- $message = \sprintf('%s: `%s %s` resulted in a `%s %s` response', $label, $request->getMethod(), $uri, $response->getStatusCode(), $response->getReasonPhrase());
- $summary = static::getResponseBodySummary($response);
+ $message = \sprintf('%s: `%s %s` resulted in a `%s %s` response', $label, $request->getMethod(), $uri->__toString(), $response->getStatusCode(), $response->getReasonPhrase());
+ $summary = ($bodySummarizer ?? new \YoastSEO_Vendor\GuzzleHttp\BodySummarizer())->summarize($response);
if ($summary !== null) {
$message .= ":\n{$summary}\n";
}
- return new $className($message, $request, $response, $previous, $ctx);
- }
- /**
- * Get a short summary of the response
- *
- * Will return `null` if the response is not printable.
- *
- * @param ResponseInterface $response
- *
- * @return string|null
- */
- public static function getResponseBodySummary(\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response)
- {
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\get_message_body_summary($response);
+ return new $className($message, $request, $response, $previous, $handlerContext);
}
/**
* Obfuscates URI if there is a username and a password present
- *
- * @param UriInterface $uri
- *
- * @return UriInterface
*/
- private static function obfuscateUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ private static function obfuscateUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$userInfo = $uri->getUserInfo();
if (\false !== ($pos = \strpos($userInfo, ':'))) {
@@ -105,28 +90,22 @@ private static function obfuscateUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterf
}
/**
* Get the request that caused the exception
- *
- * @return RequestInterface
*/
- public function getRequest()
+ public function getRequest() : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
return $this->request;
}
/**
* Get the associated response
- *
- * @return ResponseInterface|null
*/
- public function getResponse()
+ public function getResponse() : ?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
{
return $this->response;
}
/**
* Check if a response was received
- *
- * @return bool
*/
- public function hasResponse()
+ public function hasResponse() : bool
{
return $this->response !== null;
}
@@ -137,10 +116,8 @@ public function hasResponse()
* using. It may also be just an empty array. Relying on this data will
* couple you to a specific handler, but can give more debug information
* when needed.
- *
- * @return array
*/
- public function getHandlerContext()
+ public function getHandlerContext() : array
{
return $this->handlerContext;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php
deleted file mode 100755
index 0869d9f1d..000000000
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Exception/SeekException.php
+++ /dev/null
@@ -1,25 +0,0 @@
-stream = $stream;
- $msg = $msg ?: 'Could not seek the stream to position ' . $pos;
- parent::__construct($msg);
- }
- /**
- * @return StreamInterface
- */
- public function getStream()
- {
- return $this->stream;
- }
-}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php
index c559e543c..6fb5b0d67 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php
@@ -4,30 +4,41 @@
use YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException;
use YoastSEO_Vendor\GuzzleHttp\Exception\RequestException;
+use YoastSEO_Vendor\GuzzleHttp\Promise as P;
use YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise;
-use YoastSEO_Vendor\GuzzleHttp\Psr7;
+use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
use YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream;
use YoastSEO_Vendor\GuzzleHttp\TransferStats;
+use YoastSEO_Vendor\GuzzleHttp\Utils;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
* Creates curl resources from a request
+ *
+ * @final
*/
class CurlFactory implements \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface
{
- const CURL_VERSION_STR = 'curl_version';
- const LOW_CURL_VERSION_NUMBER = '7.21.2';
- /** @var array */
+ public const CURL_VERSION_STR = 'curl_version';
+ /**
+ * @deprecated
+ */
+ public const LOW_CURL_VERSION_NUMBER = '7.21.2';
+ /**
+ * @var resource[]|\CurlHandle[]
+ */
private $handles = [];
- /** @var int Total number of idle handles to keep in cache */
+ /**
+ * @var int Total number of idle handles to keep in cache
+ */
private $maxHandles;
/**
* @param int $maxHandles Maximum number of idle handles.
*/
- public function __construct($maxHandles)
+ public function __construct(int $maxHandles)
{
$this->maxHandles = $maxHandles;
}
- public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle
{
if (isset($options['curl']['body_as_string'])) {
$options['_body_as_string'] = $options['curl']['body_as_string'];
@@ -50,7 +61,7 @@ public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque
\curl_setopt_array($easy->handle, $conf);
return $easy;
}
- public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy)
+ public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : void
{
$resource = $easy->handle;
unset($easy->handle);
@@ -73,13 +84,10 @@ public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy)
* Completes a cURL transaction, either returning a response promise or a
* rejected promise.
*
- * @param callable $handler
- * @param EasyHandle $easy
- * @param CurlFactoryInterface $factory Dictates how the handle is released
- *
- * @return \GuzzleHttp\Promise\PromiseInterface
+ * @param callable(RequestInterface, array): PromiseInterface $handler
+ * @param CurlFactoryInterface $factory Dictates how the handle is released
*/
- public static function finish(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory)
+ public static function finish(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if (isset($easy->options['on_stats'])) {
self::invokeStats($easy);
@@ -96,14 +104,17 @@ public static function finish(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Han
}
return new \YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise($easy->response);
}
- private static function invokeStats(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy)
+ private static function invokeStats(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : void
{
$curlStats = \curl_getinfo($easy->handle);
$curlStats['appconnect_time'] = \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME);
$stats = new \YoastSEO_Vendor\GuzzleHttp\TransferStats($easy->request, $easy->response, $curlStats['total_time'], $easy->errno, $curlStats);
- \call_user_func($easy->options['on_stats'], $stats);
+ $easy->options['on_stats']($stats);
}
- private static function finishError(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory)
+ /**
+ * @param callable(RequestInterface, array): PromiseInterface $handler
+ */
+ private static function finishError(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactoryInterface $factory) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
// Get error information and release the handle to the factory.
$ctx = ['errno' => $easy->errno, 'error' => \curl_error($easy->handle), 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME)] + \curl_getinfo($easy->handle);
@@ -115,26 +126,32 @@ private static function finishError(callable $handler, \YoastSEO_Vendor\GuzzleHt
}
return self::createRejection($easy, $ctx);
}
- private static function createRejection(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx)
+ private static function createRejection(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
static $connectionErrors = [\CURLE_OPERATION_TIMEOUTED => \true, \CURLE_COULDNT_RESOLVE_HOST => \true, \CURLE_COULDNT_CONNECT => \true, \CURLE_SSL_CONNECT_ERROR => \true, \CURLE_GOT_NOTHING => \true];
+ if ($easy->createResponseException) {
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered while creating the response', $easy->request, $easy->response, $easy->createResponseException, $ctx));
+ }
// If an exception was encountered during the onHeaders event, then
// return a rejected promise that wraps that exception.
if ($easy->onHeadersException) {
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered during the on_headers event', $easy->request, $easy->response, $easy->onHeadersException, $ctx));
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered during the on_headers event', $easy->request, $easy->response, $easy->onHeadersException, $ctx));
}
- if (\version_compare($ctx[self::CURL_VERSION_STR], self::LOW_CURL_VERSION_NUMBER)) {
- $message = \sprintf('cURL error %s: %s (%s)', $ctx['errno'], $ctx['error'], 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html');
- } else {
- $message = \sprintf('cURL error %s: %s (%s) for %s', $ctx['errno'], $ctx['error'], 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html', $easy->request->getUri());
+ $message = \sprintf('cURL error %s: %s (%s)', $ctx['errno'], $ctx['error'], 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html');
+ $uriString = (string) $easy->request->getUri();
+ if ($uriString !== '' && \false === \strpos($ctx['error'], $uriString)) {
+ $message .= \sprintf(' for %s', $uriString);
}
// Create a connection exception if it was a specific error code.
$error = isset($connectionErrors[$easy->errno]) ? new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException($message, $easy->request, null, $ctx) : new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException($message, $easy->request, $easy->response, null, $ctx);
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($error);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($error);
}
- private function getDefaultConf(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy)
+ /**
+ * @return array
+ */
+ private function getDefaultConf(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : array
{
- $conf = ['_headers' => $easy->request->getHeaders(), \CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), \CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), \CURLOPT_RETURNTRANSFER => \false, \CURLOPT_HEADER => \false, \CURLOPT_CONNECTTIMEOUT => 150];
+ $conf = ['_headers' => $easy->request->getHeaders(), \CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), \CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), \CURLOPT_RETURNTRANSFER => \false, \CURLOPT_HEADER => \false, \CURLOPT_CONNECTTIMEOUT => 300];
if (\defined('CURLOPT_PROTOCOLS')) {
$conf[\CURLOPT_PROTOCOLS] = \CURLPROTO_HTTP | \CURLPROTO_HTTPS;
}
@@ -148,7 +165,7 @@ private function getDefaultConf(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $
}
return $conf;
}
- private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf)
+ private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) : void
{
$body = $easy->request->getBody();
$size = $body->getSize();
@@ -158,7 +175,7 @@ private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $eas
}
$method = $easy->request->getMethod();
if ($method === 'PUT' || $method === 'POST') {
- // See http://tools.ietf.org/html/rfc7230#section-3.3.2
+ // See https://tools.ietf.org/html/rfc7230#section-3.3.2
if (!$easy->request->hasHeader('Content-Length')) {
$conf[\CURLOPT_HTTPHEADER][] = 'Content-Length: 0';
}
@@ -167,7 +184,7 @@ private function applyMethod(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $eas
unset($conf[\CURLOPT_WRITEFUNCTION], $conf[\CURLOPT_READFUNCTION], $conf[\CURLOPT_FILE], $conf[\CURLOPT_INFILE]);
}
}
- private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$conf)
+ private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$conf) : void
{
$size = $request->hasHeader('Content-Length') ? (int) $request->getHeaderLine('Content-Length') : null;
// Send the body as a string if the size is less than 1MB OR if the
@@ -187,7 +204,7 @@ private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $r
if ($body->isSeekable()) {
$body->rewind();
}
- $conf[\CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use($body) {
+ $conf[\CURLOPT_READFUNCTION] = static function ($ch, $fd, $length) use($body) {
return $body->read($length);
};
}
@@ -200,7 +217,7 @@ private function applyBody(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $r
$conf[\CURLOPT_HTTPHEADER][] = 'Content-Type:';
}
}
- private function applyHeaders(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf)
+ private function applyHeaders(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) : void
{
foreach ($conf['_headers'] as $name => $values) {
foreach ($values as $value) {
@@ -225,7 +242,7 @@ private function applyHeaders(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $ea
* @param string $name Case-insensitive header to remove
* @param array $options Array of options to modify
*/
- private function removeHeader($name, array &$options)
+ private function removeHeader(string $name, array &$options) : void
{
foreach (\array_keys($options['_headers']) as $key) {
if (!\strcasecmp($key, $name)) {
@@ -234,7 +251,7 @@ private function removeHeader($name, array &$options)
}
}
}
- private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf)
+ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array &$conf) : void
{
$options = $easy->options;
if (isset($options['verify'])) {
@@ -252,7 +269,7 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan
}
// If it's a directory or a link to a directory use CURLOPT_CAPATH.
// If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO.
- if (\is_dir($options['verify']) || \is_link($options['verify']) && \is_dir(\readlink($options['verify']))) {
+ if (\is_dir($options['verify']) || \is_link($options['verify']) === \true && ($verifyLink = \readlink($options['verify'])) !== \false && \is_dir($verifyLink)) {
$conf[\CURLOPT_CAPATH] = $options['verify'];
} else {
$conf[\CURLOPT_CAINFO] = $options['verify'];
@@ -260,35 +277,36 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan
}
}
}
- if (!empty($options['decode_content'])) {
+ if (!isset($options['curl'][\CURLOPT_ENCODING]) && !empty($options['decode_content'])) {
$accept = $easy->request->getHeaderLine('Accept-Encoding');
if ($accept) {
$conf[\CURLOPT_ENCODING] = $accept;
} else {
+ // The empty string enables all available decoders and implicitly
+ // sets a matching 'Accept-Encoding' header.
$conf[\CURLOPT_ENCODING] = '';
- // Don't let curl send the header over the wire
+ // But as the user did not specify any acceptable encodings we need
+ // to overwrite this implicit header with an empty one.
$conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
}
}
- if (isset($options['sink'])) {
- $sink = $options['sink'];
- if (!\is_string($sink)) {
- $sink = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($sink);
- } elseif (!\is_dir(\dirname($sink))) {
- // Ensure that the directory exists before failing in curl.
- throw new \RuntimeException(\sprintf('Directory %s does not exist for sink value of %s', \dirname($sink), $sink));
- } else {
- $sink = new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+');
- }
- $easy->sink = $sink;
- $conf[\CURLOPT_WRITEFUNCTION] = function ($ch, $write) use($sink) {
- return $sink->write($write);
- };
- } else {
+ if (!isset($options['sink'])) {
// Use a default temp stream if no sink was set.
- $conf[\CURLOPT_FILE] = \fopen('php://temp', 'w+');
- $easy->sink = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($conf[\CURLOPT_FILE]);
+ $options['sink'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'w+');
+ }
+ $sink = $options['sink'];
+ if (!\is_string($sink)) {
+ $sink = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($sink);
+ } elseif (!\is_dir(\dirname($sink))) {
+ // Ensure that the directory exists before failing in curl.
+ throw new \RuntimeException(\sprintf('Directory %s does not exist for sink value of %s', \dirname($sink), $sink));
+ } else {
+ $sink = new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+');
}
+ $easy->sink = $sink;
+ $conf[\CURLOPT_WRITEFUNCTION] = static function ($ch, $write) use($sink) : int {
+ return $sink->write($write);
+ };
$timeoutRequiresNoSignal = \false;
if (isset($options['timeout'])) {
$timeoutRequiresNoSignal |= $options['timeout'] < 1;
@@ -316,12 +334,39 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan
$scheme = $easy->request->getUri()->getScheme();
if (isset($options['proxy'][$scheme])) {
$host = $easy->request->getUri()->getHost();
- if (!isset($options['proxy']['no']) || !\YoastSEO_Vendor\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no'])) {
+ if (isset($options['proxy']['no']) && \YoastSEO_Vendor\GuzzleHttp\Utils::isHostInNoProxy($host, $options['proxy']['no'])) {
+ unset($conf[\CURLOPT_PROXY]);
+ } else {
$conf[\CURLOPT_PROXY] = $options['proxy'][$scheme];
}
}
}
}
+ if (isset($options['crypto_method'])) {
+ if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
+ if (!\defined('CURL_SSLVERSION_TLSv1_0')) {
+ throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL');
+ }
+ $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0;
+ } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) {
+ if (!\defined('CURL_SSLVERSION_TLSv1_1')) {
+ throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');
+ }
+ $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1;
+ } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) {
+ if (!\defined('CURL_SSLVERSION_TLSv1_2')) {
+ throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL');
+ }
+ $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
+ } elseif (\defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
+ if (!\defined('CURL_SSLVERSION_TLSv1_3')) {
+ throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
+ }
+ $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3;
+ } else {
+ throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided');
+ }
+ }
if (isset($options['cert'])) {
$cert = $options['cert'];
if (\is_array($cert)) {
@@ -331,17 +376,23 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan
if (!\file_exists($cert)) {
throw new \InvalidArgumentException("SSL certificate not found: {$cert}");
}
+ // OpenSSL (versions 0.9.3 and later) also support "P12" for PKCS#12-encoded files.
+ // see https://curl.se/libcurl/c/CURLOPT_SSLCERTTYPE.html
+ $ext = \pathinfo($cert, \PATHINFO_EXTENSION);
+ if (\preg_match('#^(der|p12)$#i', $ext)) {
+ $conf[\CURLOPT_SSLCERTTYPE] = \strtoupper($ext);
+ }
$conf[\CURLOPT_SSLCERT] = $cert;
}
if (isset($options['ssl_key'])) {
if (\is_array($options['ssl_key'])) {
if (\count($options['ssl_key']) === 2) {
- list($sslKey, $conf[\CURLOPT_SSLKEYPASSWD]) = $options['ssl_key'];
+ [$sslKey, $conf[\CURLOPT_SSLKEYPASSWD]] = $options['ssl_key'];
} else {
- list($sslKey) = $options['ssl_key'];
+ [$sslKey] = $options['ssl_key'];
}
}
- $sslKey = isset($sslKey) ? $sslKey : $options['ssl_key'];
+ $sslKey = $sslKey ?? $options['ssl_key'];
if (!\file_exists($sslKey)) {
throw new \InvalidArgumentException("SSL private key not found: {$sslKey}");
}
@@ -353,17 +404,12 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan
throw new \InvalidArgumentException('progress client option must be callable');
}
$conf[\CURLOPT_NOPROGRESS] = \false;
- $conf[\CURLOPT_PROGRESSFUNCTION] = function () use($progress) {
- $args = \func_get_args();
- // PHP 5.5 pushed the handle onto the start of the args
- if (\is_resource($args[0])) {
- \array_shift($args);
- }
- \call_user_func_array($progress, $args);
+ $conf[\CURLOPT_PROGRESSFUNCTION] = static function ($resource, int $downloadSize, int $downloaded, int $uploadSize, int $uploaded) use($progress) {
+ $progress($downloadSize, $downloaded, $uploadSize, $uploaded);
};
}
if (!empty($options['debug'])) {
- $conf[\CURLOPT_STDERR] = \YoastSEO_Vendor\GuzzleHttp\debug_resource($options['debug']);
+ $conf[\CURLOPT_STDERR] = \YoastSEO_Vendor\GuzzleHttp\Utils::debugResource($options['debug']);
$conf[\CURLOPT_VERBOSE] = \true;
}
}
@@ -375,8 +421,10 @@ private function applyHandlerOptions(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHan
* stream, and then encountered a "necessary data rewind wasn't possible"
* error, causing the request to be sent through curl_multi_info_read()
* without an error status.
+ *
+ * @param callable(RequestInterface, array): PromiseInterface $handler
*/
- private static function retryFailedRewind(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx)
+ private static function retryFailedRewind(callable $handler, \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy, array $ctx) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
try {
// Only rewind if the body has been read from.
@@ -395,11 +443,11 @@ private static function retryFailedRewind(callable $handler, \YoastSEO_Vendor\Gu
$ctx['error'] = 'The cURL request was retried 3 times ' . 'and did not succeed. The most likely reason for the failure ' . 'is that cURL was unable to rewind the body of the request ' . 'and subsequent retries resulted in the same error. Turn on ' . 'the debug option to see what went wrong. See ' . 'https://bugs.php.net/bug.php?id=47204 for more information.';
return self::createRejection($easy, $ctx);
} else {
- $easy->options['_curl_retries']++;
+ ++$easy->options['_curl_retries'];
}
return $handler($easy->request, $easy->options);
}
- private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy)
+ private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : callable
{
if (isset($easy->options['on_headers'])) {
$onHeaders = $easy->options['on_headers'];
@@ -409,11 +457,16 @@ private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $
} else {
$onHeaders = null;
}
- return function ($ch, $h) use($onHeaders, $easy, &$startingResponse) {
+ return static function ($ch, $h) use($onHeaders, $easy, &$startingResponse) {
$value = \trim($h);
if ($value === '') {
$startingResponse = \true;
- $easy->createResponse();
+ try {
+ $easy->createResponse();
+ } catch (\Exception $e) {
+ $easy->createResponseException = $e;
+ return -1;
+ }
if ($onHeaders !== null) {
try {
$onHeaders($easy->response);
@@ -433,4 +486,11 @@ private function createHeaderFn(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $
return \strlen($h);
};
}
+ public function __destruct()
+ {
+ foreach ($this->handles as $id => $handle) {
+ \curl_close($handle);
+ unset($this->handles[$id]);
+ }
+ }
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
index 0384e6c3b..2f116aa94 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
@@ -11,16 +11,13 @@ interface CurlFactoryInterface
* @param RequestInterface $request Request
* @param array $options Transfer options
*
- * @return EasyHandle
* @throws \RuntimeException when an option cannot be applied
*/
- public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options);
+ public function create(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle;
/**
* Release an easy handle, allowing it to be reused or closed.
*
* This function must call unset on the easy handle's "handle" property.
- *
- * @param EasyHandle $easy
*/
- public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy);
+ public function release(\YoastSEO_Vendor\GuzzleHttp\Handler\EasyHandle $easy) : void;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php
index f8c33a61c..a865942ee 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php
@@ -2,7 +2,7 @@
namespace YoastSEO_Vendor\GuzzleHttp\Handler;
-use YoastSEO_Vendor\GuzzleHttp\Psr7;
+use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
* HTTP handler that uses cURL easy handles as a transport layer.
@@ -10,23 +10,27 @@
* When using the CurlHandler, custom curl options can be specified as an
* associative array of curl option constants mapping to values in the
* **curl** key of the "client" key of the request.
+ *
+ * @final
*/
class CurlHandler
{
- /** @var CurlFactoryInterface */
+ /**
+ * @var CurlFactoryInterface
+ */
private $factory;
/**
* Accepts an associative array of options:
*
- * - factory: Optional curl factory used to create cURL handles.
+ * - handle_factory: Optional curl factory used to create cURL handles.
*
- * @param array $options Array of options to use with the handler
+ * @param array{handle_factory?: ?CurlFactoryInterface} $options Array of options to use with the handler
*/
public function __construct(array $options = [])
{
- $this->factory = isset($options['handle_factory']) ? $options['handle_factory'] : new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(3);
+ $this->factory = $options['handle_factory'] ?? new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(3);
}
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if (isset($options['delay'])) {
\usleep($options['delay'] * 1000);
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
index 01e6faf2c..ddbbfa847 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
@@ -4,6 +4,7 @@
use YoastSEO_Vendor\GuzzleHttp\Promise as P;
use YoastSEO_Vendor\GuzzleHttp\Promise\Promise;
+use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
use YoastSEO_Vendor\GuzzleHttp\Utils;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
@@ -13,17 +14,40 @@
* associative array of curl option constants mapping to values in the
* **curl** key of the provided request options.
*
- * @property resource $_mh Internal use only. Lazy loaded multi-handle.
+ * @final
*/
class CurlMultiHandler
{
- /** @var CurlFactoryInterface */
+ /**
+ * @var CurlFactoryInterface
+ */
private $factory;
+ /**
+ * @var int
+ */
private $selectTimeout;
- private $active;
+ /**
+ * @var int Will be higher than 0 when `curl_multi_exec` is still running.
+ */
+ private $active = 0;
+ /**
+ * @var array Request entry handles, indexed by handle id in `addRequest`.
+ *
+ * @see CurlMultiHandler::addRequest
+ */
private $handles = [];
+ /**
+ * @var array An array of delay times, indexed by handle id in `addRequest`.
+ *
+ * @see CurlMultiHandler::addRequest
+ */
private $delays = [];
+ /**
+ * @var array An associative array of CURLMOPT_* options and corresponding values for curl_multi_setopt()
+ */
private $options = [];
+ /** @var resource|\CurlMultiHandle */
+ private $_mh;
/**
* This handler accepts the following options:
*
@@ -32,34 +56,46 @@ class CurlMultiHandler
* out while selecting curl handles. Defaults to 1 second.
* - options: An associative array of CURLMOPT_* options and
* corresponding values for curl_multi_setopt()
- *
- * @param array $options
*/
public function __construct(array $options = [])
{
- $this->factory = isset($options['handle_factory']) ? $options['handle_factory'] : new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(50);
+ $this->factory = $options['handle_factory'] ?? new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory(50);
if (isset($options['select_timeout'])) {
$this->selectTimeout = $options['select_timeout'];
- } elseif ($selectTimeout = \getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
- $this->selectTimeout = $selectTimeout;
+ } elseif ($selectTimeout = \YoastSEO_Vendor\GuzzleHttp\Utils::getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
+ @\trigger_error('Since guzzlehttp/guzzle 7.2.0: Using environment variable GUZZLE_CURL_SELECT_TIMEOUT is deprecated. Use option "select_timeout" instead.', \E_USER_DEPRECATED);
+ $this->selectTimeout = (int) $selectTimeout;
} else {
$this->selectTimeout = 1;
}
- $this->options = isset($options['options']) ? $options['options'] : [];
+ $this->options = $options['options'] ?? [];
+ // unsetting the property forces the first access to go through
+ // __get().
+ unset($this->_mh);
}
+ /**
+ * @param string $name
+ *
+ * @return resource|\CurlMultiHandle
+ *
+ * @throws \BadMethodCallException when another field as `_mh` will be gotten
+ * @throws \RuntimeException when curl can not initialize a multi handle
+ */
public function __get($name)
{
- if ($name === '_mh') {
- $this->_mh = \curl_multi_init();
- foreach ($this->options as $option => $value) {
- // A warning is raised in case of a wrong option.
- \curl_multi_setopt($this->_mh, $option, $value);
- }
- // Further calls to _mh will return the value directly, without entering the
- // __get() method at all.
- return $this->_mh;
+ if ($name !== '_mh') {
+ throw new \BadMethodCallException("Can not get other property as '_mh'.");
+ }
+ $multiHandle = \curl_multi_init();
+ if (\false === $multiHandle) {
+ throw new \RuntimeException('Can not initialize curl multi handle.');
+ }
+ $this->_mh = $multiHandle;
+ foreach ($this->options as $option => $value) {
+ // A warning is raised in case of a wrong option.
+ \curl_multi_setopt($this->_mh, $option, $value);
}
- throw new \BadMethodCallException();
+ return $this->_mh;
}
public function __destruct()
{
@@ -68,7 +104,7 @@ public function __destruct()
unset($this->_mh);
}
}
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$easy = $this->factory->create($request, $options);
$id = (int) $easy->handle;
@@ -81,7 +117,7 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
/**
* Ticks the curl event loop.
*/
- public function tick()
+ public function tick() : void
{
// Add any delayed handles if needed.
if ($this->delays) {
@@ -94,7 +130,7 @@ public function tick()
}
}
// Step through the task queue which may add additional requests.
- \YoastSEO_Vendor\GuzzleHttp\Promise\queue()->run();
+ \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue()->run();
if ($this->active && \curl_multi_select($this->_mh, $this->selectTimeout) === -1) {
// Perform a usleep if a select returns -1.
// See: https://bugs.php.net/bug.php?id=61141
@@ -107,9 +143,9 @@ public function tick()
/**
* Runs until all outstanding connections have completed.
*/
- public function execute()
+ public function execute() : void
{
- $queue = \YoastSEO_Vendor\GuzzleHttp\Promise\queue();
+ $queue = \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue();
while ($this->handles || !$queue->isEmpty()) {
// If there are no transfers, then sleep for the next delay
if (!$this->active && $this->delays) {
@@ -118,7 +154,7 @@ public function execute()
$this->tick();
}
}
- private function addRequest(array $entry)
+ private function addRequest(array $entry) : void
{
$easy = $entry['easy'];
$id = (int) $easy->handle;
@@ -136,8 +172,11 @@ private function addRequest(array $entry)
*
* @return bool True on success, false on failure.
*/
- private function cancel($id)
+ private function cancel($id) : bool
{
+ if (!\is_int($id)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an integer to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
// Cannot cancel if it has been processed.
if (!isset($this->handles[$id])) {
return \false;
@@ -148,9 +187,13 @@ private function cancel($id)
\curl_close($handle);
return \true;
}
- private function processMessages()
+ private function processMessages() : void
{
while ($done = \curl_multi_info_read($this->_mh)) {
+ if ($done['msg'] !== \CURLMSG_DONE) {
+ // if it's not done, then it would be premature to remove the handle. ref https://github.com/guzzle/guzzle/pull/2892#issuecomment-945150216
+ continue;
+ }
$id = (int) $done['handle'];
\curl_multi_remove_handle($this->_mh, $done['handle']);
if (!isset($this->handles[$id])) {
@@ -163,7 +206,7 @@ private function processMessages()
$entry['deferred']->resolve(\YoastSEO_Vendor\GuzzleHttp\Handler\CurlFactory::finish($this, $entry['easy'], $this->factory));
}
}
- private function timeToNext()
+ private function timeToNext() : int
{
$currentTime = \YoastSEO_Vendor\GuzzleHttp\Utils::currentTime();
$nextTime = \PHP_INT_MAX;
@@ -172,6 +215,6 @@ private function timeToNext()
$nextTime = $time;
}
}
- return \max(0, $nextTime - $currentTime) * 1000000;
+ return (int) \max(0, $nextTime - $currentTime) * 1000000;
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php
index fd304640d..f5e837fda 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php
@@ -3,6 +3,7 @@
namespace YoastSEO_Vendor\GuzzleHttp\Handler;
use YoastSEO_Vendor\GuzzleHttp\Psr7\Response;
+use YoastSEO_Vendor\GuzzleHttp\Utils;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
use YoastSEO_Vendor\Psr\Http\Message\StreamInterface;
@@ -13,36 +14,52 @@
*/
final class EasyHandle
{
- /** @var resource cURL resource */
+ /**
+ * @var resource|\CurlHandle cURL resource
+ */
public $handle;
- /** @var StreamInterface Where data is being written */
+ /**
+ * @var StreamInterface Where data is being written
+ */
public $sink;
- /** @var array Received HTTP headers so far */
+ /**
+ * @var array Received HTTP headers so far
+ */
public $headers = [];
- /** @var ResponseInterface Received response (if any) */
+ /**
+ * @var ResponseInterface|null Received response (if any)
+ */
public $response;
- /** @var RequestInterface Request being sent */
+ /**
+ * @var RequestInterface Request being sent
+ */
public $request;
- /** @var array Request options */
+ /**
+ * @var array Request options
+ */
public $options = [];
- /** @var int cURL error number (if any) */
+ /**
+ * @var int cURL error number (if any)
+ */
public $errno = 0;
- /** @var \Exception Exception during on_headers (if any) */
+ /**
+ * @var \Throwable|null Exception during on_headers (if any)
+ */
public $onHeadersException;
+ /**
+ * @var \Exception|null Exception during createResponse (if any)
+ */
+ public $createResponseException;
/**
* Attach a response to the easy handle based on the received headers.
*
- * @throws \RuntimeException if no headers have been received.
+ * @throws \RuntimeException if no headers have been received or the first
+ * header line is invalid.
*/
- public function createResponse()
+ public function createResponse() : void
{
- if (empty($this->headers)) {
- throw new \RuntimeException('No headers have been received');
- }
- // HTTP-version SP status-code SP reason-phrase
- $startLine = \explode(' ', \array_shift($this->headers), 3);
- $headers = \YoastSEO_Vendor\GuzzleHttp\headers_from_lines($this->headers);
- $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\normalize_header_keys($headers);
+ [$ver, $status, $reason, $headers] = \YoastSEO_Vendor\GuzzleHttp\Handler\HeaderProcessor::parseHeaders($this->headers);
+ $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\Utils::normalizeHeaderKeys($headers);
if (!empty($this->options['decode_content']) && isset($normalizedKeys['content-encoding'])) {
$headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
unset($headers[$normalizedKeys['content-encoding']]);
@@ -57,8 +74,15 @@ public function createResponse()
}
}
// Attach a response to the easy handle with the parsed headers.
- $this->response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($startLine[1], $headers, $this->sink, \substr($startLine[0], 5), isset($startLine[2]) ? (string) $startLine[2] : null);
+ $this->response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($status, $headers, $this->sink, $ver, $reason);
}
+ /**
+ * @param string $name
+ *
+ * @return void
+ *
+ * @throws \BadMethodCallException
+ */
public function __get($name)
{
$msg = $name === 'handle' ? 'The EasyHandle has been released' : 'Invalid property: ' . $name;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php
new file mode 100755
index 000000000..79c7db0ef
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php
@@ -0,0 +1,36 @@
+|null $queue The parameters to be passed to the append function, as an indexed array.
+ * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
+ * @param callable|null $onRejected Callback to invoke when the return value is rejected.
*/
public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null)
{
$this->onFulfilled = $onFulfilled;
$this->onRejected = $onRejected;
if ($queue) {
- \call_user_func_array([$this, 'append'], $queue);
+ // array_values included for BC
+ $this->append(...\array_values($queue));
}
}
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if (!$this->queue) {
throw new \OutOfBoundsException('Mock queue is empty');
}
if (isset($options['delay']) && \is_numeric($options['delay'])) {
- \usleep($options['delay'] * 1000);
+ \usleep((int) $options['delay'] * 1000);
}
$this->lastRequest = $request;
$this->lastOptions = $options;
@@ -73,15 +91,15 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
}
}
if (\is_callable($response)) {
- $response = \call_user_func($response, $request, $options);
+ $response = $response($request, $options);
}
- $response = $response instanceof \Exception ? \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($response) : \YoastSEO_Vendor\GuzzleHttp\Promise\promise_for($response);
- return $response->then(function ($value) use($request, $options) {
+ $response = $response instanceof \Throwable ? \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($response) : \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($response);
+ return $response->then(function (?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $value) use($request, $options) {
$this->invokeStats($request, $options, $value);
if ($this->onFulfilled) {
- \call_user_func($this->onFulfilled, $value);
+ ($this->onFulfilled)($value);
}
- if (isset($options['sink'])) {
+ if ($value !== null && isset($options['sink'])) {
$contents = (string) $value->getBody();
$sink = $options['sink'];
if (\is_resource($sink)) {
@@ -96,62 +114,61 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
}, function ($reason) use($request, $options) {
$this->invokeStats($request, $options, null, $reason);
if ($this->onRejected) {
- \call_user_func($this->onRejected, $reason);
+ ($this->onRejected)($reason);
}
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason);
});
}
/**
* Adds one or more variadic requests, exceptions, callables, or promises
* to the queue.
+ *
+ * @param mixed ...$values
*/
- public function append()
+ public function append(...$values) : void
{
- foreach (\func_get_args() as $value) {
- if ($value instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface || $value instanceof \Exception || $value instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface || \is_callable($value)) {
+ foreach ($values as $value) {
+ if ($value instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface || $value instanceof \Throwable || $value instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface || \is_callable($value)) {
$this->queue[] = $value;
} else {
- throw new \InvalidArgumentException('Expected a response or ' . 'exception. Found ' . \YoastSEO_Vendor\GuzzleHttp\describe_type($value));
+ throw new \TypeError('Expected a Response, Promise, Throwable or callable. Found ' . \YoastSEO_Vendor\GuzzleHttp\Utils::describeType($value));
}
}
}
/**
* Get the last received request.
- *
- * @return RequestInterface
*/
- public function getLastRequest()
+ public function getLastRequest() : ?\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
return $this->lastRequest;
}
/**
* Get the last received request options.
- *
- * @return array
*/
- public function getLastOptions()
+ public function getLastOptions() : array
{
return $this->lastOptions;
}
/**
* Returns the number of remaining items in the queue.
- *
- * @return int
*/
- public function count()
+ public function count() : int
{
return \count($this->queue);
}
- public function reset()
+ public function reset() : void
{
$this->queue = [];
}
- private function invokeStats(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $reason = null)
+ /**
+ * @param mixed $reason Promise or reason.
+ */
+ private function invokeStats(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $reason = null) : void
{
if (isset($options['on_stats'])) {
- $transferTime = isset($options['transfer_time']) ? $options['transfer_time'] : 0;
+ $transferTime = $options['transfer_time'] ?? 0;
$stats = new \YoastSEO_Vendor\GuzzleHttp\TransferStats($request, $response, $transferTime, $reason);
- \call_user_func($options['on_stats'], $stats);
+ $options['on_stats']($stats);
}
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php
index 817894982..69d526d84 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php
@@ -2,10 +2,13 @@
namespace YoastSEO_Vendor\GuzzleHttp\Handler;
+use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
use YoastSEO_Vendor\GuzzleHttp\RequestOptions;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
* Provides basic proxies for handlers.
+ *
+ * @final
*/
class Proxy
{
@@ -13,14 +16,14 @@ class Proxy
* Sends synchronous requests to a specific handler while sending all other
* requests to another handler.
*
- * @param callable $default Handler used for normal responses
- * @param callable $sync Handler used for synchronous responses.
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses.
*
- * @return callable Returns the composed handler.
+ * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.
*/
- public static function wrapSync(callable $default, callable $sync)
+ public static function wrapSync(callable $default, callable $sync) : callable
{
- return function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $sync) {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $sync) : PromiseInterface {
return empty($options[\YoastSEO_Vendor\GuzzleHttp\RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options);
};
}
@@ -32,14 +35,14 @@ public static function wrapSync(callable $default, callable $sync)
* performance benefits of curl while still supporting true streaming
* through the StreamHandler.
*
- * @param callable $default Handler used for non-streaming responses
- * @param callable $streaming Handler used for streaming responses
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses
*
- * @return callable Returns the composed handler.
+ * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.
*/
- public static function wrapStreaming(callable $default, callable $streaming)
+ public static function wrapStreaming(callable $default, callable $streaming) : callable
{
- return function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $streaming) {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($default, $streaming) : PromiseInterface {
return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
};
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php
index 6b2860e64..ad9aa6407 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php
@@ -4,6 +4,7 @@
use YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException;
use YoastSEO_Vendor\GuzzleHttp\Exception\RequestException;
+use YoastSEO_Vendor\GuzzleHttp\Promise as P;
use YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise;
use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
use YoastSEO_Vendor\GuzzleHttp\Psr7;
@@ -12,21 +13,25 @@
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
use YoastSEO_Vendor\Psr\Http\Message\StreamInterface;
+use YoastSEO_Vendor\Psr\Http\Message\UriInterface;
/**
* HTTP handler that uses PHP's HTTP stream wrapper.
+ *
+ * @final
*/
class StreamHandler
{
+ /**
+ * @var array
+ */
private $lastHeaders = [];
/**
* Sends an HTTP request.
*
* @param RequestInterface $request Request to send.
* @param array $options Request transfer options.
- *
- * @return PromiseInterface
*/
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
// Sleep if there is a delay specified.
if (isset($options['delay'])) {
@@ -48,44 +53,50 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
// Determine if the error was a networking error.
$message = $e->getMessage();
// This list can probably get more comprehensive.
- if (\strpos($message, 'getaddrinfo') || \strpos($message, 'Connection refused') || \strpos($message, "couldn't connect to host") || \strpos($message, "connection attempt failed")) {
+ if (\false !== \strpos($message, 'getaddrinfo') || \false !== \strpos($message, 'Connection refused') || \false !== \strpos($message, "couldn't connect to host") || \false !== \strpos($message, 'connection attempt failed')) {
$e = new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException($e->getMessage(), $request, $e);
+ } else {
+ $e = \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::wrapException($request, $e);
}
- $e = \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::wrapException($request, $e);
$this->invokeStats($options, $request, $startTime, null, $e);
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($e);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($e);
}
}
- private function invokeStats(array $options, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, $startTime, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $error = null)
+ private function invokeStats(array $options, \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, ?float $startTime, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $error = null) : void
{
if (isset($options['on_stats'])) {
$stats = new \YoastSEO_Vendor\GuzzleHttp\TransferStats($request, $response, \YoastSEO_Vendor\GuzzleHttp\Utils::currentTime() - $startTime, $error, []);
- \call_user_func($options['on_stats'], $stats);
+ $options['on_stats']($stats);
}
}
- private function createResponse(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, $stream, $startTime)
+ /**
+ * @param resource $stream
+ */
+ private function createResponse(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, $stream, ?float $startTime) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$hdrs = $this->lastHeaders;
$this->lastHeaders = [];
- $parts = \explode(' ', \array_shift($hdrs), 3);
- $ver = \explode('/', $parts[0])[1];
- $status = $parts[1];
- $reason = isset($parts[2]) ? $parts[2] : null;
- $headers = \YoastSEO_Vendor\GuzzleHttp\headers_from_lines($hdrs);
- list($stream, $headers) = $this->checkDecode($options, $headers, $stream);
- $stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($stream);
+ try {
+ [$ver, $status, $reason, $headers] = \YoastSEO_Vendor\GuzzleHttp\Handler\HeaderProcessor::parseHeaders($hdrs);
+ } catch (\Exception $e) {
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered while creating the response', $request, null, $e));
+ }
+ [$stream, $headers] = $this->checkDecode($options, $headers, $stream);
+ $stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($stream);
$sink = $stream;
if (\strcasecmp('HEAD', $request->getMethod())) {
$sink = $this->createSink($stream, $options);
}
- $response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($status, $headers, $sink, $ver, $reason);
+ try {
+ $response = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($status, $headers, $sink, $ver, $reason);
+ } catch (\Exception $e) {
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered while creating the response', $request, null, $e));
+ }
if (isset($options['on_headers'])) {
try {
$options['on_headers']($response);
} catch (\Exception $e) {
- $msg = 'An error was encountered during the on_headers event';
- $ex = new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException($msg, $request, $response, $e);
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($ex);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor(new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException('An error was encountered during the on_headers event', $request, $response, $e));
}
}
// Do not drain when the request is a HEAD request because they have
@@ -96,23 +107,26 @@ private function createResponse(\YoastSEO_Vendor\Psr\Http\Message\RequestInterfa
$this->invokeStats($options, $request, $startTime, $response, null);
return new \YoastSEO_Vendor\GuzzleHttp\Promise\FulfilledPromise($response);
}
- private function createSink(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, array $options)
+ private function createSink(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, array $options) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
if (!empty($options['stream'])) {
return $stream;
}
- $sink = isset($options['sink']) ? $options['sink'] : \fopen('php://temp', 'r+');
- return \is_string($sink) ? new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+') : \YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($sink);
+ $sink = $options['sink'] ?? \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'r+');
+ return \is_string($sink) ? new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($sink, 'w+') : \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($sink);
}
- private function checkDecode(array $options, array $headers, $stream)
+ /**
+ * @param resource $stream
+ */
+ private function checkDecode(array $options, array $headers, $stream) : array
{
// Automatically decode responses when instructed.
if (!empty($options['decode_content'])) {
- $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\normalize_header_keys($headers);
+ $normalizedKeys = \YoastSEO_Vendor\GuzzleHttp\Utils::normalizeHeaderKeys($headers);
if (isset($normalizedKeys['content-encoding'])) {
$encoding = $headers[$normalizedKeys['content-encoding']];
if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') {
- $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\InflateStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\stream_for($stream));
+ $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\InflateStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($stream));
$headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
// Remove content-encoding header
unset($headers[$normalizedKeys['content-encoding']]);
@@ -134,21 +148,18 @@ private function checkDecode(array $options, array $headers, $stream)
/**
* Drains the source stream into the "sink" client option.
*
- * @param StreamInterface $source
- * @param StreamInterface $sink
- * @param string $contentLength Header specifying the amount of
- * data to read.
+ * @param string $contentLength Header specifying the amount of
+ * data to read.
*
- * @return StreamInterface
* @throws \RuntimeException when the sink option is invalid.
*/
- private function drain(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $sink, $contentLength)
+ private function drain(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $sink, string $contentLength) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
// If a content-length header is provided, then stop reading once
// that number of bytes has been read. This can prevent infinitely
// reading from a stream when dealing with servers that do not honor
// Connection: Close headers.
- \YoastSEO_Vendor\GuzzleHttp\Psr7\copy_to_stream($source, $sink, \strlen($contentLength) > 0 && (int) $contentLength > 0 ? (int) $contentLength : -1);
+ \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToStream($source, $sink, \strlen($contentLength) > 0 && (int) $contentLength > 0 ? (int) $contentLength : -1);
$sink->seek(0);
$source->close();
return $sink;
@@ -159,17 +170,21 @@ private function drain(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source
* @param callable $callback Callable that returns stream resource
*
* @return resource
+ *
* @throws \RuntimeException on error
*/
private function createResource(callable $callback)
{
- $errors = null;
- \set_error_handler(function ($_, $msg, $file, $line) use(&$errors) {
+ $errors = [];
+ \set_error_handler(static function ($_, $msg, $file, $line) use(&$errors) : bool {
$errors[] = ['message' => $msg, 'file' => $file, 'line' => $line];
return \true;
});
- $resource = $callback();
- \restore_error_handler();
+ try {
+ $resource = $callback();
+ } finally {
+ \restore_error_handler();
+ }
if (!$resource) {
$message = 'Error creating resource: ';
foreach ($errors as $err) {
@@ -181,12 +196,18 @@ private function createResource(callable $callback)
}
return $resource;
}
+ /**
+ * @return resource
+ */
private function createStream(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
{
static $methods;
if (!$methods) {
$methods = \array_flip(\get_class_methods(__CLASS__));
}
+ if (!\in_array($request->getUri()->getScheme(), ['http', 'https'])) {
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException(\sprintf("The scheme '%s' is not supported.", $request->getUri()->getScheme()), $request);
+ }
// HTTP/1.1 streams using the PHP stream wrapper require a
// Connection: close header
if ($request->getProtocolVersion() == '1.1' && !$request->hasHeader('Connection')) {
@@ -216,16 +237,19 @@ private function createStream(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
$context = \array_replace_recursive($context, $options['stream_context']);
}
// Microsoft NTLM authentication only supported with curl handler
- if (isset($options['auth']) && \is_array($options['auth']) && isset($options['auth'][2]) && 'ntlm' == $options['auth'][2]) {
+ if (isset($options['auth'][2]) && 'ntlm' === $options['auth'][2]) {
throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler');
}
$uri = $this->resolveHost($request, $options);
- $context = $this->createResource(function () use($context, $params) {
+ $contextResource = $this->createResource(static function () use($context, $params) {
return \stream_context_create($context, $params);
});
- return $this->createResource(function () use($uri, &$http_response_header, $context, $options) {
- $resource = \fopen((string) $uri, 'r', null, $context);
- $this->lastHeaders = $http_response_header;
+ return $this->createResource(function () use($uri, &$http_response_header, $contextResource, $context, $options, $request) {
+ $resource = @\fopen((string) $uri, 'r', \false, $contextResource);
+ $this->lastHeaders = $http_response_header ?? [];
+ if (\false === $resource) {
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException(\sprintf('Connection refused for URI %s', $uri), $request, null, $context);
+ }
if (isset($options['read_timeout'])) {
$readTimeout = $options['read_timeout'];
$sec = (int) $readTimeout;
@@ -235,27 +259,28 @@ private function createStream(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
return $resource;
});
}
- private function resolveHost(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ private function resolveHost(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$uri = $request->getUri();
if (isset($options['force_ip_resolve']) && !\filter_var($uri->getHost(), \FILTER_VALIDATE_IP)) {
if ('v4' === $options['force_ip_resolve']) {
$records = \dns_get_record($uri->getHost(), \DNS_A);
- if (!isset($records[0]['ip'])) {
+ if (\false === $records || !isset($records[0]['ip'])) {
throw new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException(\sprintf("Could not resolve IPv4 address for host '%s'", $uri->getHost()), $request);
}
- $uri = $uri->withHost($records[0]['ip']);
- } elseif ('v6' === $options['force_ip_resolve']) {
+ return $uri->withHost($records[0]['ip']);
+ }
+ if ('v6' === $options['force_ip_resolve']) {
$records = \dns_get_record($uri->getHost(), \DNS_AAAA);
- if (!isset($records[0]['ipv6'])) {
+ if (\false === $records || !isset($records[0]['ipv6'])) {
throw new \YoastSEO_Vendor\GuzzleHttp\Exception\ConnectException(\sprintf("Could not resolve IPv6 address for host '%s'", $uri->getHost()), $request);
}
- $uri = $uri->withHost('[' . $records[0]['ipv6'] . ']');
+ return $uri->withHost('[' . $records[0]['ipv6'] . ']');
}
}
return $uri;
}
- private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request)
+ private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request) : array
{
$headers = '';
foreach ($request->getHeaders() as $name => $value) {
@@ -263,9 +288,9 @@ private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInte
$headers .= "{$name}: {$val}\r\n";
}
}
- $context = ['http' => ['method' => $request->getMethod(), 'header' => $headers, 'protocol_version' => $request->getProtocolVersion(), 'ignore_errors' => \true, 'follow_location' => 0]];
+ $context = ['http' => ['method' => $request->getMethod(), 'header' => $headers, 'protocol_version' => $request->getProtocolVersion(), 'ignore_errors' => \true, 'follow_location' => 0], 'ssl' => ['peer_name' => $request->getUri()->getHost()]];
$body = (string) $request->getBody();
- if (!empty($body)) {
+ if ('' !== $body) {
$context['http']['content'] = $body;
// Prevent the HTTP handler from adding a Content-Type header.
if (!$request->hasHeader('Content-Type')) {
@@ -275,50 +300,98 @@ private function getDefaultContext(\YoastSEO_Vendor\Psr\Http\Message\RequestInte
$context['http']['header'] = \rtrim($context['http']['header']);
return $context;
}
- private function add_proxy(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params)
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_proxy(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
{
+ $uri = null;
if (!\is_array($value)) {
- $options['http']['proxy'] = $value;
+ $uri = $value;
} else {
$scheme = $request->getUri()->getScheme();
if (isset($value[$scheme])) {
- if (!isset($value['no']) || !\YoastSEO_Vendor\GuzzleHttp\is_host_in_noproxy($request->getUri()->getHost(), $value['no'])) {
- $options['http']['proxy'] = $value[$scheme];
+ if (!isset($value['no']) || !\YoastSEO_Vendor\GuzzleHttp\Utils::isHostInNoProxy($request->getUri()->getHost(), $value['no'])) {
+ $uri = $value[$scheme];
}
}
}
+ if (!$uri) {
+ return;
+ }
+ $parsed = $this->parse_proxy($uri);
+ $options['http']['proxy'] = $parsed['proxy'];
+ if ($parsed['auth']) {
+ if (!isset($options['http']['header'])) {
+ $options['http']['header'] = [];
+ }
+ $options['http']['header'] .= "\r\nProxy-Authorization: {$parsed['auth']}";
+ }
}
- private function add_timeout(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params)
+ /**
+ * Parses the given proxy URL to make it compatible with the format PHP's stream context expects.
+ */
+ private function parse_proxy(string $url) : array
+ {
+ $parsed = \parse_url($url);
+ if ($parsed !== \false && isset($parsed['scheme']) && $parsed['scheme'] === 'http') {
+ if (isset($parsed['host']) && isset($parsed['port'])) {
+ $auth = null;
+ if (isset($parsed['user']) && isset($parsed['pass'])) {
+ $auth = \base64_encode("{$parsed['user']}:{$parsed['pass']}");
+ }
+ return ['proxy' => "tcp://{$parsed['host']}:{$parsed['port']}", 'auth' => $auth ? "Basic {$auth}" : null];
+ }
+ }
+ // Return proxy as-is.
+ return ['proxy' => $url, 'auth' => null];
+ }
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_timeout(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
{
if ($value > 0) {
$options['http']['timeout'] = $value;
}
}
- private function add_verify(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params)
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_crypto_method(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
{
- if ($value === \true) {
- // PHP 5.6 or greater will find the system cert by default. When
- // < 5.6, use the Guzzle bundled cacert.
- if (\PHP_VERSION_ID < 50600) {
- $options['ssl']['cafile'] = \YoastSEO_Vendor\GuzzleHttp\default_ca_bundle();
- }
- } elseif (\is_string($value)) {
+ if ($value === \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT || $value === \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT || $value === \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT || \defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && $value === \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT) {
+ $options['http']['crypto_method'] = $value;
+ return;
+ }
+ throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided');
+ }
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_verify(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
+ {
+ if ($value === \false) {
+ $options['ssl']['verify_peer'] = \false;
+ $options['ssl']['verify_peer_name'] = \false;
+ return;
+ }
+ if (\is_string($value)) {
$options['ssl']['cafile'] = $value;
if (!\file_exists($value)) {
throw new \RuntimeException("SSL CA bundle not found: {$value}");
}
- } elseif ($value === \false) {
- $options['ssl']['verify_peer'] = \false;
- $options['ssl']['verify_peer_name'] = \false;
- return;
- } else {
+ } elseif ($value !== \true) {
throw new \InvalidArgumentException('Invalid verify request option');
}
$options['ssl']['verify_peer'] = \true;
$options['ssl']['verify_peer_name'] = \true;
$options['ssl']['allow_self_signed'] = \false;
}
- private function add_cert(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params)
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_cert(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
{
if (\is_array($value)) {
$options['ssl']['passphrase'] = $value[1];
@@ -329,26 +402,32 @@ private function add_cert(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $re
}
$options['ssl']['local_cert'] = $value;
}
- private function add_progress(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params)
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_progress(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
{
- $this->addNotification($params, function ($code, $a, $b, $c, $transferred, $total) use($value) {
+ self::addNotification($params, static function ($code, $a, $b, $c, $transferred, $total) use($value) {
if ($code == \STREAM_NOTIFY_PROGRESS) {
- $value($total, $transferred, null, null);
+ // The upload progress cannot be determined. Use 0 for cURL compatibility:
+ // https://curl.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html
+ $value($total, $transferred, 0, 0);
}
});
}
- private function add_debug(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, &$options, $value, &$params)
+ /**
+ * @param mixed $value as passed via Request transfer options.
+ */
+ private function add_debug(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options, $value, array &$params) : void
{
if ($value === \false) {
return;
}
static $map = [\STREAM_NOTIFY_CONNECT => 'CONNECT', \STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED', \STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT', \STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS', \STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS', \STREAM_NOTIFY_REDIRECTED => 'REDIRECTED', \STREAM_NOTIFY_PROGRESS => 'PROGRESS', \STREAM_NOTIFY_FAILURE => 'FAILURE', \STREAM_NOTIFY_COMPLETED => 'COMPLETED', \STREAM_NOTIFY_RESOLVE => 'RESOLVE'];
static $args = ['severity', 'message', 'message_code', 'bytes_transferred', 'bytes_max'];
- $value = \YoastSEO_Vendor\GuzzleHttp\debug_resource($value);
+ $value = \YoastSEO_Vendor\GuzzleHttp\Utils::debugResource($value);
$ident = $request->getMethod() . ' ' . $request->getUri()->withFragment('');
- $this->addNotification($params, function () use($ident, $value, $map, $args) {
- $passed = \func_get_args();
- $code = \array_shift($passed);
+ self::addNotification($params, static function (int $code, ...$passed) use($ident, $value, $map, $args) : void {
\fprintf($value, '<%s> [%s] ', $ident, $map[$code]);
foreach (\array_filter($passed) as $i => $v) {
\fwrite($value, $args[$i] . ': "' . $v . '" ');
@@ -356,21 +435,20 @@ private function add_debug(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $r
\fwrite($value, "\n");
});
}
- private function addNotification(array &$params, callable $notify)
+ private static function addNotification(array &$params, callable $notify) : void
{
// Wrap the existing function if needed.
if (!isset($params['notification'])) {
$params['notification'] = $notify;
} else {
- $params['notification'] = $this->callArray([$params['notification'], $notify]);
+ $params['notification'] = self::callArray([$params['notification'], $notify]);
}
}
- private function callArray(array $functions)
+ private static function callArray(array $functions) : callable
{
- return function () use($functions) {
- $args = \func_get_args();
+ return static function (...$args) use($functions) {
foreach ($functions as $fn) {
- \call_user_func_array($fn, $args);
+ $fn(...$args);
}
};
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php
index 117d59727..cb5a23fb1 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/HandlerStack.php
@@ -8,14 +8,22 @@
/**
* Creates a composed Guzzle handler function by stacking middlewares on top of
* an HTTP handler function.
+ *
+ * @final
*/
class HandlerStack
{
- /** @var callable|null */
+ /**
+ * @var (callable(RequestInterface, array): PromiseInterface)|null
+ */
private $handler;
- /** @var array */
+ /**
+ * @var array{(callable(callable(RequestInterface, array): PromiseInterface): callable), (string|null)}[]
+ */
private $stack = [];
- /** @var callable|null */
+ /**
+ * @var (callable(RequestInterface, array): PromiseInterface)|null
+ */
private $cached;
/**
* Creates a default handler stack that can be used by clients.
@@ -28,15 +36,13 @@ class HandlerStack
* The returned handler stack can be passed to a client in the "handler"
* option.
*
- * @param callable $handler HTTP handler function to use with the stack. If no
- * handler is provided, the best handler for your
- * system will be utilized.
- *
- * @return HandlerStack
+ * @param (callable(RequestInterface, array): PromiseInterface)|null $handler HTTP handler function to use with the stack. If no
+ * handler is provided, the best handler for your
+ * system will be utilized.
*/
- public static function create(callable $handler = null)
+ public static function create(callable $handler = null) : self
{
- $stack = new self($handler ?: choose_handler());
+ $stack = new self($handler ?: \YoastSEO_Vendor\GuzzleHttp\Utils::chooseHandler());
$stack->push(\YoastSEO_Vendor\GuzzleHttp\Middleware::httpErrors(), 'http_errors');
$stack->push(\YoastSEO_Vendor\GuzzleHttp\Middleware::redirect(), 'allow_redirects');
$stack->push(\YoastSEO_Vendor\GuzzleHttp\Middleware::cookies(), 'cookies');
@@ -44,7 +50,7 @@ public static function create(callable $handler = null)
return $stack;
}
/**
- * @param callable $handler Underlying HTTP handler.
+ * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
*/
public function __construct(callable $handler = null)
{
@@ -53,9 +59,6 @@ public function __construct(callable $handler = null)
/**
* Invokes the handler stack as a composed handler
*
- * @param RequestInterface $request
- * @param array $options
- *
* @return ResponseInterface|PromiseInterface
*/
public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
@@ -72,14 +75,14 @@ public function __toString()
{
$depth = 0;
$stack = [];
- if ($this->handler) {
- $stack[] = "0) Handler: " . $this->debugCallable($this->handler);
+ if ($this->handler !== null) {
+ $stack[] = '0) Handler: ' . $this->debugCallable($this->handler);
}
$result = '';
foreach (\array_reverse($this->stack) as $tuple) {
- $depth++;
+ ++$depth;
$str = "{$depth}) Name: '{$tuple[1]}', ";
- $str .= "Function: " . $this->debugCallable($tuple[0]);
+ $str .= 'Function: ' . $this->debugCallable($tuple[0]);
$result = "> {$str}\n{$result}";
$stack[] = $str;
}
@@ -91,30 +94,28 @@ public function __toString()
/**
* Set the HTTP handler that actually returns a promise.
*
- * @param callable $handler Accepts a request and array of options and
- * returns a Promise.
+ * @param callable(RequestInterface, array): PromiseInterface $handler Accepts a request and array of options and
+ * returns a Promise.
*/
- public function setHandler(callable $handler)
+ public function setHandler(callable $handler) : void
{
$this->handler = $handler;
$this->cached = null;
}
/**
* Returns true if the builder has a handler.
- *
- * @return bool
*/
- public function hasHandler()
+ public function hasHandler() : bool
{
- return (bool) $this->handler;
+ return $this->handler !== null;
}
/**
* Unshift a middleware to the bottom of the stack.
*
- * @param callable $middleware Middleware function
- * @param string $name Name to register for this middleware.
+ * @param callable(callable): callable $middleware Middleware function
+ * @param string $name Name to register for this middleware.
*/
- public function unshift(callable $middleware, $name = null)
+ public function unshift(callable $middleware, string $name = null) : void
{
\array_unshift($this->stack, [$middleware, $name]);
$this->cached = null;
@@ -122,10 +123,10 @@ public function unshift(callable $middleware, $name = null)
/**
* Push a middleware to the top of the stack.
*
- * @param callable $middleware Middleware function
- * @param string $name Name to register for this middleware.
+ * @param callable(callable): callable $middleware Middleware function
+ * @param string $name Name to register for this middleware.
*/
- public function push(callable $middleware, $name = '')
+ public function push(callable $middleware, string $name = '') : void
{
$this->stack[] = [$middleware, $name];
$this->cached = null;
@@ -133,22 +134,22 @@ public function push(callable $middleware, $name = '')
/**
* Add a middleware before another middleware by name.
*
- * @param string $findName Middleware to find
- * @param callable $middleware Middleware function
- * @param string $withName Name to register for this middleware.
+ * @param string $findName Middleware to find
+ * @param callable(callable): callable $middleware Middleware function
+ * @param string $withName Name to register for this middleware.
*/
- public function before($findName, callable $middleware, $withName = '')
+ public function before(string $findName, callable $middleware, string $withName = '') : void
{
$this->splice($findName, $withName, $middleware, \true);
}
/**
* Add a middleware after another middleware by name.
*
- * @param string $findName Middleware to find
- * @param callable $middleware Middleware function
- * @param string $withName Name to register for this middleware.
+ * @param string $findName Middleware to find
+ * @param callable(callable): callable $middleware Middleware function
+ * @param string $withName Name to register for this middleware.
*/
- public function after($findName, callable $middleware, $withName = '')
+ public function after(string $findName, callable $middleware, string $withName = '') : void
{
$this->splice($findName, $withName, $middleware, \false);
}
@@ -157,37 +158,37 @@ public function after($findName, callable $middleware, $withName = '')
*
* @param callable|string $remove Middleware to remove by instance or name.
*/
- public function remove($remove)
+ public function remove($remove) : void
{
+ if (!\is_string($remove) && !\is_callable($remove)) {
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a callable or string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
+ }
$this->cached = null;
$idx = \is_callable($remove) ? 0 : 1;
- $this->stack = \array_values(\array_filter($this->stack, function ($tuple) use($idx, $remove) {
+ $this->stack = \array_values(\array_filter($this->stack, static function ($tuple) use($idx, $remove) {
return $tuple[$idx] !== $remove;
}));
}
/**
* Compose the middleware and handler into a single callable function.
*
- * @return callable
+ * @return callable(RequestInterface, array): PromiseInterface
*/
- public function resolve()
+ public function resolve() : callable
{
- if (!$this->cached) {
- if (!($prev = $this->handler)) {
+ if ($this->cached === null) {
+ if (($prev = $this->handler) === null) {
throw new \LogicException('No handler has been specified');
}
foreach (\array_reverse($this->stack) as $fn) {
+ /** @var callable(RequestInterface, array): PromiseInterface $prev */
$prev = $fn[0]($prev);
}
$this->cached = $prev;
}
return $this->cached;
}
- /**
- * @param string $name
- * @return int
- */
- private function findByName($name)
+ private function findByName(string $name) : int
{
foreach ($this->stack as $k => $v) {
if ($v[1] === $name) {
@@ -198,13 +199,8 @@ private function findByName($name)
}
/**
* Splices a function into the middleware list at a specific position.
- *
- * @param string $findName
- * @param string $withName
- * @param callable $middleware
- * @param bool $before
*/
- private function splice($findName, $withName, callable $middleware, $before)
+ private function splice(string $findName, string $withName, callable $middleware, bool $before) : void
{
$this->cached = null;
$idx = $this->findByName($findName);
@@ -226,11 +222,9 @@ private function splice($findName, $withName, callable $middleware, $before)
/**
* Provides a debug string for a given callable.
*
- * @param array|callable $fn Function to write as a string.
- *
- * @return string
+ * @param callable|string $fn Function to write as a string.
*/
- private function debugCallable($fn)
+ private function debugCallable($fn) : string
{
if (\is_string($fn)) {
return "callable({$fn})";
@@ -238,6 +232,7 @@ private function debugCallable($fn)
if (\is_array($fn)) {
return \is_string($fn[0]) ? "callable({$fn[0]}::{$fn[1]})" : "callable(['" . \get_class($fn[0]) . "', '{$fn[1]}'])";
}
+ /** @var object $fn */
return 'callable(' . \spl_object_hash($fn) . ')';
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php
index 44ae119d1..ff34387dd 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatter.php
@@ -31,38 +31,43 @@
* - {res_headers}: Response headers
* - {req_body}: Request body
* - {res_body}: Response body
+ *
+ * @final
*/
-class MessageFormatter
+class MessageFormatter implements \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface
{
/**
* Apache Common Log Format.
- * @link http://httpd.apache.org/docs/2.4/logs.html#common
+ *
+ * @see https://httpd.apache.org/docs/2.4/logs.html#common
+ *
* @var string
*/
- const CLF = "{hostname} {req_header_User-Agent} - [{date_common_log}] \"{method} {target} HTTP/{version}\" {code} {res_header_Content-Length}";
- const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}";
- const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}';
- /** @var string Template used to format log messages */
+ public const CLF = '{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}';
+ public const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}";
+ public const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}';
+ /**
+ * @var string Template used to format log messages
+ */
private $template;
/**
* @param string $template Log message template
*/
- public function __construct($template = self::CLF)
+ public function __construct(?string $template = self::CLF)
{
$this->template = $template ?: self::CLF;
}
/**
* Returns a formatted message string.
*
- * @param RequestInterface $request Request that was sent
- * @param ResponseInterface $response Response that was received
- * @param \Exception $error Exception that was received
- *
- * @return string
+ * @param RequestInterface $request Request that was sent
+ * @param ResponseInterface|null $response Response that was received
+ * @param \Throwable|null $error Exception that was received
*/
- public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Exception $error = null)
+ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, \Throwable $error = null) : string
{
$cache = [];
+ /** @var string */
return \preg_replace_callback('/{\\s*([A-Za-z_\\-\\.0-9]+)\\s*}/', function (array $matches) use($request, $response, $error, &$cache) {
if (isset($cache[$matches[1]])) {
return $cache[$matches[1]];
@@ -70,10 +75,10 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque
$result = '';
switch ($matches[1]) {
case 'request':
- $result = \YoastSEO_Vendor\GuzzleHttp\Psr7\str($request);
+ $result = \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($request);
break;
case 'response':
- $result = $response ? \YoastSEO_Vendor\GuzzleHttp\Psr7\str($response) : '';
+ $result = $response ? \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::toString($response) : '';
break;
case 'req_headers':
$result = \trim($request->getMethod() . ' ' . $request->getRequestTarget()) . ' HTTP/' . $request->getProtocolVersion() . "\r\n" . $this->headers($request);
@@ -82,10 +87,19 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque
$result = $response ? \sprintf('HTTP/%s %d %s', $response->getProtocolVersion(), $response->getStatusCode(), $response->getReasonPhrase()) . "\r\n" . $this->headers($response) : 'NULL';
break;
case 'req_body':
- $result = $request->getBody();
+ $result = $request->getBody()->__toString();
break;
case 'res_body':
- $result = $response ? $response->getBody() : 'NULL';
+ if (!$response instanceof \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface) {
+ $result = 'NULL';
+ break;
+ }
+ $body = $response->getBody();
+ if (!$body->isSeekable()) {
+ $result = 'RESPONSE_NOT_LOGGEABLE';
+ break;
+ }
+ $result = $response->getBody()->__toString();
break;
case 'ts':
case 'date_iso_8601':
@@ -102,7 +116,7 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque
break;
case 'uri':
case 'url':
- $result = $request->getUri();
+ $result = $request->getUri()->__toString();
break;
case 'target':
$result = $request->getRequestTarget();
@@ -142,10 +156,8 @@ public function format(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $reque
}
/**
* Get headers from message as string
- *
- * @return string
*/
- private function headers(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message)
+ private function headers(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : string
{
$result = '';
foreach ($message->getHeaders() as $name => $values) {
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php
new file mode 100755
index 000000000..a5f80887d
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php
@@ -0,0 +1,17 @@
+withCookieHeader($request);
- return $handler($request, $options)->then(function ($response) use($cookieJar, $request) {
+ return $handler($request, $options)->then(static function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($cookieJar, $request) : ResponseInterface {
$cookieJar->extractCookies($request, $response);
return $response;
});
@@ -41,23 +42,25 @@ public static function cookies()
}
/**
* Middleware that throws exceptions for 4xx or 5xx responses when the
- * "http_error" request option is set to true.
+ * "http_errors" request option is set to true.
*
- * @return callable Returns a function that accepts the next handler.
+ * @param BodySummarizerInterface|null $bodySummarizer The body summarizer to use in exception messages.
+ *
+ * @return callable(callable): callable Returns a function that accepts the next handler.
*/
- public static function httpErrors()
+ public static function httpErrors(\YoastSEO_Vendor\GuzzleHttp\BodySummarizerInterface $bodySummarizer = null) : callable
{
- return function (callable $handler) {
- return function ($request, array $options) use($handler) {
+ return static function (callable $handler) use($bodySummarizer) : callable {
+ return static function ($request, array $options) use($handler, $bodySummarizer) {
if (empty($options['http_errors'])) {
return $handler($request, $options);
}
- return $handler($request, $options)->then(function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($request) {
+ return $handler($request, $options)->then(static function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($request, $bodySummarizer) {
$code = $response->getStatusCode();
if ($code < 400) {
return $response;
}
- throw \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::create($request, $response);
+ throw \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException::create($request, $response, null, [], $bodySummarizer);
});
};
};
@@ -65,24 +68,25 @@ public static function httpErrors()
/**
* Middleware that pushes history data to an ArrayAccess container.
*
- * @param array|\ArrayAccess $container Container to hold the history (by reference).
+ * @param array|\ArrayAccess $container Container to hold the history (by reference).
+ *
+ * @return callable(callable): callable Returns a function that accepts the next handler.
*
- * @return callable Returns a function that accepts the next handler.
* @throws \InvalidArgumentException if container is not an array or ArrayAccess.
*/
- public static function history(&$container)
+ public static function history(&$container) : callable
{
if (!\is_array($container) && !$container instanceof \ArrayAccess) {
throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess');
}
- return function (callable $handler) use(&$container) {
- return function ($request, array $options) use($handler, &$container) {
- return $handler($request, $options)->then(function ($value) use($request, &$container, $options) {
+ return static function (callable $handler) use(&$container) : callable {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, &$container) {
+ return $handler($request, $options)->then(static function ($value) use($request, &$container, $options) {
$container[] = ['request' => $request, 'response' => $value, 'error' => null, 'options' => $options];
return $value;
- }, function ($reason) use($request, &$container, $options) {
+ }, static function ($reason) use($request, &$container, $options) {
$container[] = ['request' => $request, 'response' => null, 'error' => $reason, 'options' => $options];
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason);
});
};
};
@@ -100,10 +104,10 @@ public static function history(&$container)
*
* @return callable Returns a function that accepts the next handler.
*/
- public static function tap(callable $before = null, callable $after = null)
+ public static function tap(callable $before = null, callable $after = null) : callable
{
- return function (callable $handler) use($before, $after) {
- return function ($request, array $options) use($handler, $before, $after) {
+ return static function (callable $handler) use($before, $after) : callable {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, $before, $after) {
if ($before) {
$before($request, $options);
}
@@ -120,9 +124,9 @@ public static function tap(callable $before = null, callable $after = null)
*
* @return callable Returns a function that accepts the next handler.
*/
- public static function redirect()
+ public static function redirect() : callable
{
- return function (callable $handler) {
+ return static function (callable $handler) : RedirectMiddleware {
return new \YoastSEO_Vendor\GuzzleHttp\RedirectMiddleware($handler);
};
}
@@ -141,9 +145,9 @@ public static function redirect()
*
* @return callable Returns a function that accepts the next handler.
*/
- public static function retry(callable $decider, callable $delay = null)
+ public static function retry(callable $decider, callable $delay = null) : callable
{
- return function (callable $handler) use($decider, $delay) {
+ return static function (callable $handler) use($decider, $delay) : RetryMiddleware {
return new \YoastSEO_Vendor\GuzzleHttp\RetryMiddleware($decider, $handler, $delay);
};
}
@@ -151,25 +155,31 @@ public static function retry(callable $decider, callable $delay = null)
* Middleware that logs requests, responses, and errors using a message
* formatter.
*
- * @param LoggerInterface $logger Logs messages.
- * @param MessageFormatter $formatter Formatter used to create message strings.
- * @param string $logLevel Level at which to log requests.
+ * @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests.
+ *
+ * @param LoggerInterface $logger Logs messages.
+ * @param MessageFormatterInterface|MessageFormatter $formatter Formatter used to create message strings.
+ * @param string $logLevel Level at which to log requests.
*
* @return callable Returns a function that accepts the next handler.
*/
- public static function log(\YoastSEO_Vendor\Psr\Log\LoggerInterface $logger, \YoastSEO_Vendor\GuzzleHttp\MessageFormatter $formatter, $logLevel = 'info')
+ public static function log(\YoastSEO_Vendor\Psr\Log\LoggerInterface $logger, $formatter, string $logLevel = 'info') : callable
{
- return function (callable $handler) use($logger, $formatter, $logLevel) {
- return function ($request, array $options) use($handler, $logger, $formatter, $logLevel) {
- return $handler($request, $options)->then(function ($response) use($logger, $request, $formatter, $logLevel) {
+ // To be compatible with Guzzle 7.1.x we need to allow users to pass a MessageFormatter
+ if (!$formatter instanceof \YoastSEO_Vendor\GuzzleHttp\MessageFormatter && !$formatter instanceof \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface) {
+ throw new \LogicException(\sprintf('Argument 2 to %s::log() must be of type %s', self::class, \YoastSEO_Vendor\GuzzleHttp\MessageFormatterInterface::class));
+ }
+ return static function (callable $handler) use($logger, $formatter, $logLevel) : callable {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options = []) use($handler, $logger, $formatter, $logLevel) {
+ return $handler($request, $options)->then(static function ($response) use($logger, $request, $formatter, $logLevel) : ResponseInterface {
$message = $formatter->format($request, $response);
$logger->log($logLevel, $message);
return $response;
- }, function ($reason) use($logger, $request, $formatter) {
+ }, static function ($reason) use($logger, $request, $formatter) : PromiseInterface {
$response = $reason instanceof \YoastSEO_Vendor\GuzzleHttp\Exception\RequestException ? $reason->getResponse() : null;
- $message = $formatter->format($request, $response, $reason);
- $logger->notice($message);
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason);
+ $message = $formatter->format($request, $response, \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($reason));
+ $logger->error($message);
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason);
});
};
};
@@ -177,12 +187,10 @@ public static function log(\YoastSEO_Vendor\Psr\Log\LoggerInterface $logger, \Yo
/**
* This middleware adds a default content-type if possible, a default
* content-length or transfer-encoding header, and the expect header.
- *
- * @return callable
*/
- public static function prepareBody()
+ public static function prepareBody() : callable
{
- return function (callable $handler) {
+ return static function (callable $handler) : PrepareBodyMiddleware {
return new \YoastSEO_Vendor\GuzzleHttp\PrepareBodyMiddleware($handler);
};
}
@@ -192,12 +200,11 @@ public static function prepareBody()
*
* @param callable $fn Function that accepts a RequestInterface and returns
* a RequestInterface.
- * @return callable
*/
- public static function mapRequest(callable $fn)
+ public static function mapRequest(callable $fn) : callable
{
- return function (callable $handler) use($fn) {
- return function ($request, array $options) use($handler, $fn) {
+ return static function (callable $handler) use($fn) : callable {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, $fn) {
return $handler($fn($request), $options);
};
};
@@ -208,12 +215,11 @@ public static function mapRequest(callable $fn)
*
* @param callable $fn Function that accepts a ResponseInterface and
* returns a ResponseInterface.
- * @return callable
*/
- public static function mapResponse(callable $fn)
+ public static function mapResponse(callable $fn) : callable
{
- return function (callable $handler) use($fn) {
- return function ($request, array $options) use($handler, $fn) {
+ return static function (callable $handler) use($fn) : callable {
+ return static function (\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) use($handler, $fn) {
return $handler($request, $options)->then($fn);
};
};
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php
index 020b9d056..80bb0dd90 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Pool.php
@@ -2,6 +2,7 @@
namespace YoastSEO_Vendor\GuzzleHttp;
+use YoastSEO_Vendor\GuzzleHttp\Promise as P;
use YoastSEO_Vendor\GuzzleHttp\Promise\EachPromise;
use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
use YoastSEO_Vendor\GuzzleHttp\Promise\PromisorInterface;
@@ -16,27 +17,28 @@
* When a function is yielded by the iterator, the function is provided the
* "request_options" array that should be merged on top of any existing
* options, and the function MUST then return a wait-able promise.
+ *
+ * @final
*/
class Pool implements \YoastSEO_Vendor\GuzzleHttp\Promise\PromisorInterface
{
- /** @var EachPromise */
+ /**
+ * @var EachPromise
+ */
private $each;
/**
* @param ClientInterface $client Client used to send the requests.
* @param array|\Iterator $requests Requests or functions that return
* requests to send concurrently.
* @param array $config Associative array of options
- * - concurrency: (int) Maximum number of requests to send concurrently
- * - options: Array of request options to apply to each request.
- * - fulfilled: (callable) Function to invoke when a request completes.
- * - rejected: (callable) Function to invoke when a request is rejected.
+ * - concurrency: (int) Maximum number of requests to send concurrently
+ * - options: Array of request options to apply to each request.
+ * - fulfilled: (callable) Function to invoke when a request completes.
+ * - rejected: (callable) Function to invoke when a request is rejected.
*/
public function __construct(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, $requests, array $config = [])
{
- // Backwards compatibility.
- if (isset($config['pool_size'])) {
- $config['concurrency'] = $config['pool_size'];
- } elseif (!isset($config['concurrency'])) {
+ if (!isset($config['concurrency'])) {
$config['concurrency'] = 25;
}
if (isset($config['options'])) {
@@ -45,15 +47,15 @@ public function __construct(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client,
} else {
$opts = [];
}
- $iterable = \YoastSEO_Vendor\GuzzleHttp\Promise\iter_for($requests);
- $requests = function () use($iterable, $client, $opts) {
+ $iterable = \YoastSEO_Vendor\GuzzleHttp\Promise\Create::iterFor($requests);
+ $requests = static function () use($iterable, $client, $opts) {
foreach ($iterable as $key => $rfn) {
if ($rfn instanceof \YoastSEO_Vendor\Psr\Http\Message\RequestInterface) {
(yield $key => $client->sendAsync($rfn, $opts));
} elseif (\is_callable($rfn)) {
(yield $key => $rfn($opts));
} else {
- throw new \InvalidArgumentException('Each value yielded by ' . 'the iterator must be a Psr7\\Http\\Message\\RequestInterface ' . 'or a callable that returns a promise that fulfills ' . 'with a Psr7\\Message\\Http\\ResponseInterface object.');
+ throw new \InvalidArgumentException('Each value yielded by the iterator must be a Psr7\\Http\\Message\\RequestInterface or a callable that returns a promise that fulfills with a Psr7\\Message\\Http\\ResponseInterface object.');
}
}
};
@@ -61,10 +63,8 @@ public function __construct(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client,
}
/**
* Get promise
- *
- * @return PromiseInterface
*/
- public function promise()
+ public function promise() : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return $this->each->promise();
}
@@ -79,13 +79,14 @@ public function promise()
* @param ClientInterface $client Client used to send the requests
* @param array|\Iterator $requests Requests to send concurrently.
* @param array $options Passes through the options available in
- * {@see GuzzleHttp\Pool::__construct}
+ * {@see \GuzzleHttp\Pool::__construct}
*
* @return array Returns an array containing the response or an exception
* in the same order that the requests were sent.
+ *
* @throws \InvalidArgumentException if the event format is incorrect.
*/
- public static function batch(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, $requests, array $options = [])
+ public static function batch(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client, $requests, array $options = []) : array
{
$res = [];
self::cmpCallback($options, 'fulfilled', $res);
@@ -97,18 +98,16 @@ public static function batch(\YoastSEO_Vendor\GuzzleHttp\ClientInterface $client
}
/**
* Execute callback(s)
- *
- * @return void
*/
- private static function cmpCallback(array &$options, $name, array &$results)
+ private static function cmpCallback(array &$options, string $name, array &$results) : void
{
if (!isset($options[$name])) {
- $options[$name] = function ($v, $k) use(&$results) {
+ $options[$name] = static function ($v, $k) use(&$results) {
$results[$k] = $v;
};
} else {
$currentFn = $options[$name];
- $options[$name] = function ($v, $k) use(&$results, $currentFn) {
+ $options[$name] = static function ($v, $k) use(&$results, $currentFn) {
$currentFn($v, $k);
$results[$k] = $v;
};
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
index 4d026f698..53072583a 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
@@ -3,30 +3,27 @@
namespace YoastSEO_Vendor\GuzzleHttp;
use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
-use YoastSEO_Vendor\GuzzleHttp\Psr7;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
/**
* Prepares requests that contain a body, adding the Content-Length,
* Content-Type, and Expect headers.
+ *
+ * @final
*/
class PrepareBodyMiddleware
{
- /** @var callable */
+ /**
+ * @var callable(RequestInterface, array): PromiseInterface
+ */
private $nextHandler;
/**
- * @param callable $nextHandler Next handler to invoke.
+ * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
*/
public function __construct(callable $nextHandler)
{
$this->nextHandler = $nextHandler;
}
- /**
- * @param RequestInterface $request
- * @param array $options
- *
- * @return PromiseInterface
- */
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$fn = $this->nextHandler;
// Don't do anything if the request has no body.
@@ -37,7 +34,7 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
// Add a default content-type if possible.
if (!$request->hasHeader('Content-Type')) {
if ($uri = $request->getBody()->getMetadata('uri')) {
- if ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\mimetype_from_filename($uri)) {
+ if (\is_string($uri) && ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($uri))) {
$modify['set_headers']['Content-Type'] = $type;
}
}
@@ -53,20 +50,18 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
}
// Add the expect header if needed.
$this->addExpectHeader($request, $options, $modify);
- return $fn(\YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify), $options);
+ return $fn(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify), $options);
}
/**
* Add expect header
- *
- * @return void
*/
- private function addExpectHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$modify)
+ private function addExpectHeader(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, array &$modify) : void
{
// Determine if the Expect header should be used
if ($request->hasHeader('Expect')) {
return;
}
- $expect = isset($options['expect']) ? $options['expect'] : null;
+ $expect = $options['expect'] ?? null;
// Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0
if ($expect === \false || $request->getProtocolVersion() < 1.1) {
return;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php
index e419c632c..fa5be3c74 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php
@@ -5,7 +5,6 @@
use YoastSEO_Vendor\GuzzleHttp\Exception\BadResponseException;
use YoastSEO_Vendor\GuzzleHttp\Exception\TooManyRedirectsException;
use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
-use YoastSEO_Vendor\GuzzleHttp\Psr7;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
use YoastSEO_Vendor\Psr\Http\Message\UriInterface;
@@ -14,28 +13,29 @@
*
* Apply this middleware like other middleware using
* {@see \GuzzleHttp\Middleware::redirect()}.
+ *
+ * @final
*/
class RedirectMiddleware
{
- const HISTORY_HEADER = 'X-Guzzle-Redirect-History';
- const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History';
+ public const HISTORY_HEADER = 'X-Guzzle-Redirect-History';
+ public const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History';
+ /**
+ * @var array
+ */
public static $defaultSettings = ['max' => 5, 'protocols' => ['http', 'https'], 'strict' => \false, 'referer' => \false, 'track_redirects' => \false];
- /** @var callable */
+ /**
+ * @var callable(RequestInterface, array): PromiseInterface
+ */
private $nextHandler;
/**
- * @param callable $nextHandler Next handler to invoke.
+ * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
*/
public function __construct(callable $nextHandler)
{
$this->nextHandler = $nextHandler;
}
- /**
- * @param RequestInterface $request
- * @param array $options
- *
- * @return PromiseInterface
- */
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$fn = $this->nextHandler;
if (empty($options['allow_redirects'])) {
@@ -57,27 +57,22 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
});
}
/**
- * @param RequestInterface $request
- * @param array $options
- * @param ResponseInterface $response
- *
* @return ResponseInterface|PromiseInterface
*/
public function checkRedirect(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response)
{
- if (\substr($response->getStatusCode(), 0, 1) != '3' || !$response->hasHeader('Location')) {
+ if (\strpos((string) $response->getStatusCode(), '3') !== 0 || !$response->hasHeader('Location')) {
return $response;
}
- $this->guardMax($request, $options);
+ $this->guardMax($request, $response, $options);
$nextRequest = $this->modifyRequest($request, $options, $response);
// If authorization is handled by curl, unset it if URI is cross-origin.
if (\YoastSEO_Vendor\GuzzleHttp\Psr7\UriComparator::isCrossOrigin($request->getUri(), $nextRequest->getUri()) && \defined('\\CURLOPT_HTTPAUTH')) {
unset($options['curl'][\CURLOPT_HTTPAUTH], $options['curl'][\CURLOPT_USERPWD]);
}
if (isset($options['allow_redirects']['on_redirect'])) {
- \call_user_func($options['allow_redirects']['on_redirect'], $request, $response, $nextRequest->getUri());
+ $options['allow_redirects']['on_redirect']($request, $response, $nextRequest->getUri());
}
- /** @var PromiseInterface|ResponseInterface $promise */
$promise = $this($nextRequest, $options);
// Add headers to be able to track history of redirects.
if (!empty($options['allow_redirects']['track_redirects'])) {
@@ -87,46 +82,35 @@ public function checkRedirect(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
}
/**
* Enable tracking on promise.
- *
- * @return PromiseInterface
*/
- private function withTracking(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise, $uri, $statusCode)
+ private function withTracking(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise, string $uri, int $statusCode) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
- return $promise->then(function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($uri, $statusCode) {
+ return $promise->then(static function (\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) use($uri, $statusCode) {
// Note that we are pushing to the front of the list as this
// would be an earlier response than what is currently present
// in the history header.
$historyHeader = $response->getHeader(self::HISTORY_HEADER);
$statusHeader = $response->getHeader(self::STATUS_HISTORY_HEADER);
\array_unshift($historyHeader, $uri);
- \array_unshift($statusHeader, $statusCode);
+ \array_unshift($statusHeader, (string) $statusCode);
return $response->withHeader(self::HISTORY_HEADER, $historyHeader)->withHeader(self::STATUS_HISTORY_HEADER, $statusHeader);
});
}
/**
* Check for too many redirects.
*
- * @return void
- *
* @throws TooManyRedirectsException Too many redirects.
*/
- private function guardMax(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array &$options)
+ private function guardMax(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, array &$options) : void
{
- $current = isset($options['__redirect_count']) ? $options['__redirect_count'] : 0;
+ $current = $options['__redirect_count'] ?? 0;
$options['__redirect_count'] = $current + 1;
$max = $options['allow_redirects']['max'];
if ($options['__redirect_count'] > $max) {
- throw new \YoastSEO_Vendor\GuzzleHttp\Exception\TooManyRedirectsException("Will not follow more than {$max} redirects", $request);
+ throw new \YoastSEO_Vendor\GuzzleHttp\Exception\TooManyRedirectsException("Will not follow more than {$max} redirects", $request, $response);
}
}
- /**
- * @param RequestInterface $request
- * @param array $options
- * @param ResponseInterface $response
- *
- * @return RequestInterface
- */
- public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response)
+ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
// Request modifications to apply.
$modify = [];
@@ -136,7 +120,9 @@ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
// would do.
$statusCode = $response->getStatusCode();
if ($statusCode == 303 || $statusCode <= 302 && !$options['allow_redirects']['strict']) {
- $modify['method'] = 'GET';
+ $safeMethods = ['GET', 'HEAD', 'OPTIONS'];
+ $requestMethod = $request->getMethod();
+ $modify['method'] = \in_array($requestMethod, $safeMethods) ? $requestMethod : 'GET';
$modify['body'] = '';
}
$uri = self::redirectUri($request, $response, $protocols);
@@ -145,7 +131,7 @@ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
$uri = \YoastSEO_Vendor\GuzzleHttp\Utils::idnUriConvert($uri, $idnOptions);
}
$modify['uri'] = $uri;
- \YoastSEO_Vendor\GuzzleHttp\Psr7\rewind_body($request);
+ \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::rewindBody($request);
// Add the Referer header if it is told to do so and only
// add the header if we are not redirecting from https to http.
if ($options['allow_redirects']['referer'] && $modify['uri']->getScheme() === $request->getUri()->getScheme()) {
@@ -159,18 +145,12 @@ public function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface
$modify['remove_headers'][] = 'Authorization';
$modify['remove_headers'][] = 'Cookie';
}
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify);
+ return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify);
}
/**
* Set the appropriate URL on the request based on the location header.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
- * @param array $protocols
- *
- * @return UriInterface
*/
- private static function redirectUri(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, array $protocols)
+ private static function redirectUri(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response, array $protocols) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$location = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve($request->getUri(), new \YoastSEO_Vendor\GuzzleHttp\Psr7\Uri($response->getHeaderLine('Location')));
// Ensure that the redirect URI is allowed based on the protocols.
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php
index f5ed9a118..6cdc584e8 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RequestOptions.php
@@ -7,7 +7,7 @@
*
* More documentation for each option can be found at http://guzzlephp.org/.
*
- * @link http://docs.guzzlephp.org/en/v6/request-options.html
+ * @see http://docs.guzzlephp.org/en/v6/request-options.html
*/
final class RequestOptions
{
@@ -32,7 +32,7 @@ final class RequestOptions
* response that was received, and the effective URI. Any return value
* from the on_redirect function is ignored.
*/
- const ALLOW_REDIRECTS = 'allow_redirects';
+ public const ALLOW_REDIRECTS = 'allow_redirects';
/**
* auth: (array) Pass an array of HTTP authentication parameters to use
* with the request. The array must contain the username in index [0],
@@ -40,12 +40,12 @@ final class RequestOptions
* authentication type in index [2]. Pass null to disable authentication
* for a request.
*/
- const AUTH = 'auth';
+ public const AUTH = 'auth';
/**
* body: (resource|string|null|int|float|StreamInterface|callable|\Iterator)
* Body to send in the request.
*/
- const BODY = 'body';
+ public const BODY = 'body';
/**
* cert: (string|array) Set to a string to specify the path to a file
* containing a PEM formatted SSL client side certificate. If a password
@@ -53,37 +53,48 @@ final class RequestOptions
* file in the first array element followed by the certificate password
* in the second array element.
*/
- const CERT = 'cert';
+ public const CERT = 'cert';
/**
* cookies: (bool|GuzzleHttp\Cookie\CookieJarInterface, default=false)
* Specifies whether or not cookies are used in a request or what cookie
* jar to use or what cookies to send. This option only works if your
* handler has the `cookie` middleware. Valid values are `false` and
- * an instance of {@see GuzzleHttp\Cookie\CookieJarInterface}.
+ * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.
*/
- const COOKIES = 'cookies';
+ public const COOKIES = 'cookies';
/**
* connect_timeout: (float, default=0) Float describing the number of
* seconds to wait while trying to connect to a server. Use 0 to wait
- * indefinitely (the default behavior).
+ * 300 seconds (the default behavior).
*/
- const CONNECT_TIMEOUT = 'connect_timeout';
+ public const CONNECT_TIMEOUT = 'connect_timeout';
+ /**
+ * crypto_method: (int) A value describing the minimum TLS protocol
+ * version to use.
+ *
+ * This setting must be set to one of the
+ * ``STREAM_CRYPTO_METHOD_TLS*_CLIENT`` constants. PHP 7.4 or higher is
+ * required in order to use TLS 1.3, and cURL 7.34.0 or higher is required
+ * in order to specify a crypto method, with cURL 7.52.0 or higher being
+ * required to use TLS 1.3.
+ */
+ public const CRYPTO_METHOD = 'crypto_method';
/**
* debug: (bool|resource) Set to true or set to a PHP stream returned by
* fopen() enable debug output with the HTTP handler used to send a
* request.
*/
- const DEBUG = 'debug';
+ public const DEBUG = 'debug';
/**
* decode_content: (bool, default=true) Specify whether or not
* Content-Encoding responses (gzip, deflate, etc.) are automatically
* decoded.
*/
- const DECODE_CONTENT = 'decode_content';
+ public const DECODE_CONTENT = 'decode_content';
/**
* delay: (int) The amount of time to delay before sending in milliseconds.
*/
- const DELAY = 'delay';
+ public const DELAY = 'delay';
/**
* expect: (bool|integer) Controls the behavior of the
* "Expect: 100-Continue" header.
@@ -100,39 +111,39 @@ final class RequestOptions
* size of the body of a request is greater than 1 MB and a request is
* using HTTP/1.1.
*/
- const EXPECT = 'expect';
+ public const EXPECT = 'expect';
/**
* form_params: (array) Associative array of form field names to values
* where each value is a string or array of strings. Sets the Content-Type
* header to application/x-www-form-urlencoded when no Content-Type header
* is already present.
*/
- const FORM_PARAMS = 'form_params';
+ public const FORM_PARAMS = 'form_params';
/**
* headers: (array) Associative array of HTTP headers. Each value MUST be
* a string or array of strings.
*/
- const HEADERS = 'headers';
+ public const HEADERS = 'headers';
/**
* http_errors: (bool, default=true) Set to false to disable exceptions
* when a non- successful HTTP response is received. By default,
* exceptions will be thrown for 4xx and 5xx responses. This option only
* works if your handler has the `httpErrors` middleware.
*/
- const HTTP_ERRORS = 'http_errors';
+ public const HTTP_ERRORS = 'http_errors';
/**
* idn: (bool|int, default=true) A combination of IDNA_* constants for
* idn_to_ascii() PHP's function (see "options" parameter). Set to false to
* disable IDN support completely, or to true to use the default
* configuration (IDNA_DEFAULT constant).
*/
- const IDN_CONVERSION = 'idn_conversion';
+ public const IDN_CONVERSION = 'idn_conversion';
/**
* json: (mixed) Adds JSON data to a request. The provided value is JSON
* encoded and a Content-Type header of application/json will be added to
* the request if no Content-Type header is already present.
*/
- const JSON = 'json';
+ public const JSON = 'json';
/**
* multipart: (array) Array of associative arrays, each containing a
* required "name" key mapping to the form field, name, a required
@@ -142,13 +153,13 @@ final class RequestOptions
* the part. If no "filename" key is present, then no "filename" attribute
* will be added to the part.
*/
- const MULTIPART = 'multipart';
+ public const MULTIPART = 'multipart';
/**
* on_headers: (callable) A callable that is invoked when the HTTP headers
* of the response have been received but the body has not yet begun to
* download.
*/
- const ON_HEADERS = 'on_headers';
+ public const ON_HEADERS = 'on_headers';
/**
* on_stats: (callable) allows you to get access to transfer statistics of
* a request and access the lower level transfer details of the handler
@@ -158,7 +169,7 @@ final class RequestOptions
* the error encountered. Included in the data is the total amount of time
* taken to send the request.
*/
- const ON_STATS = 'on_stats';
+ public const ON_STATS = 'on_stats';
/**
* progress: (callable) Defines a function to invoke when transfer
* progress is made. The function accepts the following positional
@@ -166,45 +177,45 @@ final class RequestOptions
* number of bytes downloaded so far, the number of bytes expected to be
* uploaded, the number of bytes uploaded so far.
*/
- const PROGRESS = 'progress';
+ public const PROGRESS = 'progress';
/**
* proxy: (string|array) Pass a string to specify an HTTP proxy, or an
* array to specify different proxies for different protocols (where the
* key is the protocol and the value is a proxy string).
*/
- const PROXY = 'proxy';
+ public const PROXY = 'proxy';
/**
* query: (array|string) Associative array of query string values to add
* to the request. This option uses PHP's http_build_query() to create
* the string representation. Pass a string value if you need more
* control than what this method provides
*/
- const QUERY = 'query';
+ public const QUERY = 'query';
/**
* sink: (resource|string|StreamInterface) Where the data of the
* response is written to. Defaults to a PHP temp stream. Providing a
* string will write data to a file by the given name.
*/
- const SINK = 'sink';
+ public const SINK = 'sink';
/**
* synchronous: (bool) Set to true to inform HTTP handlers that you intend
* on waiting on the response. This can be useful for optimizations. Note
* that a promise is still returned if you are using one of the async
* client methods.
*/
- const SYNCHRONOUS = 'synchronous';
+ public const SYNCHRONOUS = 'synchronous';
/**
* ssl_key: (array|string) Specify the path to a file containing a private
* SSL key in PEM format. If a password is required, then set to an array
* containing the path to the SSL key in the first array element followed
* by the password required for the certificate in the second element.
*/
- const SSL_KEY = 'ssl_key';
+ public const SSL_KEY = 'ssl_key';
/**
* stream: Set to true to attempt to stream a response rather than
* download it all up-front.
*/
- const STREAM = 'stream';
+ public const STREAM = 'stream';
/**
* verify: (bool|string, default=true) Describes the SSL certificate
* verification behavior of a request. Set to true to enable SSL
@@ -213,23 +224,23 @@ final class RequestOptions
* is insecure!). Set to a string to provide the path to a CA bundle on
* disk to enable verification using a custom certificate.
*/
- const VERIFY = 'verify';
+ public const VERIFY = 'verify';
/**
* timeout: (float, default=0) Float describing the timeout of the
* request in seconds. Use 0 to wait indefinitely (the default behavior).
*/
- const TIMEOUT = 'timeout';
+ public const TIMEOUT = 'timeout';
/**
* read_timeout: (float, default=default_socket_timeout ini setting) Float describing
* the body read timeout, for stream requests.
*/
- const READ_TIMEOUT = 'read_timeout';
+ public const READ_TIMEOUT = 'read_timeout';
/**
* version: (float) Specifies the HTTP protocol version to attempt to use.
*/
- const VERSION = 'version';
+ public const VERSION = 'version';
/**
* force_ip_resolve: (bool) Force client to use only ipv4 or ipv6 protocol
*/
- const FORCE_IP_RESOLVE = 'force_ip_resolve';
+ public const FORCE_IP_RESOLVE = 'force_ip_resolve';
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php
index b7abab172..717da9e59 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php
@@ -2,32 +2,39 @@
namespace YoastSEO_Vendor\GuzzleHttp;
+use YoastSEO_Vendor\GuzzleHttp\Promise as P;
use YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface;
-use YoastSEO_Vendor\GuzzleHttp\Promise\RejectedPromise;
-use YoastSEO_Vendor\GuzzleHttp\Psr7;
use YoastSEO_Vendor\Psr\Http\Message\RequestInterface;
use YoastSEO_Vendor\Psr\Http\Message\ResponseInterface;
/**
* Middleware that retries requests based on the boolean result of
* invoking the provided "decider" function.
+ *
+ * @final
*/
class RetryMiddleware
{
- /** @var callable */
+ /**
+ * @var callable(RequestInterface, array): PromiseInterface
+ */
private $nextHandler;
- /** @var callable */
+ /**
+ * @var callable
+ */
private $decider;
- /** @var callable */
+ /**
+ * @var callable(int)
+ */
private $delay;
/**
- * @param callable $decider Function that accepts the number of retries,
- * a request, [response], and [exception] and
- * returns true if the request is to be
- * retried.
- * @param callable $nextHandler Next handler to invoke.
- * @param callable $delay Function that accepts the number of retries
- * and [response] and returns the number of
- * milliseconds to delay.
+ * @param callable $decider Function that accepts the number of retries,
+ * a request, [response], and [exception] and
+ * returns true if the request is to be
+ * retried.
+ * @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
+ * @param (callable(int): int)|null $delay Function that accepts the number of retries
+ * and returns the number of
+ * milliseconds to delay.
*/
public function __construct(callable $decider, callable $nextHandler, callable $delay = null)
{
@@ -38,21 +45,13 @@ public function __construct(callable $decider, callable $nextHandler, callable $
/**
* Default exponential backoff delay function.
*
- * @param int $retries
- *
* @return int milliseconds.
*/
- public static function exponentialDelay($retries)
+ public static function exponentialDelay(int $retries) : int
{
- return (int) \pow(2, $retries - 1) * 1000;
+ return (int) 2 ** ($retries - 1) * 1000;
}
- /**
- * @param RequestInterface $request
- * @param array $options
- *
- * @return PromiseInterface
- */
- public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
+ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if (!isset($options['retries'])) {
$options['retries'] = 0;
@@ -62,38 +61,31 @@ public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req
}
/**
* Execute fulfilled closure
- *
- * @return mixed
*/
- private function onFulfilled(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req, array $options)
+ private function onFulfilled(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options) : callable
{
- return function ($value) use($req, $options) {
- if (!\call_user_func($this->decider, $options['retries'], $req, $value, null)) {
+ return function ($value) use($request, $options) {
+ if (!($this->decider)($options['retries'], $request, $value, null)) {
return $value;
}
- return $this->doRetry($req, $options, $value);
+ return $this->doRetry($request, $options, $value);
};
}
/**
* Execute rejected closure
- *
- * @return callable
*/
- private function onRejected(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req, array $options)
+ private function onRejected(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $req, array $options) : callable
{
return function ($reason) use($req, $options) {
- if (!\call_user_func($this->decider, $options['retries'], $req, null, $reason)) {
- return \YoastSEO_Vendor\GuzzleHttp\Promise\rejection_for($reason);
+ if (!($this->decider)($options['retries'], $req, null, $reason)) {
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason);
}
return $this->doRetry($req, $options);
};
}
- /**
- * @return self
- */
- private function doRetry(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null)
+ private function doRetry(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
- $options['delay'] = \call_user_func($this->delay, ++$options['retries'], $response);
+ $options['delay'] = ($this->delay)(++$options['retries'], $response, $request);
return $this($request, $options);
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php
index feafb69ca..f293e07a7 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/TransferStats.php
@@ -11,10 +11,25 @@
*/
final class TransferStats
{
+ /**
+ * @var RequestInterface
+ */
private $request;
+ /**
+ * @var ResponseInterface|null
+ */
private $response;
+ /**
+ * @var float|null
+ */
private $transferTime;
+ /**
+ * @var array
+ */
private $handlerStats;
+ /**
+ * @var mixed|null
+ */
private $handlerErrorData;
/**
* @param RequestInterface $request Request that was sent.
@@ -23,7 +38,7 @@ final class TransferStats
* @param mixed $handlerErrorData Handler error data.
* @param array $handlerStats Handler specific stats.
*/
- public function __construct(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, $transferTime = null, $handlerErrorData = null, $handlerStats = [])
+ public function __construct(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response = null, float $transferTime = null, $handlerErrorData = null, array $handlerStats = [])
{
$this->request = $request;
$this->response = $response;
@@ -31,28 +46,21 @@ public function __construct(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $
$this->handlerErrorData = $handlerErrorData;
$this->handlerStats = $handlerStats;
}
- /**
- * @return RequestInterface
- */
- public function getRequest()
+ public function getRequest() : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
return $this->request;
}
/**
* Returns the response that was received (if any).
- *
- * @return ResponseInterface|null
*/
- public function getResponse()
+ public function getResponse() : ?\YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
{
return $this->response;
}
/**
* Returns true if a response was received.
- *
- * @return bool
*/
- public function hasResponse()
+ public function hasResponse() : bool
{
return $this->response !== null;
}
@@ -71,10 +79,8 @@ public function getHandlerErrorData()
}
/**
* Get the effective URI the request was sent to.
- *
- * @return UriInterface
*/
- public function getEffectiveUri()
+ public function getEffectiveUri() : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
return $this->request->getUri();
}
@@ -83,16 +89,14 @@ public function getEffectiveUri()
*
* @return float|null Time in seconds.
*/
- public function getTransferTime()
+ public function getTransferTime() : ?float
{
return $this->transferTime;
}
/**
* Gets an array of all of the handler specific transfer data.
- *
- * @return array
*/
- public function getHandlerStats()
+ public function getHandlerStats() : array
{
return $this->handlerStats;
}
@@ -103,8 +107,8 @@ public function getHandlerStats()
*
* @return mixed|null
*/
- public function getHandlerStat($stat)
+ public function getHandlerStat(string $stat)
{
- return isset($this->handlerStats[$stat]) ? $this->handlerStats[$stat] : null;
+ return $this->handlerStats[$stat] ?? null;
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php
deleted file mode 100755
index 4e94678aa..000000000
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/UriTemplate.php
+++ /dev/null
@@ -1,191 +0,0 @@
- ['prefix' => '', 'joiner' => ',', 'query' => \false], '+' => ['prefix' => '', 'joiner' => ',', 'query' => \false], '#' => ['prefix' => '#', 'joiner' => ',', 'query' => \false], '.' => ['prefix' => '.', 'joiner' => '.', 'query' => \false], '/' => ['prefix' => '/', 'joiner' => '/', 'query' => \false], ';' => ['prefix' => ';', 'joiner' => ';', 'query' => \true], '?' => ['prefix' => '?', 'joiner' => '&', 'query' => \true], '&' => ['prefix' => '&', 'joiner' => '&', 'query' => \true]];
- /** @var array Delimiters */
- private static $delims = [':', '/', '?', '#', '[', ']', '@', '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '='];
- /** @var array Percent encoded delimiters */
- private static $delimsPct = ['%3A', '%2F', '%3F', '%23', '%5B', '%5D', '%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', '%3B', '%3D'];
- public function expand($template, array $variables)
- {
- if (\false === \strpos($template, '{')) {
- return $template;
- }
- $this->template = $template;
- $this->variables = $variables;
- return \preg_replace_callback('/\\{([^\\}]+)\\}/', [$this, 'expandMatch'], $this->template);
- }
- /**
- * Parse an expression into parts
- *
- * @param string $expression Expression to parse
- *
- * @return array Returns an associative array of parts
- */
- private function parseExpression($expression)
- {
- $result = [];
- if (isset(self::$operatorHash[$expression[0]])) {
- $result['operator'] = $expression[0];
- $expression = \substr($expression, 1);
- } else {
- $result['operator'] = '';
- }
- foreach (\explode(',', $expression) as $value) {
- $value = \trim($value);
- $varspec = [];
- if ($colonPos = \strpos($value, ':')) {
- $varspec['value'] = \substr($value, 0, $colonPos);
- $varspec['modifier'] = ':';
- $varspec['position'] = (int) \substr($value, $colonPos + 1);
- } elseif (\substr($value, -1) === '*') {
- $varspec['modifier'] = '*';
- $varspec['value'] = \substr($value, 0, -1);
- } else {
- $varspec['value'] = (string) $value;
- $varspec['modifier'] = '';
- }
- $result['values'][] = $varspec;
- }
- return $result;
- }
- /**
- * Process an expansion
- *
- * @param array $matches Matches met in the preg_replace_callback
- *
- * @return string Returns the replacement string
- */
- private function expandMatch(array $matches)
- {
- static $rfc1738to3986 = ['+' => '%20', '%7e' => '~'];
- $replacements = [];
- $parsed = self::parseExpression($matches[1]);
- $prefix = self::$operatorHash[$parsed['operator']]['prefix'];
- $joiner = self::$operatorHash[$parsed['operator']]['joiner'];
- $useQuery = self::$operatorHash[$parsed['operator']]['query'];
- foreach ($parsed['values'] as $value) {
- if (!isset($this->variables[$value['value']])) {
- continue;
- }
- $variable = $this->variables[$value['value']];
- $actuallyUseQuery = $useQuery;
- $expanded = '';
- if (\is_array($variable)) {
- $isAssoc = $this->isAssoc($variable);
- $kvp = [];
- foreach ($variable as $key => $var) {
- if ($isAssoc) {
- $key = \rawurlencode($key);
- $isNestedArray = \is_array($var);
- } else {
- $isNestedArray = \false;
- }
- if (!$isNestedArray) {
- $var = \rawurlencode($var);
- if ($parsed['operator'] === '+' || $parsed['operator'] === '#') {
- $var = $this->decodeReserved($var);
- }
- }
- if ($value['modifier'] === '*') {
- if ($isAssoc) {
- if ($isNestedArray) {
- // Nested arrays must allow for deeply nested
- // structures.
- $var = \strtr(\http_build_query([$key => $var]), $rfc1738to3986);
- } else {
- $var = $key . '=' . $var;
- }
- } elseif ($key > 0 && $actuallyUseQuery) {
- $var = $value['value'] . '=' . $var;
- }
- }
- $kvp[$key] = $var;
- }
- if (empty($variable)) {
- $actuallyUseQuery = \false;
- } elseif ($value['modifier'] === '*') {
- $expanded = \implode($joiner, $kvp);
- if ($isAssoc) {
- // Don't prepend the value name when using the explode
- // modifier with an associative array.
- $actuallyUseQuery = \false;
- }
- } else {
- if ($isAssoc) {
- // When an associative array is encountered and the
- // explode modifier is not set, then the result must be
- // a comma separated list of keys followed by their
- // respective values.
- foreach ($kvp as $k => &$v) {
- $v = $k . ',' . $v;
- }
- }
- $expanded = \implode(',', $kvp);
- }
- } else {
- if ($value['modifier'] === ':') {
- $variable = \substr($variable, 0, $value['position']);
- }
- $expanded = \rawurlencode($variable);
- if ($parsed['operator'] === '+' || $parsed['operator'] === '#') {
- $expanded = $this->decodeReserved($expanded);
- }
- }
- if ($actuallyUseQuery) {
- if (!$expanded && $joiner !== '&') {
- $expanded = $value['value'];
- } else {
- $expanded = $value['value'] . '=' . $expanded;
- }
- }
- $replacements[] = $expanded;
- }
- $ret = \implode($joiner, $replacements);
- if ($ret && $prefix) {
- return $prefix . $ret;
- }
- return $ret;
- }
- /**
- * Determines if an array is associative.
- *
- * This makes the assumption that input arrays are sequences or hashes.
- * This assumption is a tradeoff for accuracy in favor of speed, but it
- * should work in almost every case where input is supplied for a URI
- * template.
- *
- * @param array $array Array to check
- *
- * @return bool
- */
- private function isAssoc(array $array)
- {
- return $array && \array_keys($array)[0] !== 0;
- }
- /**
- * Removes percent encoding on reserved characters (used with + and #
- * modifiers).
- *
- * @param string $string String to fix
- *
- * @return string
- */
- private function decodeReserved($string)
- {
- return \str_replace(self::$delimsPct, self::$delims, $string);
- }
-}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php
index a4285d094..fa575bbd6 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Utils.php
@@ -3,37 +3,296 @@
namespace YoastSEO_Vendor\GuzzleHttp;
use YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException;
+use YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler;
+use YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler;
+use YoastSEO_Vendor\GuzzleHttp\Handler\Proxy;
+use YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler;
use YoastSEO_Vendor\Psr\Http\Message\UriInterface;
-use YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn;
final class Utils
{
+ /**
+ * Debug function used to describe the provided value type and class.
+ *
+ * @param mixed $input
+ *
+ * @return string Returns a string containing the type of the variable and
+ * if a class is provided, the class name.
+ */
+ public static function describeType($input) : string
+ {
+ switch (\gettype($input)) {
+ case 'object':
+ return 'object(' . \get_class($input) . ')';
+ case 'array':
+ return 'array(' . \count($input) . ')';
+ default:
+ \ob_start();
+ \var_dump($input);
+ // normalize float vs double
+ /** @var string $varDumpContent */
+ $varDumpContent = \ob_get_clean();
+ return \str_replace('double(', 'float(', \rtrim($varDumpContent));
+ }
+ }
+ /**
+ * Parses an array of header lines into an associative array of headers.
+ *
+ * @param iterable $lines Header lines array of strings in the following
+ * format: "Name: Value"
+ */
+ public static function headersFromLines(iterable $lines) : array
+ {
+ $headers = [];
+ foreach ($lines as $line) {
+ $parts = \explode(':', $line, 2);
+ $headers[\trim($parts[0])][] = isset($parts[1]) ? \trim($parts[1]) : null;
+ }
+ return $headers;
+ }
+ /**
+ * Returns a debug stream based on the provided variable.
+ *
+ * @param mixed $value Optional value
+ *
+ * @return resource
+ */
+ public static function debugResource($value = null)
+ {
+ if (\is_resource($value)) {
+ return $value;
+ }
+ if (\defined('STDOUT')) {
+ return \STDOUT;
+ }
+ return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');
+ }
+ /**
+ * Chooses and creates a default handler to use based on the environment.
+ *
+ * The returned handler is not wrapped by any default middlewares.
+ *
+ * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.
+ *
+ * @throws \RuntimeException if no viable Handler is available.
+ */
+ public static function chooseHandler() : callable
+ {
+ $handler = null;
+ if (\defined('CURLOPT_CUSTOMREQUEST')) {
+ if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
+ $handler = \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapSync(new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler(), new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler());
+ } elseif (\function_exists('curl_exec')) {
+ $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler();
+ } elseif (\function_exists('curl_multi_exec')) {
+ $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler();
+ }
+ }
+ if (\ini_get('allow_url_fopen')) {
+ $handler = $handler ? \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapStreaming($handler, new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler()) : new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler();
+ } elseif (!$handler) {
+ throw new \RuntimeException('GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler.');
+ }
+ return $handler;
+ }
+ /**
+ * Get the default User-Agent string to use with Guzzle.
+ */
+ public static function defaultUserAgent() : string
+ {
+ return \sprintf('GuzzleHttp/%d', \YoastSEO_Vendor\GuzzleHttp\ClientInterface::MAJOR_VERSION);
+ }
+ /**
+ * Returns the default cacert bundle for the current system.
+ *
+ * First, the openssl.cafile and curl.cainfo php.ini settings are checked.
+ * If those settings are not configured, then the common locations for
+ * bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X
+ * and Windows are checked. If any of these file locations are found on
+ * disk, they will be utilized.
+ *
+ * Note: the result of this function is cached for subsequent calls.
+ *
+ * @throws \RuntimeException if no bundle can be found.
+ *
+ * @deprecated Utils::defaultCaBundle will be removed in guzzlehttp/guzzle:8.0. This method is not needed in PHP 5.6+.
+ */
+ public static function defaultCaBundle() : string
+ {
+ static $cached = null;
+ static $cafiles = [
+ // Red Hat, CentOS, Fedora (provided by the ca-certificates package)
+ '/etc/pki/tls/certs/ca-bundle.crt',
+ // Ubuntu, Debian (provided by the ca-certificates package)
+ '/etc/ssl/certs/ca-certificates.crt',
+ // FreeBSD (provided by the ca_root_nss package)
+ '/usr/local/share/certs/ca-root-nss.crt',
+ // SLES 12 (provided by the ca-certificates package)
+ '/var/lib/ca-certificates/ca-bundle.pem',
+ // OS X provided by homebrew (using the default path)
+ '/usr/local/etc/openssl/cert.pem',
+ // Google app engine
+ '/etc/ca-certificates.crt',
+ // Windows?
+ 'C:\\windows\\system32\\curl-ca-bundle.crt',
+ 'C:\\windows\\curl-ca-bundle.crt',
+ ];
+ if ($cached) {
+ return $cached;
+ }
+ if ($ca = \ini_get('openssl.cafile')) {
+ return $cached = $ca;
+ }
+ if ($ca = \ini_get('curl.cainfo')) {
+ return $cached = $ca;
+ }
+ foreach ($cafiles as $filename) {
+ if (\file_exists($filename)) {
+ return $cached = $filename;
+ }
+ }
+ throw new \RuntimeException(<<getHost()) {
$asciiHost = self::idnToAsci($uri->getHost(), $options, $info);
if ($asciiHost === \false) {
- $errorBitSet = isset($info['errors']) ? $info['errors'] : 0;
- $errorConstants = \array_filter(\array_keys(\get_defined_constants()), function ($name) {
+ $errorBitSet = $info['errors'] ?? 0;
+ $errorConstants = \array_filter(\array_keys(\get_defined_constants()), static function (string $name) : bool {
return \substr($name, 0, 11) === 'IDNA_ERROR_';
});
$errors = [];
@@ -47,36 +306,35 @@ public static function idnUriConvert(\YoastSEO_Vendor\Psr\Http\Message\UriInterf
$errorMessage .= ' (errors: ' . \implode(', ', $errors) . ')';
}
throw new \YoastSEO_Vendor\GuzzleHttp\Exception\InvalidArgumentException($errorMessage);
- } else {
- if ($uri->getHost() !== $asciiHost) {
- // Replace URI only if the ASCII version is different
- $uri = $uri->withHost($asciiHost);
- }
+ }
+ if ($uri->getHost() !== $asciiHost) {
+ // Replace URI only if the ASCII version is different
+ $uri = $uri->withHost($asciiHost);
}
}
return $uri;
}
/**
- * @param string $domain
- * @param int $options
- * @param array $info
- *
- * @return string|false
+ * @internal
*/
- private static function idnToAsci($domain, $options, &$info = [])
+ public static function getenv(string $name) : ?string
{
- if (\preg_match('%^[ -~]+$%', $domain) === 1) {
- return $domain;
+ if (isset($_SERVER[$name])) {
+ return (string) $_SERVER[$name];
}
- if (\extension_loaded('intl') && \defined('INTL_IDNA_VARIANT_UTS46')) {
- return \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $info);
+ if (\PHP_SAPI === 'cli' && ($value = \getenv($name)) !== \false && $value !== null) {
+ return (string) $value;
}
- /*
- * The Idn class is marked as @internal. Verify that class and method exists.
- */
- if (\method_exists(\YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn::class, 'idn_to_ascii')) {
- return \YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn::idn_to_ascii($domain, $options, \YoastSEO_Vendor\Symfony\Polyfill\Intl\Idn\Idn::INTL_IDNA_VARIANT_UTS46, $info);
+ return null;
+ }
+ /**
+ * @return string|false
+ */
+ private static function idnToAsci(string $domain, int $options, ?array &$info = [])
+ {
+ if (\function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46')) {
+ return \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $info);
}
- throw new \RuntimeException('ext-intl or symfony/polyfill-intl-idn not loaded or too old');
+ throw new \Error('ext-idn or symfony/polyfill-intl-idn not loaded or too old');
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php
index 0374ef013..42c83bf99 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/functions.php
@@ -2,68 +2,32 @@
namespace YoastSEO_Vendor\GuzzleHttp;
-use YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler;
-use YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler;
-use YoastSEO_Vendor\GuzzleHttp\Handler\Proxy;
-use YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler;
-/**
- * Expands a URI template
- *
- * @param string $template URI template
- * @param array $variables Template variables
- *
- * @return string
- */
-function uri_template($template, array $variables)
-{
- if (\extension_loaded('uri_template')) {
- // @codeCoverageIgnoreStart
- return \YoastSEO_Vendor\uri_template($template, $variables);
- // @codeCoverageIgnoreEnd
- }
- static $uriTemplate;
- if (!$uriTemplate) {
- $uriTemplate = new \YoastSEO_Vendor\GuzzleHttp\UriTemplate();
- }
- return $uriTemplate->expand($template, $variables);
-}
/**
* Debug function used to describe the provided value type and class.
*
- * @param mixed $input
+ * @param mixed $input Any type of variable to describe the type of. This
+ * parameter misses a typehint because of that.
*
* @return string Returns a string containing the type of the variable and
* if a class is provided, the class name.
+ *
+ * @deprecated describe_type will be removed in guzzlehttp/guzzle:8.0. Use Utils::describeType instead.
*/
-function describe_type($input)
+function describe_type($input) : string
{
- switch (\gettype($input)) {
- case 'object':
- return 'object(' . \get_class($input) . ')';
- case 'array':
- return 'array(' . \count($input) . ')';
- default:
- \ob_start();
- \var_dump($input);
- // normalize float vs double
- return \str_replace('double(', 'float(', \rtrim(\ob_get_clean()));
- }
+ return \YoastSEO_Vendor\GuzzleHttp\Utils::describeType($input);
}
/**
* Parses an array of header lines into an associative array of headers.
*
* @param iterable $lines Header lines array of strings in the following
- * format: "Name: Value"
- * @return array
+ * format: "Name: Value"
+ *
+ * @deprecated headers_from_lines will be removed in guzzlehttp/guzzle:8.0. Use Utils::headersFromLines instead.
*/
-function headers_from_lines($lines)
+function headers_from_lines(iterable $lines) : array
{
- $headers = [];
- foreach ($lines as $line) {
- $parts = \explode(':', $line, 2);
- $headers[\trim($parts[0])][] = isset($parts[1]) ? \trim($parts[1]) : null;
- }
- return $headers;
+ return \YoastSEO_Vendor\GuzzleHttp\Utils::headersFromLines($lines);
}
/**
* Returns a debug stream based on the provided variable.
@@ -71,57 +35,36 @@ function headers_from_lines($lines)
* @param mixed $value Optional value
*
* @return resource
+ *
+ * @deprecated debug_resource will be removed in guzzlehttp/guzzle:8.0. Use Utils::debugResource instead.
*/
function debug_resource($value = null)
{
- if (\is_resource($value)) {
- return $value;
- } elseif (\defined('STDOUT')) {
- return \STDOUT;
- }
- return \fopen('php://output', 'w');
+ return \YoastSEO_Vendor\GuzzleHttp\Utils::debugResource($value);
}
/**
* Chooses and creates a default handler to use based on the environment.
*
* The returned handler is not wrapped by any default middlewares.
*
- * @return callable Returns the best handler for the given system.
+ * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.
+ *
* @throws \RuntimeException if no viable Handler is available.
+ *
+ * @deprecated choose_handler will be removed in guzzlehttp/guzzle:8.0. Use Utils::chooseHandler instead.
*/
-function choose_handler()
+function choose_handler() : callable
{
- $handler = null;
- if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
- $handler = \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapSync(new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler(), new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler());
- } elseif (\function_exists('curl_exec')) {
- $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlHandler();
- } elseif (\function_exists('curl_multi_exec')) {
- $handler = new \YoastSEO_Vendor\GuzzleHttp\Handler\CurlMultiHandler();
- }
- if (\ini_get('allow_url_fopen')) {
- $handler = $handler ? \YoastSEO_Vendor\GuzzleHttp\Handler\Proxy::wrapStreaming($handler, new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler()) : new \YoastSEO_Vendor\GuzzleHttp\Handler\StreamHandler();
- } elseif (!$handler) {
- throw new \RuntimeException('GuzzleHttp requires cURL, the ' . 'allow_url_fopen ini setting, or a custom HTTP handler.');
- }
- return $handler;
+ return \YoastSEO_Vendor\GuzzleHttp\Utils::chooseHandler();
}
/**
- * Get the default User-Agent string to use with Guzzle
+ * Get the default User-Agent string to use with Guzzle.
*
- * @return string
+ * @deprecated default_user_agent will be removed in guzzlehttp/guzzle:8.0. Use Utils::defaultUserAgent instead.
*/
-function default_user_agent()
+function default_user_agent() : string
{
- static $defaultAgent = '';
- if (!$defaultAgent) {
- $defaultAgent = 'GuzzleHttp/' . \YoastSEO_Vendor\GuzzleHttp\Client::VERSION;
- if (\extension_loaded('curl') && \function_exists('curl_version')) {
- $defaultAgent .= ' curl/' . \curl_version()['version'];
- }
- $defaultAgent .= ' PHP/' . \PHP_VERSION;
- }
- return $defaultAgent;
+ return \YoastSEO_Vendor\GuzzleHttp\Utils::defaultUserAgent();
}
/**
* Returns the default cacert bundle for the current system.
@@ -134,74 +77,23 @@ function default_user_agent()
*
* Note: the result of this function is cached for subsequent calls.
*
- * @return string
* @throws \RuntimeException if no bundle can be found.
+ *
+ * @deprecated default_ca_bundle will be removed in guzzlehttp/guzzle:8.0. This function is not needed in PHP 5.6+.
*/
-function default_ca_bundle()
+function default_ca_bundle() : string
{
- static $cached = null;
- static $cafiles = [
- // Red Hat, CentOS, Fedora (provided by the ca-certificates package)
- '/etc/pki/tls/certs/ca-bundle.crt',
- // Ubuntu, Debian (provided by the ca-certificates package)
- '/etc/ssl/certs/ca-certificates.crt',
- // FreeBSD (provided by the ca_root_nss package)
- '/usr/local/share/certs/ca-root-nss.crt',
- // SLES 12 (provided by the ca-certificates package)
- '/var/lib/ca-certificates/ca-bundle.pem',
- // OS X provided by homebrew (using the default path)
- '/usr/local/etc/openssl/cert.pem',
- // Google app engine
- '/etc/ca-certificates.crt',
- // Windows?
- 'C:\\windows\\system32\\curl-ca-bundle.crt',
- 'C:\\windows\\curl-ca-bundle.crt',
- ];
- if ($cached) {
- return $cached;
- }
- if ($ca = \ini_get('openssl.cafile')) {
- return $cached = $ca;
- }
- if ($ca = \ini_get('curl.cainfo')) {
- return $cached = $ca;
- }
- foreach ($cafiles as $filename) {
- if (\file_exists($filename)) {
- return $cached = $filename;
- }
- }
- throw new \RuntimeException(<<generator = $generatorFn();
- $this->result = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () {
+ $this->result = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () : void {
while (isset($this->currentPromise)) {
$this->currentPromise->wait();
}
});
try {
$this->nextCoroutine($this->generator->current());
- } catch (\Exception $exception) {
- $this->result->reject($exception);
} catch (\Throwable $throwable) {
$this->result->reject($throwable);
}
}
/**
* Create a new coroutine.
- *
- * @return self
*/
- public static function of(callable $generatorFn)
+ public static function of(callable $generatorFn) : self
{
return new self($generatorFn);
}
- public function then(callable $onFulfilled = null, callable $onRejected = null)
+ public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return $this->result->then($onFulfilled, $onRejected);
}
- public function otherwise(callable $onRejected)
+ public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return $this->result->otherwise($onRejected);
}
- public function wait($unwrap = \true)
+ public function wait(bool $unwrap = \true)
{
return $this->result->wait($unwrap);
}
- public function getState()
+ public function getState() : string
{
return $this->result->getState();
}
- public function resolve($value)
+ public function resolve($value) : void
{
$this->result->resolve($value);
}
- public function reject($reason)
+ public function reject($reason) : void
{
$this->result->reject($reason);
}
- public function cancel()
+ public function cancel() : void
{
$this->currentPromise->cancel();
$this->result->cancel();
}
- private function nextCoroutine($yielded)
+ private function nextCoroutine($yielded) : void
{
$this->currentPromise = \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($yielded)->then([$this, '_handleSuccess'], [$this, '_handleFailure']);
}
/**
* @internal
*/
- public function _handleSuccess($value)
+ public function _handleSuccess($value) : void
{
unset($this->currentPromise);
try {
@@ -126,8 +122,6 @@ public function _handleSuccess($value)
} else {
$this->result->resolve($value);
}
- } catch (\Exception $exception) {
- $this->result->reject($exception);
} catch (\Throwable $throwable) {
$this->result->reject($throwable);
}
@@ -135,15 +129,13 @@ public function _handleSuccess($value)
/**
* @internal
*/
- public function _handleFailure($reason)
+ public function _handleFailure($reason) : void
{
unset($this->currentPromise);
try {
$nextYield = $this->generator->throw(\YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($reason));
// The throw was caught, so keep iterating on the coroutine
$this->nextCoroutine($nextYield);
- } catch (\Exception $exception) {
- $this->result->reject($exception);
} catch (\Throwable $throwable) {
$this->result->reject($throwable);
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php
index d784fe247..85726b600 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Create.php
@@ -1,5 +1,6 @@
$onFulfilled, 'rejected' => $onRejected]))->promise();
}
@@ -39,10 +38,8 @@ public static function of($iterable, callable $onFulfilled = null, callable $onR
* @param int|callable $concurrency
* @param callable $onFulfilled
* @param callable $onRejected
- *
- * @return PromiseInterface
*/
- public static function ofLimit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null)
+ public static function ofLimit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return (new \YoastSEO_Vendor\GuzzleHttp\Promise\EachPromise($iterable, ['fulfilled' => $onFulfilled, 'rejected' => $onRejected, 'concurrency' => $concurrency]))->promise();
}
@@ -54,12 +51,10 @@ public static function ofLimit($iterable, $concurrency, callable $onFulfilled =
* @param mixed $iterable
* @param int|callable $concurrency
* @param callable $onFulfilled
- *
- * @return PromiseInterface
*/
- public static function ofLimitAll($iterable, $concurrency, callable $onFulfilled = null)
+ public static function ofLimitAll($iterable, $concurrency, callable $onFulfilled = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
- return each_limit($iterable, $concurrency, $onFulfilled, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $aggregate) {
+ return self::ofLimit($iterable, $concurrency, $onFulfilled, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $aggregate) : void {
$aggregate->reject($reason);
});
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php
index 638d55257..aec3dccb0 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/EachPromise.php
@@ -1,10 +1,13 @@
aggregate) {
return $this->aggregate;
@@ -68,28 +71,17 @@ public function promise()
$this->iterable->rewind();
$this->refillPending();
} catch (\Throwable $e) {
- /**
- * @psalm-suppress NullReference
- * @phpstan-ignore-next-line
- */
- $this->aggregate->reject($e);
- } catch (\Exception $e) {
- /**
- * @psalm-suppress NullReference
- * @phpstan-ignore-next-line
- */
$this->aggregate->reject($e);
}
/**
* @psalm-suppress NullableReturnStatement
- * @phpstan-ignore-next-line
*/
return $this->aggregate;
}
- private function createPromise()
+ private function createPromise() : void
{
$this->mutex = \false;
- $this->aggregate = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () {
+ $this->aggregate = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(function () : void {
if ($this->checkIfFinished()) {
return;
}
@@ -105,14 +97,14 @@ private function createPromise()
}
});
// Clear the references when the promise is resolved.
- $clearFn = function () {
+ $clearFn = function () : void {
$this->iterable = $this->concurrency = $this->pending = null;
$this->onFulfilled = $this->onRejected = null;
$this->nextPendingIndex = 0;
};
$this->aggregate->then($clearFn, $clearFn);
}
- private function refillPending()
+ private function refillPending() : void
{
if (!$this->concurrency) {
// Add all pending promises.
@@ -136,7 +128,7 @@ private function refillPending()
while (--$concurrency && $this->advanceIterator() && $this->addPending()) {
}
}
- private function addPending()
+ private function addPending() : bool
{
if (!$this->iterable || !$this->iterable->valid()) {
return \false;
@@ -146,12 +138,12 @@ private function addPending()
// Iterable keys may not be unique, so we use a counter to
// guarantee uniqueness
$idx = $this->nextPendingIndex++;
- $this->pending[$idx] = $promise->then(function ($value) use($idx, $key) {
+ $this->pending[$idx] = $promise->then(function ($value) use($idx, $key) : void {
if ($this->onFulfilled) {
\call_user_func($this->onFulfilled, $value, $key, $this->aggregate);
}
$this->step($idx);
- }, function ($reason) use($idx, $key) {
+ }, function ($reason) use($idx, $key) : void {
if ($this->onRejected) {
\call_user_func($this->onRejected, $reason, $key, $this->aggregate);
}
@@ -159,7 +151,7 @@ private function addPending()
});
return \true;
}
- private function advanceIterator()
+ private function advanceIterator() : bool
{
// Place a lock on the iterator so that we ensure to not recurse,
// preventing fatal generator errors.
@@ -175,13 +167,9 @@ private function advanceIterator()
$this->aggregate->reject($e);
$this->mutex = \false;
return \false;
- } catch (\Exception $e) {
- $this->aggregate->reject($e);
- $this->mutex = \false;
- return \false;
}
}
- private function step($idx)
+ private function step(int $idx) : void
{
// If the promise was already resolved, then ignore this step.
if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::settled($this->aggregate)) {
@@ -196,7 +184,7 @@ private function step($idx)
$this->refillPending();
}
}
- private function checkIfFinished()
+ private function checkIfFinished() : bool
{
if (!$this->pending && !$this->iterable->valid()) {
// Resolve the promise if there's nothing left to do.
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php
index 27fedc0dd..373354d1c 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/FulfilledPromise.php
@@ -1,5 +1,6 @@
value = $value;
}
- public function then(callable $onFulfilled = null, callable $onRejected = null)
+ public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
// Return itself if there is no onFulfilled function.
if (!$onFulfilled) {
@@ -27,42 +33,40 @@ public function then(callable $onFulfilled = null, callable $onRejected = null)
$queue = \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue();
$p = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise([$queue, 'run']);
$value = $this->value;
- $queue->add(static function () use($p, $value, $onFulfilled) {
+ $queue->add(static function () use($p, $value, $onFulfilled) : void {
if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::pending($p)) {
try {
$p->resolve($onFulfilled($value));
} catch (\Throwable $e) {
$p->reject($e);
- } catch (\Exception $e) {
- $p->reject($e);
}
}
});
return $p;
}
- public function otherwise(callable $onRejected)
+ public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return $this->then(null, $onRejected);
}
- public function wait($unwrap = \true, $defaultDelivery = null)
+ public function wait(bool $unwrap = \true)
{
return $unwrap ? $this->value : null;
}
- public function getState()
+ public function getState() : string
{
return self::FULFILLED;
}
- public function resolve($value)
+ public function resolve($value) : void
{
if ($value !== $this->value) {
- throw new \LogicException("Cannot resolve a fulfilled promise");
+ throw new \LogicException('Cannot resolve a fulfilled promise');
}
}
- public function reject($reason)
+ public function reject($reason) : void
{
- throw new \LogicException("Cannot reject a fulfilled promise");
+ throw new \LogicException('Cannot reject a fulfilled promise');
}
- public function cancel()
+ public function cancel() : void
{
// pass
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php
index b3cb69a2d..db08b194c 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Is.php
@@ -1,42 +1,35 @@
getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::PENDING;
}
/**
* Returns true if a promise is fulfilled or rejected.
- *
- * @return bool
*/
- public static function settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
+ public static function settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : bool
{
return $promise->getState() !== \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::PENDING;
}
/**
* Returns true if a promise is fulfilled.
- *
- * @return bool
*/
- public static function fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
+ public static function fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : bool
{
return $promise->getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED;
}
/**
* Returns true if a promise is rejected.
- *
- * @return bool
*/
- public static function rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
+ public static function rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : bool
{
return $promise->getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php
index 229c59811..44e0ae5cc 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/Promise.php
@@ -1,11 +1,14 @@
waitFn = $waitFn;
$this->cancelFn = $cancelFn;
}
- public function then(callable $onFulfilled = null, callable $onRejected = null)
+ public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if ($this->state === self::PENDING) {
$p = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise(null, [$this, 'cancel']);
@@ -43,11 +46,11 @@ public function then(callable $onFulfilled = null, callable $onRejected = null)
$rejection = \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($this->result);
return $onRejected ? $rejection->then(null, $onRejected) : $rejection;
}
- public function otherwise(callable $onRejected)
+ public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return $this->then(null, $onRejected);
}
- public function wait($unwrap = \true)
+ public function wait(bool $unwrap = \true)
{
$this->waitIfPending();
if ($this->result instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface) {
@@ -61,11 +64,11 @@ public function wait($unwrap = \true)
throw \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($this->result);
}
}
- public function getState()
+ public function getState() : string
{
return $this->state;
}
- public function cancel()
+ public function cancel() : void
{
if ($this->state !== self::PENDING) {
return;
@@ -78,8 +81,6 @@ public function cancel()
$fn();
} catch (\Throwable $e) {
$this->reject($e);
- } catch (\Exception $e) {
- $this->reject($e);
}
}
// Reject the promise only if it wasn't rejected in a then callback.
@@ -88,15 +89,15 @@ public function cancel()
$this->reject(new \YoastSEO_Vendor\GuzzleHttp\Promise\CancellationException('Promise has been cancelled'));
}
}
- public function resolve($value)
+ public function resolve($value) : void
{
$this->settle(self::FULFILLED, $value);
}
- public function reject($reason)
+ public function reject($reason) : void
{
$this->settle(self::REJECTED, $reason);
}
- private function settle($state, $value)
+ private function settle(string $state, $value) : void
{
if ($this->state !== self::PENDING) {
// Ignore calls with the same resolution.
@@ -123,7 +124,7 @@ private function settle($state, $value)
if (!\is_object($value) || !\method_exists($value, 'then')) {
$id = $state === self::FULFILLED ? 1 : 2;
// It's a success, so resolve the handlers in the queue.
- \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue()->add(static function () use($id, $value, $handlers) {
+ \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue()->add(static function () use($id, $value, $handlers) : void {
foreach ($handlers as $handler) {
self::callHandler($id, $value, $handler);
}
@@ -133,11 +134,11 @@ private function settle($state, $value)
$value->handlers = \array_merge($value->handlers, $handlers);
} else {
// Resolve the handlers when the forwarded promise is resolved.
- $value->then(static function ($value) use($handlers) {
+ $value->then(static function ($value) use($handlers) : void {
foreach ($handlers as $handler) {
self::callHandler(1, $value, $handler);
}
- }, static function ($reason) use($handlers) {
+ }, static function ($reason) use($handlers) : void {
foreach ($handlers as $handler) {
self::callHandler(2, $reason, $handler);
}
@@ -151,7 +152,7 @@ private function settle($state, $value)
* @param mixed $value Value to pass to the callback.
* @param array $handler Array of handler data (promise and callbacks).
*/
- private static function callHandler($index, $value, array $handler)
+ private static function callHandler(int $index, $value, array $handler) : void
{
/** @var PromiseInterface $promise */
$promise = $handler[0];
@@ -180,11 +181,9 @@ private static function callHandler($index, $value, array $handler)
}
} catch (\Throwable $reason) {
$promise->reject($reason);
- } catch (\Exception $reason) {
- $promise->reject($reason);
}
}
- private function waitIfPending()
+ private function waitIfPending() : void
{
if ($this->state !== self::PENDING) {
return;
@@ -202,13 +201,13 @@ private function waitIfPending()
$this->reject('Invoking the wait callback did not resolve the promise');
}
}
- private function invokeWaitFn()
+ private function invokeWaitFn() : void
{
try {
$wfn = $this->waitFn;
$this->waitFn = null;
$wfn(\true);
- } catch (\Exception $reason) {
+ } catch (\Throwable $reason) {
if ($this->state === self::PENDING) {
// The promise has not been resolved yet, so reject the promise
// with the exception.
@@ -220,7 +219,7 @@ private function invokeWaitFn()
}
}
}
- private function invokeWaitList()
+ private function invokeWaitList() : void
{
$waitList = $this->waitList;
$this->waitList = null;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php
index 568a535b7..35d2c3ff4 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/PromiseInterface.php
@@ -1,5 +1,6 @@
reason = $reason;
}
- public function then(callable $onFulfilled = null, callable $onRejected = null)
+ public function then(callable $onFulfilled = null, callable $onRejected = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
// If there's no onRejected callback then just return self.
if (!$onRejected) {
@@ -27,7 +33,7 @@ public function then(callable $onFulfilled = null, callable $onRejected = null)
$queue = \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue();
$reason = $this->reason;
$p = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise([$queue, 'run']);
- $queue->add(static function () use($p, $reason, $onRejected) {
+ $queue->add(static function () use($p, $reason, $onRejected) : void {
if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::pending($p)) {
try {
// Return a resolved promise if onRejected does not throw.
@@ -35,40 +41,37 @@ public function then(callable $onFulfilled = null, callable $onRejected = null)
} catch (\Throwable $e) {
// onRejected threw, so return a rejected promise.
$p->reject($e);
- } catch (\Exception $e) {
- // onRejected threw, so return a rejected promise.
- $p->reject($e);
}
}
});
return $p;
}
- public function otherwise(callable $onRejected)
+ public function otherwise(callable $onRejected) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return $this->then(null, $onRejected);
}
- public function wait($unwrap = \true, $defaultDelivery = null)
+ public function wait(bool $unwrap = \true)
{
if ($unwrap) {
throw \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($this->reason);
}
return null;
}
- public function getState()
+ public function getState() : string
{
return self::REJECTED;
}
- public function resolve($value)
+ public function resolve($value) : void
{
- throw new \LogicException("Cannot resolve a rejected promise");
+ throw new \LogicException('Cannot resolve a rejected promise');
}
- public function reject($reason)
+ public function reject($reason) : void
{
if ($reason !== $this->reason) {
- throw new \LogicException("Cannot reject a rejected promise");
+ throw new \LogicException('Cannot reject a rejected promise');
}
}
- public function cancel()
+ public function cancel() : void
{
// pass
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php
index 6fb75ae4c..14e1e652f 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/RejectionException.php
@@ -1,5 +1,6 @@
reason = $reason;
$message = 'The promise was rejected';
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php
index 0ea5969b0..781e7c886 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueue.php
@@ -1,5 +1,6 @@
run();
+ *
+ * @final
*/
class TaskQueue implements \YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface
{
private $enableShutdown = \true;
private $queue = [];
- public function __construct($withShutdown = \true)
+ public function __construct(bool $withShutdown = \true)
{
if ($withShutdown) {
- \register_shutdown_function(function () {
+ \register_shutdown_function(function () : void {
if ($this->enableShutdown) {
// Only run the tasks if an E_ERROR didn't occur.
$err = \error_get_last();
@@ -29,15 +32,15 @@ public function __construct($withShutdown = \true)
});
}
}
- public function isEmpty()
+ public function isEmpty() : bool
{
return !$this->queue;
}
- public function add(callable $task)
+ public function add(callable $task) : void
{
$this->queue[] = $task;
}
- public function run()
+ public function run() : void
{
while ($task = \array_shift($this->queue)) {
/** @var callable $task */
@@ -55,7 +58,7 @@ public function run()
*
* Note: This shutdown will occur before any destructors are triggered.
*/
- public function disableShutdown()
+ public function disableShutdown() : void
{
$this->enableShutdown = \false;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php
index 9affd5b1e..fb640be21 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/TaskQueueInterface.php
@@ -1,22 +1,21 @@
*
- * @param TaskQueueInterface $assign Optionally specify a new queue instance.
- *
- * @return TaskQueueInterface
+ * @param TaskQueueInterface|null $assign Optionally specify a new queue instance.
*/
- public static function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface $assign = null)
+ public static function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface $assign = null) : \YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface
{
static $queue;
if ($assign) {
@@ -36,22 +35,18 @@ public static function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterf
* returns a promise that is fulfilled or rejected with the result.
*
* @param callable $task Task function to run.
- *
- * @return PromiseInterface
*/
- public static function task(callable $task)
+ public static function task(callable $task) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$queue = self::queue();
$promise = new \YoastSEO_Vendor\GuzzleHttp\Promise\Promise([$queue, 'run']);
- $queue->add(function () use($task, $promise) {
+ $queue->add(function () use($task, $promise) : void {
try {
if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::pending($promise)) {
$promise->resolve($task());
}
} catch (\Throwable $e) {
$promise->reject($e);
- } catch (\Exception $e) {
- $promise->reject($e);
}
});
return $promise;
@@ -67,10 +62,8 @@ public static function task(callable $task)
* key mapping to the rejection reason of the promise.
*
* @param PromiseInterface $promise Promise or value.
- *
- * @return array
*/
- public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
+ public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) : array
{
try {
return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED, 'value' => $promise->wait()];
@@ -78,8 +71,6 @@ public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterf
return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e->getReason()];
} catch (\Throwable $e) {
return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e];
- } catch (\Exception $e) {
- return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e];
}
}
/**
@@ -91,14 +82,12 @@ public static function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterf
* @see inspect for the inspection state array format.
*
* @param PromiseInterface[] $promises Traversable of promises to wait upon.
- *
- * @return array
*/
- public static function inspectAll($promises)
+ public static function inspectAll($promises) : array
{
$results = [];
foreach ($promises as $key => $promise) {
- $results[$key] = inspect($promise);
+ $results[$key] = self::inspect($promise);
}
return $results;
}
@@ -111,12 +100,9 @@ public static function inspectAll($promises)
*
* @param iterable $promises Iterable of PromiseInterface objects to wait on.
*
- * @return array
- *
- * @throws \Exception on error
- * @throws \Throwable on error in PHP >=7
+ * @throws \Throwable on error
*/
- public static function unwrap($promises)
+ public static function unwrap($promises) : array
{
$results = [];
foreach ($promises as $key => $promise) {
@@ -134,15 +120,13 @@ public static function unwrap($promises)
*
* @param mixed $promises Promises or values.
* @param bool $recursive If true, resolves new promises that might have been added to the stack during its own resolution.
- *
- * @return PromiseInterface
*/
- public static function all($promises, $recursive = \false)
+ public static function all($promises, bool $recursive = \false) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$results = [];
- $promise = \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) {
+ $promise = \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) : void {
$results[$idx] = $value;
- }, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\Promise $aggregate) {
+ }, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\Promise $aggregate) : void {
$aggregate->reject($reason);
})->then(function () use(&$results) {
\ksort($results);
@@ -173,14 +157,12 @@ public static function all($promises, $recursive = \false)
*
* @param int $count Total number of promises.
* @param mixed $promises Promises or values.
- *
- * @return PromiseInterface
*/
- public static function some($count, $promises)
+ public static function some(int $count, $promises) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$results = [];
$rejections = [];
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $p) use(&$results, $count) {
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $p) use(&$results, $count) : void {
if (\YoastSEO_Vendor\GuzzleHttp\Promise\Is::settled($p)) {
return;
}
@@ -188,7 +170,7 @@ public static function some($count, $promises)
if (\count($results) >= $count) {
$p->resolve(null);
}
- }, function ($reason) use(&$rejections) {
+ }, function ($reason) use(&$rejections) : void {
$rejections[] = $reason;
})->then(function () use(&$results, &$rejections, $count) {
if (\count($results) !== $count) {
@@ -203,10 +185,8 @@ public static function some($count, $promises)
* fulfillment value is not an array of 1 but the value directly.
*
* @param mixed $promises Promises or values.
- *
- * @return PromiseInterface
*/
- public static function any($promises)
+ public static function any($promises) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
return self::some(1, $promises)->then(function ($values) {
return $values[0];
@@ -221,15 +201,13 @@ public static function any($promises)
* @see inspect for the inspection state array format.
*
* @param mixed $promises Promises or values.
- *
- * @return PromiseInterface
*/
- public static function settle($promises)
+ public static function settle($promises) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
$results = [];
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) {
+ return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($promises, function ($value, $idx) use(&$results) : void {
$results[$idx] = ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED, 'value' => $value];
- }, function ($reason, $idx) use(&$results) {
+ }, function ($reason, $idx) use(&$results) : void {
$results[$idx] = ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $reason];
})->then(function () use(&$results) {
\ksort($results);
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php
deleted file mode 100755
index 43a72608b..000000000
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions.php
+++ /dev/null
@@ -1,334 +0,0 @@
-
- * while ($eventLoop->isRunning()) {
- * GuzzleHttp\Promise\queue()->run();
- * }
- *
- *
- * @param TaskQueueInterface $assign Optionally specify a new queue instance.
- *
- * @return TaskQueueInterface
- *
- * @deprecated queue will be removed in guzzlehttp/promises:2.0. Use Utils::queue instead.
- */
-function queue(\YoastSEO_Vendor\GuzzleHttp\Promise\TaskQueueInterface $assign = null)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::queue($assign);
-}
-/**
- * Adds a function to run in the task queue when it is next `run()` and returns
- * a promise that is fulfilled or rejected with the result.
- *
- * @param callable $task Task function to run.
- *
- * @return PromiseInterface
- *
- * @deprecated task will be removed in guzzlehttp/promises:2.0. Use Utils::task instead.
- */
-function task(callable $task)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::task($task);
-}
-/**
- * Creates a promise for a value if the value is not a promise.
- *
- * @param mixed $value Promise or value.
- *
- * @return PromiseInterface
- *
- * @deprecated promise_for will be removed in guzzlehttp/promises:2.0. Use Create::promiseFor instead.
- */
-function promise_for($value)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::promiseFor($value);
-}
-/**
- * Creates a rejected promise for a reason if the reason is not a promise. If
- * the provided reason is a promise, then it is returned as-is.
- *
- * @param mixed $reason Promise or reason.
- *
- * @return PromiseInterface
- *
- * @deprecated rejection_for will be removed in guzzlehttp/promises:2.0. Use Create::rejectionFor instead.
- */
-function rejection_for($reason)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::rejectionFor($reason);
-}
-/**
- * Create an exception for a rejected promise value.
- *
- * @param mixed $reason
- *
- * @return \Exception|\Throwable
- *
- * @deprecated exception_for will be removed in guzzlehttp/promises:2.0. Use Create::exceptionFor instead.
- */
-function exception_for($reason)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::exceptionFor($reason);
-}
-/**
- * Returns an iterator for the given value.
- *
- * @param mixed $value
- *
- * @return \Iterator
- *
- * @deprecated iter_for will be removed in guzzlehttp/promises:2.0. Use Create::iterFor instead.
- */
-function iter_for($value)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Create::iterFor($value);
-}
-/**
- * Synchronously waits on a promise to resolve and returns an inspection state
- * array.
- *
- * Returns a state associative array containing a "state" key mapping to a
- * valid promise state. If the state of the promise is "fulfilled", the array
- * will contain a "value" key mapping to the fulfilled value of the promise. If
- * the promise is rejected, the array will contain a "reason" key mapping to
- * the rejection reason of the promise.
- *
- * @param PromiseInterface $promise Promise or value.
- *
- * @return array
- *
- * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspect instead.
- */
-function inspect(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::inspect($promise);
-}
-/**
- * Waits on all of the provided promises, but does not unwrap rejected promises
- * as thrown exception.
- *
- * Returns an array of inspection state arrays.
- *
- * @see inspect for the inspection state array format.
- *
- * @param PromiseInterface[] $promises Traversable of promises to wait upon.
- *
- * @return array
- *
- * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspectAll instead.
- */
-function inspect_all($promises)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::inspectAll($promises);
-}
-/**
- * Waits on all of the provided promises and returns the fulfilled values.
- *
- * Returns an array that contains the value of each promise (in the same order
- * the promises were provided). An exception is thrown if any of the promises
- * are rejected.
- *
- * @param iterable $promises Iterable of PromiseInterface objects to wait on.
- *
- * @return array
- *
- * @throws \Exception on error
- * @throws \Throwable on error in PHP >=7
- *
- * @deprecated unwrap will be removed in guzzlehttp/promises:2.0. Use Utils::unwrap instead.
- */
-function unwrap($promises)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::unwrap($promises);
-}
-/**
- * Given an array of promises, return a promise that is fulfilled when all the
- * items in the array are fulfilled.
- *
- * The promise's fulfillment value is an array with fulfillment values at
- * respective positions to the original array. If any promise in the array
- * rejects, the returned promise is rejected with the rejection reason.
- *
- * @param mixed $promises Promises or values.
- * @param bool $recursive If true, resolves new promises that might have been added to the stack during its own resolution.
- *
- * @return PromiseInterface
- *
- * @deprecated all will be removed in guzzlehttp/promises:2.0. Use Utils::all instead.
- */
-function all($promises, $recursive = \false)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::all($promises, $recursive);
-}
-/**
- * Initiate a competitive race between multiple promises or values (values will
- * become immediately fulfilled promises).
- *
- * When count amount of promises have been fulfilled, the returned promise is
- * fulfilled with an array that contains the fulfillment values of the winners
- * in order of resolution.
- *
- * This promise is rejected with a {@see AggregateException} if the number of
- * fulfilled promises is less than the desired $count.
- *
- * @param int $count Total number of promises.
- * @param mixed $promises Promises or values.
- *
- * @return PromiseInterface
- *
- * @deprecated some will be removed in guzzlehttp/promises:2.0. Use Utils::some instead.
- */
-function some($count, $promises)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::some($count, $promises);
-}
-/**
- * Like some(), with 1 as count. However, if the promise fulfills, the
- * fulfillment value is not an array of 1 but the value directly.
- *
- * @param mixed $promises Promises or values.
- *
- * @return PromiseInterface
- *
- * @deprecated any will be removed in guzzlehttp/promises:2.0. Use Utils::any instead.
- */
-function any($promises)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::any($promises);
-}
-/**
- * Returns a promise that is fulfilled when all of the provided promises have
- * been fulfilled or rejected.
- *
- * The returned promise is fulfilled with an array of inspection state arrays.
- *
- * @see inspect for the inspection state array format.
- *
- * @param mixed $promises Promises or values.
- *
- * @return PromiseInterface
- *
- * @deprecated settle will be removed in guzzlehttp/promises:2.0. Use Utils::settle instead.
- */
-function settle($promises)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Utils::settle($promises);
-}
-/**
- * Given an iterator that yields promises or values, returns a promise that is
- * fulfilled with a null value when the iterator has been consumed or the
- * aggregate promise has been fulfilled or rejected.
- *
- * $onFulfilled is a function that accepts the fulfilled value, iterator index,
- * and the aggregate promise. The callback can invoke any necessary side
- * effects and choose to resolve or reject the aggregate if needed.
- *
- * $onRejected is a function that accepts the rejection reason, iterator index,
- * and the aggregate promise. The callback can invoke any necessary side
- * effects and choose to resolve or reject the aggregate if needed.
- *
- * @param mixed $iterable Iterator or array to iterate over.
- * @param callable $onFulfilled
- * @param callable $onRejected
- *
- * @return PromiseInterface
- *
- * @deprecated each will be removed in guzzlehttp/promises:2.0. Use Each::of instead.
- */
-function each($iterable, callable $onFulfilled = null, callable $onRejected = null)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::of($iterable, $onFulfilled, $onRejected);
-}
-/**
- * Like each, but only allows a certain number of outstanding promises at any
- * given time.
- *
- * $concurrency may be an integer or a function that accepts the number of
- * pending promises and returns a numeric concurrency limit value to allow for
- * dynamic a concurrency size.
- *
- * @param mixed $iterable
- * @param int|callable $concurrency
- * @param callable $onFulfilled
- * @param callable $onRejected
- *
- * @return PromiseInterface
- *
- * @deprecated each_limit will be removed in guzzlehttp/promises:2.0. Use Each::ofLimit instead.
- */
-function each_limit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::ofLimit($iterable, $concurrency, $onFulfilled, $onRejected);
-}
-/**
- * Like each_limit, but ensures that no promise in the given $iterable argument
- * is rejected. If any promise is rejected, then the aggregate promise is
- * rejected with the encountered rejection.
- *
- * @param mixed $iterable
- * @param int|callable $concurrency
- * @param callable $onFulfilled
- *
- * @return PromiseInterface
- *
- * @deprecated each_limit_all will be removed in guzzlehttp/promises:2.0. Use Each::ofLimitAll instead.
- */
-function each_limit_all($iterable, $concurrency, callable $onFulfilled = null)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Each::ofLimitAll($iterable, $concurrency, $onFulfilled);
-}
-/**
- * Returns true if a promise is fulfilled.
- *
- * @return bool
- *
- * @deprecated is_fulfilled will be removed in guzzlehttp/promises:2.0. Use Is::fulfilled instead.
- */
-function is_fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Is::fulfilled($promise);
-}
-/**
- * Returns true if a promise is rejected.
- *
- * @return bool
- *
- * @deprecated is_rejected will be removed in guzzlehttp/promises:2.0. Use Is::rejected instead.
- */
-function is_rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Is::rejected($promise);
-}
-/**
- * Returns true if a promise is fulfilled or rejected.
- *
- * @return bool
- *
- * @deprecated is_settled will be removed in guzzlehttp/promises:2.0. Use Is::settled instead.
- */
-function is_settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Is::settled($promise);
-}
-/**
- * Create a new coroutine.
- *
- * @see Coroutine
- *
- * @return PromiseInterface
- *
- * @deprecated coroutine will be removed in guzzlehttp/promises:2.0. Use Coroutine::of instead.
- */
-function coroutine(callable $generatorFn)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Promise\Coroutine::of($generatorFn);
-}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php
deleted file mode 100755
index b0a22d15d..000000000
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/functions_include.php
+++ /dev/null
@@ -1,8 +0,0 @@
-addStream($stream);
}
}
- public function __toString()
+ public function __toString() : string
{
try {
$this->rewind();
return $this->getContents();
- } catch (\Exception $e) {
+ } catch (\Throwable $e) {
+ if (\PHP_VERSION_ID >= 70400) {
+ throw $e;
+ }
+ \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR);
return '';
}
}
@@ -43,7 +49,7 @@ public function __toString()
*
* @throws \InvalidArgumentException if the stream is not readable
*/
- public function addStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream)
+ public function addStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream) : void
{
if (!$stream->isReadable()) {
throw new \InvalidArgumentException('Each stream must be readable');
@@ -54,16 +60,14 @@ public function addStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $str
}
$this->streams[] = $stream;
}
- public function getContents()
+ public function getContents() : string
{
return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToString($this);
}
/**
* Closes each attached stream.
- *
- * {@inheritdoc}
*/
- public function close()
+ public function close() : void
{
$this->pos = $this->current = 0;
$this->seekable = \true;
@@ -76,8 +80,6 @@ public function close()
* Detaches each attached stream.
*
* Returns null as it's not clear which underlying stream resource to return.
- *
- * {@inheritdoc}
*/
public function detach()
{
@@ -89,7 +91,7 @@ public function detach()
$this->streams = [];
return null;
}
- public function tell()
+ public function tell() : int
{
return $this->pos;
}
@@ -98,10 +100,8 @@ public function tell()
*
* If any of the streams do not return a valid number, then the size of the
* append stream cannot be determined and null is returned.
- *
- * {@inheritdoc}
*/
- public function getSize()
+ public function getSize() : ?int
{
$size = 0;
foreach ($this->streams as $stream) {
@@ -113,20 +113,18 @@ public function getSize()
}
return $size;
}
- public function eof()
+ public function eof() : bool
{
return !$this->streams || $this->current >= \count($this->streams) - 1 && $this->streams[$this->current]->eof();
}
- public function rewind()
+ public function rewind() : void
{
$this->seek(0);
}
/**
* Attempts to seek to the given position. Only supports SEEK_SET.
- *
- * {@inheritdoc}
*/
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
if (!$this->seekable) {
throw new \RuntimeException('This AppendStream is not seekable');
@@ -152,10 +150,8 @@ public function seek($offset, $whence = \SEEK_SET)
}
/**
* Reads from all of the appended streams until the length is met or EOF.
- *
- * {@inheritdoc}
*/
- public function read($length)
+ public function read($length) : string
{
$buffer = '';
$total = \count($this->streams) - 1;
@@ -168,11 +164,10 @@ public function read($length)
if ($this->current === $total) {
break;
}
- $this->current++;
+ ++$this->current;
}
$result = $this->streams[$this->current]->read($remaining);
- // Using a loose comparison here to match on '', false, and null
- if ($result == null) {
+ if ($result === '') {
$progressToNext = \true;
continue;
}
@@ -182,22 +177,25 @@ public function read($length)
$this->pos += \strlen($buffer);
return $buffer;
}
- public function isReadable()
+ public function isReadable() : bool
{
return \true;
}
- public function isWritable()
+ public function isWritable() : bool
{
return \false;
}
- public function isSeekable()
+ public function isSeekable() : bool
{
return $this->seekable;
}
- public function write($string)
+ public function write($string) : int
{
throw new \RuntimeException('Cannot write to an AppendStream');
}
+ /**
+ * @return mixed
+ */
public function getMetadata($key = null)
{
return $key ? null : [];
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php
index cce160195..1aebd6ffa 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/BufferStream.php
@@ -1,5 +1,6 @@
hwm = $hwm;
}
- public function __toString()
+ public function __toString() : string
{
return $this->getContents();
}
- public function getContents()
+ public function getContents() : string
{
$buffer = $this->buffer;
$this->buffer = '';
return $buffer;
}
- public function close()
+ public function close() : void
{
$this->buffer = '';
}
@@ -47,42 +48,42 @@ public function detach()
$this->close();
return null;
}
- public function getSize()
+ public function getSize() : ?int
{
return \strlen($this->buffer);
}
- public function isReadable()
+ public function isReadable() : bool
{
return \true;
}
- public function isWritable()
+ public function isWritable() : bool
{
return \true;
}
- public function isSeekable()
+ public function isSeekable() : bool
{
return \false;
}
- public function rewind()
+ public function rewind() : void
{
$this->seek(0);
}
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
throw new \RuntimeException('Cannot seek a BufferStream');
}
- public function eof()
+ public function eof() : bool
{
return \strlen($this->buffer) === 0;
}
- public function tell()
+ public function tell() : int
{
throw new \RuntimeException('Cannot determine the position of a BufferStream');
}
/**
* Reads data from the buffer.
*/
- public function read($length)
+ public function read($length) : string
{
$currentLength = \strlen($this->buffer);
if ($length >= $currentLength) {
@@ -99,18 +100,20 @@ public function read($length)
/**
* Writes data to the buffer.
*/
- public function write($string)
+ public function write($string) : int
{
$this->buffer .= $string;
- // TODO: What should happen here?
if (\strlen($this->buffer) >= $this->hwm) {
- return \false;
+ return 0;
}
return \strlen($string);
}
+ /**
+ * @return mixed
+ */
public function getMetadata($key = null)
{
- if ($key == 'hwm') {
+ if ($key === 'hwm') {
return $this->hwm;
}
return $key ? null : [];
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php
index 39ed9d453..b22bc8abb 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/CachingStream.php
@@ -1,21 +1,24 @@
remoteStream = $stream;
$this->stream = $target ?: new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'r+'));
}
- public function getSize()
+ public function getSize() : ?int
{
$remoteSize = $this->remoteStream->getSize();
if (null === $remoteSize) {
@@ -35,17 +38,17 @@ public function getSize()
}
return \max($this->stream->getSize(), $remoteSize);
}
- public function rewind()
+ public function rewind() : void
{
$this->seek(0);
}
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
- if ($whence == \SEEK_SET) {
+ if ($whence === \SEEK_SET) {
$byte = $offset;
- } elseif ($whence == \SEEK_CUR) {
+ } elseif ($whence === \SEEK_CUR) {
$byte = $offset + $this->tell();
- } elseif ($whence == \SEEK_END) {
+ } elseif ($whence === \SEEK_END) {
$size = $this->remoteStream->getSize();
if ($size === null) {
$size = $this->cacheEntireStream();
@@ -67,7 +70,7 @@ public function seek($offset, $whence = \SEEK_SET)
$this->stream->seek($byte);
}
}
- public function read($length)
+ public function read($length) : string
{
// Perform a regular read on any previously read data from the buffer
$data = $this->stream->read($length);
@@ -89,7 +92,7 @@ public function read($length)
}
return $data;
}
- public function write($string)
+ public function write($string) : int
{
// When appending to the end of the currently read stream, you'll want
// to skip bytes from being read from the remote stream to emulate
@@ -101,18 +104,19 @@ public function write($string)
}
return $this->stream->write($string);
}
- public function eof()
+ public function eof() : bool
{
return $this->stream->eof() && $this->remoteStream->eof();
}
/**
* Close both the remote stream and buffer stream
*/
- public function close()
+ public function close() : void
{
- $this->remoteStream->close() && $this->stream->close();
+ $this->remoteStream->close();
+ $this->stream->close();
}
- private function cacheEntireStream()
+ private function cacheEntireStream() : int
{
$target = new \YoastSEO_Vendor\GuzzleHttp\Psr7\FnStream(['write' => 'strlen']);
\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToStream($this, $target);
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php
index 41f7940e2..d3d3968c3 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/DroppingStream.php
@@ -1,28 +1,30 @@
stream = $stream;
$this->maxLength = $maxLength;
}
- public function write($string)
+ public function write($string) : int
{
$diff = $this->maxLength - $this->stream->getSize();
// Begin returning 0 when the underlying stream is too large.
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php
new file mode 100755
index 000000000..1cebad95e
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php
@@ -0,0 +1,12 @@
+ */
private $methods;
- /** @var array Methods that must be implemented in the given array */
- private static $slots = ['__toString', 'close', 'detach', 'rewind', 'getSize', 'tell', 'eof', 'isSeekable', 'seek', 'isWritable', 'write', 'isReadable', 'read', 'getContents', 'getMetadata'];
/**
- * @param array $methods Hash of method name to a callable.
+ * @param array $methods Hash of method name to a callable.
*/
public function __construct(array $methods)
{
@@ -33,7 +32,7 @@ public function __construct(array $methods)
*
* @throws \BadMethodCallException
*/
- public function __get($name)
+ public function __get(string $name) : void
{
throw new \BadMethodCallException(\str_replace('_fn_', '', $name) . '() is not implemented in the FnStream');
}
@@ -51,7 +50,7 @@ public function __destruct()
*
* @throws \LogicException
*/
- public function __wakeup()
+ public function __wakeup() : void
{
throw new \LogicException('FnStream should never be unserialized');
}
@@ -59,8 +58,8 @@ public function __wakeup()
* Adds custom functionality to an underlying stream by intercepting
* specific method calls.
*
- * @param StreamInterface $stream Stream to decorate
- * @param array $methods Hash of method name to a closure
+ * @param StreamInterface $stream Stream to decorate
+ * @param array $methods Hash of method name to a closure
*
* @return FnStream
*/
@@ -68,67 +67,80 @@ public static function decorate(\YoastSEO_Vendor\Psr\Http\Message\StreamInterfac
{
// If any of the required methods were not provided, then simply
// proxy to the decorated stream.
- foreach (\array_diff(self::$slots, \array_keys($methods)) as $diff) {
- $methods[$diff] = [$stream, $diff];
+ foreach (\array_diff(self::SLOTS, \array_keys($methods)) as $diff) {
+ /** @var callable $callable */
+ $callable = [$stream, $diff];
+ $methods[$diff] = $callable;
}
return new self($methods);
}
- public function __toString()
+ public function __toString() : string
{
- return \call_user_func($this->_fn___toString);
+ try {
+ return \call_user_func($this->_fn___toString);
+ } catch (\Throwable $e) {
+ if (\PHP_VERSION_ID >= 70400) {
+ throw $e;
+ }
+ \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR);
+ return '';
+ }
}
- public function close()
+ public function close() : void
{
- return \call_user_func($this->_fn_close);
+ \call_user_func($this->_fn_close);
}
public function detach()
{
return \call_user_func($this->_fn_detach);
}
- public function getSize()
+ public function getSize() : ?int
{
return \call_user_func($this->_fn_getSize);
}
- public function tell()
+ public function tell() : int
{
return \call_user_func($this->_fn_tell);
}
- public function eof()
+ public function eof() : bool
{
return \call_user_func($this->_fn_eof);
}
- public function isSeekable()
+ public function isSeekable() : bool
{
return \call_user_func($this->_fn_isSeekable);
}
- public function rewind()
+ public function rewind() : void
{
\call_user_func($this->_fn_rewind);
}
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
\call_user_func($this->_fn_seek, $offset, $whence);
}
- public function isWritable()
+ public function isWritable() : bool
{
return \call_user_func($this->_fn_isWritable);
}
- public function write($string)
+ public function write($string) : int
{
return \call_user_func($this->_fn_write, $string);
}
- public function isReadable()
+ public function isReadable() : bool
{
return \call_user_func($this->_fn_isReadable);
}
- public function read($length)
+ public function read($length) : string
{
return \call_user_func($this->_fn_read, $length);
}
- public function getContents()
+ public function getContents() : string
{
return \call_user_func($this->_fn_getContents);
}
+ /**
+ * @return mixed
+ */
public function getMetadata($key = null)
{
return \call_user_func($this->_fn_getMetadata, $key);
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php
index 3f83c1cc3..a5e26f825 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Header.php
@@ -1,5 +1,6 @@
]+>|[^=]+/', $kvp, $matches)) {
- $m = $matches[0];
- if (isset($m[1])) {
- $part[\trim($m[0], $trimmed)] = \trim($m[1], $trimmed);
- } else {
- $part[] = \trim($m[0], $trimmed);
+ foreach ((array) $header as $value) {
+ foreach (self::splitList($value) as $val) {
+ $part = [];
+ foreach (\preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) {
+ if (\preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) {
+ $m = $matches[0];
+ if (isset($m[1])) {
+ $part[\trim($m[0], $trimmed)] = \trim($m[1], $trimmed);
+ } else {
+ $part[] = \trim($m[0], $trimmed);
+ }
}
}
- }
- if ($part) {
- $params[] = $part;
+ if ($part) {
+ $params[] = $part;
+ }
}
}
return $params;
@@ -42,23 +43,73 @@ public static function parse($header)
*
* @param string|array $header Header to normalize.
*
- * @return array Returns the normalized header field values.
+ * @deprecated Use self::splitList() instead.
*/
- public static function normalize($header)
+ public static function normalize($header) : array
{
- if (!\is_array($header)) {
- return \array_map('trim', \explode(',', $header));
+ $result = [];
+ foreach ((array) $header as $value) {
+ foreach (self::splitList($value) as $parsed) {
+ $result[] = $parsed;
+ }
+ }
+ return $result;
+ }
+ /**
+ * Splits a HTTP header defined to contain a comma-separated list into
+ * each individual value. Empty values will be removed.
+ *
+ * Example headers include 'accept', 'cache-control' and 'if-none-match'.
+ *
+ * This method must not be used to parse headers that are not defined as
+ * a list, such as 'user-agent' or 'set-cookie'.
+ *
+ * @param string|string[] $values Header value as returned by MessageInterface::getHeader()
+ *
+ * @return string[]
+ */
+ public static function splitList($values) : array
+ {
+ if (!\is_array($values)) {
+ $values = [$values];
}
$result = [];
- foreach ($header as $value) {
- foreach ((array) $value as $v) {
- if (\strpos($v, ',') === \false) {
- $result[] = $v;
+ foreach ($values as $value) {
+ if (!\is_string($value)) {
+ throw new \TypeError('$header must either be a string or an array containing strings.');
+ }
+ $v = '';
+ $isQuoted = \false;
+ $isEscaped = \false;
+ for ($i = 0, $max = \strlen($value); $i < $max; ++$i) {
+ if ($isEscaped) {
+ $v .= $value[$i];
+ $isEscaped = \false;
continue;
}
- foreach (\preg_split('/,(?=([^"]*"[^"]*")*[^"]*$)/', $v) as $vv) {
- $result[] = \trim($vv);
+ if (!$isQuoted && $value[$i] === ',') {
+ $v = \trim($v);
+ if ($v !== '') {
+ $result[] = $v;
+ }
+ $v = '';
+ continue;
}
+ if ($isQuoted && $value[$i] === '\\') {
+ $isEscaped = \true;
+ $v .= $value[$i];
+ continue;
+ }
+ if ($value[$i] === '"') {
+ $isQuoted = !$isQuoted;
+ $v .= $value[$i];
+ continue;
+ }
+ $v .= $value[$i];
+ }
+ $v = \trim($v);
+ if ($v !== '') {
+ $result[] = $v;
}
}
return $result;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php
new file mode 100755
index 000000000..24b5a0e5c
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/HttpFactory.php
@@ -0,0 +1,76 @@
+getSize();
+ }
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\UploadedFile($stream, $size, $error, $clientFilename, $clientMediaType);
+ }
+ public function createStream(string $content = '') : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
+ {
+ return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($content);
+ }
+ public function createStreamFromFile(string $file, string $mode = 'r') : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
+ {
+ try {
+ $resource = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen($file, $mode);
+ } catch (\RuntimeException $e) {
+ if ('' === $mode || \false === \in_array($mode[0], ['r', 'w', 'a', 'x', 'c'], \true)) {
+ throw new \InvalidArgumentException(\sprintf('Invalid file opening mode "%s"', $mode), 0, $e);
+ }
+ throw $e;
+ }
+ return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($resource);
+ }
+ public function createStreamFromResource($resource) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
+ {
+ return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($resource);
+ }
+ public function createServerRequest(string $method, $uri, array $serverParams = []) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
+ {
+ if (empty($method)) {
+ if (!empty($serverParams['REQUEST_METHOD'])) {
+ $method = $serverParams['REQUEST_METHOD'];
+ } else {
+ throw new \InvalidArgumentException('Cannot determine HTTP method');
+ }
+ }
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest($method, $uri, [], null, '1.1', $serverParams);
+ }
+ public function createResponse(int $code = 200, string $reasonPhrase = '') : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
+ {
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response($code, [], null, '1.1', $reasonPhrase);
+ }
+ public function createRequest(string $method, $uri) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
+ {
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request($method, $uri);
+ }
+ public function createUri(string $uri = '') : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
+ {
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Uri($uri);
+ }
+}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php
index e3f6d487f..9bbd432af 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/InflateStream.php
@@ -1,51 +1,33 @@
read(10);
- $filenameHeaderLength = $this->getLengthOfPossibleFilenameHeader($stream, $header);
- // Skip the header, that is 10 + length of filename + 1 (nil) bytes
- $stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\LimitStream($stream, -1, 10 + $filenameHeaderLength);
$resource = \YoastSEO_Vendor\GuzzleHttp\Psr7\StreamWrapper::getResource($stream);
- \stream_filter_append($resource, 'zlib.inflate', \STREAM_FILTER_READ);
+ // Specify window=15+32, so zlib will use header detection to both gzip (with header) and zlib data
+ // See http://www.zlib.net/manual.html#Advanced definition of inflateInit2
+ // "Add 32 to windowBits to enable zlib and gzip decoding with automatic header detection"
+ // Default window size is 15.
+ \stream_filter_append($resource, 'zlib.inflate', \STREAM_FILTER_READ, ['window' => 15 + 32]);
$this->stream = $stream->isSeekable() ? new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($resource) : new \YoastSEO_Vendor\GuzzleHttp\Psr7\NoSeekStream(new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($resource));
}
- /**
- * @param StreamInterface $stream
- * @param $header
- *
- * @return int
- */
- private function getLengthOfPossibleFilenameHeader(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $header)
- {
- $filename_header_length = 0;
- if (\substr(\bin2hex($header), 6, 2) === '08') {
- // we have a filename, read until nil
- $filename_header_length = 1;
- while ($stream->read(1) !== \chr(0)) {
- $filename_header_length++;
- }
- }
- return $filename_header_length;
- }
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php
index 74fe70937..02de7622c 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LazyOpenStream.php
@@ -1,36 +1,40 @@
filename = $filename;
$this->mode = $mode;
+ // unsetting the property forces the first access to go through
+ // __get().
+ unset($this->stream);
}
/**
* Creates the underlying stream lazily when required.
- *
- * @return StreamInterface
*/
- protected function createStream()
+ protected function createStream() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryFopen($this->filename, $this->mode));
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php
index 495b3ffbc..536efe4a0 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/LimitStream.php
@@ -1,20 +1,21 @@
stream = $stream;
$this->setLimit($limit);
$this->setOffset($offset);
}
- public function eof()
+ public function eof() : bool
{
// Always return true if the underlying stream is EOF
if ($this->stream->eof()) {
return \true;
}
// No limit and the underlying stream is not at EOF
- if ($this->limit == -1) {
+ if ($this->limit === -1) {
return \false;
}
return $this->stream->tell() >= $this->offset + $this->limit;
}
/**
* Returns the size of the limited subset of data
- * {@inheritdoc}
*/
- public function getSize()
+ public function getSize() : ?int
{
if (null === ($length = $this->stream->getSize())) {
return null;
- } elseif ($this->limit == -1) {
+ } elseif ($this->limit === -1) {
return $length - $this->offset;
} else {
return \min($this->limit, $length - $this->offset);
@@ -56,9 +56,8 @@ public function getSize()
}
/**
* Allow for a bounded seek on the read limited stream
- * {@inheritdoc}
*/
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
if ($whence !== \SEEK_SET || $offset < 0) {
throw new \RuntimeException(\sprintf('Cannot seek to offset %s with whence %s', $offset, $whence));
@@ -73,9 +72,8 @@ public function seek($offset, $whence = \SEEK_SET)
}
/**
* Give a relative tell()
- * {@inheritdoc}
*/
- public function tell()
+ public function tell() : int
{
return $this->stream->tell() - $this->offset;
}
@@ -86,7 +84,7 @@ public function tell()
*
* @throws \RuntimeException if the stream cannot be seeked.
*/
- public function setOffset($offset)
+ public function setOffset(int $offset) : void
{
$current = $this->stream->tell();
if ($current !== $offset) {
@@ -108,13 +106,13 @@ public function setOffset($offset)
* @param int $limit Number of bytes to allow to be read from the stream.
* Use -1 for no limit.
*/
- public function setLimit($limit)
+ public function setLimit(int $limit) : void
{
$this->limit = $limit;
}
- public function read($length)
+ public function read($length) : string
{
- if ($this->limit == -1) {
+ if ($this->limit === -1) {
return $this->stream->read($length);
}
// Check if the current position is less than the total allowed
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php
index ad5b74527..e727731fb 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Message.php
@@ -1,5 +1,6 @@
getMethod() . ' ' . $message->getRequestTarget()) . ' HTTP/' . $message->getProtocolVersion();
@@ -27,7 +26,7 @@ public static function toString(\YoastSEO_Vendor\Psr\Http\Message\MessageInterfa
throw new \InvalidArgumentException('Unknown message type');
}
foreach ($message->getHeaders() as $name => $values) {
- if (\strtolower($name) === 'set-cookie') {
+ if (\is_string($name) && \strtolower($name) === 'set-cookie') {
foreach ($values as $value) {
$msg .= "\r\n{$name}: " . $value;
}
@@ -44,10 +43,8 @@ public static function toString(\YoastSEO_Vendor\Psr\Http\Message\MessageInterfa
*
* @param MessageInterface $message The message to get the body summary
* @param int $truncateAt The maximum allowed size of the summary
- *
- * @return string|null
*/
- public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message, $truncateAt = 120)
+ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message, int $truncateAt = 120) : ?string
{
$body = $message->getBody();
if (!$body->isSeekable() || !$body->isReadable()) {
@@ -57,6 +54,7 @@ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInte
if ($size === 0) {
return null;
}
+ $body->rewind();
$summary = $body->read($truncateAt);
$body->rewind();
if ($size > $truncateAt) {
@@ -64,7 +62,7 @@ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInte
}
// Matches any printable character, including unicode characters:
// letters, marks, numbers, punctuation, spacing, and separators.
- if (\preg_match('/[^\\pL\\pM\\pN\\pP\\pS\\pZ\\n\\r\\t]/u', $summary)) {
+ if (\preg_match('/[^\\pL\\pM\\pN\\pP\\pS\\pZ\\n\\r\\t]/u', $summary) !== 0) {
return null;
}
return $summary;
@@ -79,7 +77,7 @@ public static function bodySummary(\YoastSEO_Vendor\Psr\Http\Message\MessageInte
*
* @throws \RuntimeException
*/
- public static function rewindBody(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message)
+ public static function rewindBody(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message) : void
{
$body = $message->getBody();
if ($body->tell()) {
@@ -94,10 +92,8 @@ public static function rewindBody(\YoastSEO_Vendor\Psr\Http\Message\MessageInter
* array values, and a "body" key containing the body of the message.
*
* @param string $message HTTP request or response to parse.
- *
- * @return array
*/
- public static function parseMessage($message)
+ public static function parseMessage(string $message) : array
{
if (!$message) {
throw new \InvalidArgumentException('Invalid message');
@@ -107,14 +103,14 @@ public static function parseMessage($message)
if ($messageParts === \false || \count($messageParts) !== 2) {
throw new \InvalidArgumentException('Invalid message: Missing header delimiter');
}
- list($rawHeaders, $body) = $messageParts;
+ [$rawHeaders, $body] = $messageParts;
$rawHeaders .= "\r\n";
// Put back the delimiter we split previously
$headerParts = \preg_split("/\r?\n/", $rawHeaders, 2);
if ($headerParts === \false || \count($headerParts) !== 2) {
throw new \InvalidArgumentException('Invalid message: Missing status line');
}
- list($startLine, $rawHeaders) = $headerParts;
+ [$startLine, $rawHeaders] = $headerParts;
if (\preg_match("/(?:^HTTP\\/|^[A-Z]+ \\S+ HTTP\\/)(\\d+(?:\\.\\d+)?)/i", $startLine, $matches) && $matches[1] === '1.0') {
// Header folding is deprecated for HTTP/1.1, but allowed in HTTP/1.0
$rawHeaders = \preg_replace(\YoastSEO_Vendor\GuzzleHttp\Psr7\Rfc7230::HEADER_FOLD_REGEX, ' ', $rawHeaders);
@@ -140,12 +136,12 @@ public static function parseMessage($message)
*
* @param string $path Path from the start-line
* @param array $headers Array of headers (each value an array).
- *
- * @return string
*/
- public static function parseRequestUri($path, array $headers)
+ public static function parseRequestUri(string $path, array $headers) : string
{
$hostKey = \array_filter(\array_keys($headers), function ($k) {
+ // Numeric array keys are converted to int by PHP.
+ $k = (string) $k;
return \strtolower($k) === 'host';
});
// If no host is found, then a full URI cannot be constructed.
@@ -160,10 +156,8 @@ public static function parseRequestUri($path, array $headers)
* Parses a request message string into a request object.
*
* @param string $message Request message string.
- *
- * @return Request
*/
- public static function parseRequest($message)
+ public static function parseRequest(string $message) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
$data = self::parseMessage($message);
$matches = [];
@@ -179,10 +173,8 @@ public static function parseRequest($message)
* Parses a response message string into a response object.
*
* @param string $message Response message string.
- *
- * @return Response
*/
- public static function parseResponse($message)
+ public static function parseResponse(string $message) : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
{
$data = self::parseMessage($message);
// According to https://tools.ietf.org/html/rfc7230#section-3.1.2 the space
@@ -192,6 +184,6 @@ public static function parseResponse($message)
throw new \InvalidArgumentException('Invalid response string: ' . $data['start-line']);
}
$parts = \explode(' ', $data['start-line'], 3);
- return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response((int) $parts[1], $data['headers'], $data['body'], \explode('/', $parts[0])[1], isset($parts[2]) ? $parts[2] : null);
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Response((int) $parts[1], $data['headers'], $data['body'], \explode('/', $parts[0])[1], $parts[2] ?? null);
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php
index 4cb00ed6b..2bfcd5343 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MessageTrait.php
@@ -1,26 +1,28 @@
array of values */
+ /** @var string[][] Map of all registered headers, as original name => array of values */
private $headers = [];
- /** @var array Map of lowercase header name => original name at registration */
+ /** @var string[] Map of lowercase header name => original name at registration */
private $headerNames = [];
/** @var string */
private $protocol = '1.1';
/** @var StreamInterface|null */
private $stream;
- public function getProtocolVersion()
+ public function getProtocolVersion() : string
{
return $this->protocol;
}
- public function withProtocolVersion($version)
+ public function withProtocolVersion($version) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface
{
if ($this->protocol === $version) {
return $this;
@@ -29,15 +31,15 @@ public function withProtocolVersion($version)
$new->protocol = $version;
return $new;
}
- public function getHeaders()
+ public function getHeaders() : array
{
return $this->headers;
}
- public function hasHeader($header)
+ public function hasHeader($header) : bool
{
return isset($this->headerNames[\strtolower($header)]);
}
- public function getHeader($header)
+ public function getHeader($header) : array
{
$header = \strtolower($header);
if (!isset($this->headerNames[$header])) {
@@ -46,11 +48,11 @@ public function getHeader($header)
$header = $this->headerNames[$header];
return $this->headers[$header];
}
- public function getHeaderLine($header)
+ public function getHeaderLine($header) : string
{
return \implode(', ', $this->getHeader($header));
}
- public function withHeader($header, $value)
+ public function withHeader($header, $value) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface
{
$this->assertHeader($header);
$value = $this->normalizeHeaderValue($value);
@@ -63,7 +65,7 @@ public function withHeader($header, $value)
$new->headers[$header] = $value;
return $new;
}
- public function withAddedHeader($header, $value)
+ public function withAddedHeader($header, $value) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface
{
$this->assertHeader($header);
$value = $this->normalizeHeaderValue($value);
@@ -78,7 +80,7 @@ public function withAddedHeader($header, $value)
}
return $new;
}
- public function withoutHeader($header)
+ public function withoutHeader($header) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface
{
$normalized = \strtolower($header);
if (!isset($this->headerNames[$normalized])) {
@@ -89,14 +91,14 @@ public function withoutHeader($header)
unset($new->headers[$header], $new->headerNames[$normalized]);
return $new;
}
- public function getBody()
+ public function getBody() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
if (!$this->stream) {
$this->stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor('');
}
return $this->stream;
}
- public function withBody(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $body)
+ public function withBody(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $body) : \YoastSEO_Vendor\Psr\Http\Message\MessageInterface
{
if ($body === $this->stream) {
return $this;
@@ -105,15 +107,15 @@ public function withBody(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $body
$new->stream = $body;
return $new;
}
- private function setHeaders(array $headers)
+ /**
+ * @param array $headers
+ */
+ private function setHeaders(array $headers) : void
{
$this->headerNames = $this->headers = [];
foreach ($headers as $header => $value) {
- if (\is_int($header)) {
- // Numeric array keys are converted to int by PHP but having a header name '123' is not forbidden by the spec
- // and also allowed in withHeader(). So we need to cast it to string again for the following assertion to pass.
- $header = (string) $header;
- }
+ // Numeric array keys are converted to int by PHP.
+ $header = (string) $header;
$this->assertHeader($header);
$value = $this->normalizeHeaderValue($value);
$normalized = \strtolower($header);
@@ -131,7 +133,7 @@ private function setHeaders(array $headers)
*
* @return string[]
*/
- private function normalizeHeaderValue($value)
+ private function normalizeHeaderValue($value) : array
{
if (!\is_array($value)) {
return $this->trimAndValidateHeaderValues([$value]);
@@ -155,7 +157,7 @@ private function normalizeHeaderValue($value)
*
* @see https://tools.ietf.org/html/rfc7230#section-3.2.4
*/
- private function trimAndValidateHeaderValues(array $values)
+ private function trimAndValidateHeaderValues(array $values) : array
{
return \array_map(function ($value) {
if (!\is_scalar($value) && null !== $value) {
@@ -170,26 +172,17 @@ private function trimAndValidateHeaderValues(array $values)
* @see https://tools.ietf.org/html/rfc7230#section-3.2
*
* @param mixed $header
- *
- * @return void
*/
- private function assertHeader($header)
+ private function assertHeader($header) : void
{
if (!\is_string($header)) {
throw new \InvalidArgumentException(\sprintf('Header name must be a string but %s provided.', \is_object($header) ? \get_class($header) : \gettype($header)));
}
- if ($header === '') {
- throw new \InvalidArgumentException('Header name can not be empty.');
- }
if (!\preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/D', $header)) {
throw new \InvalidArgumentException(\sprintf('"%s" is not valid header name.', $header));
}
}
/**
- * @param string $value
- *
- * @return void
- *
* @see https://tools.ietf.org/html/rfc7230#section-3.2
*
* field-value = *( field-content / obs-fold )
@@ -199,7 +192,7 @@ private function assertHeader($header)
* obs-text = %x80-FF
* obs-fold = CRLF 1*( SP / HTAB )
*/
- private function assertValue($value)
+ private function assertValue(string $value) : void
{
// The regular expression intentionally does not support the obs-fold production, because as
// per RFC 7230#3.2.4:
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php
index e1001fb74..6306ab282 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MimeType.php
@@ -1,33 +1,27 @@
'application/vnd.1000minds.decision-model+xml', '3dml' => 'text/vnd.in3d.3dml', '3ds' => 'image/x-3ds', '3g2' => 'video/3gpp2', '3gp' => 'video/3gp', '3gpp' => 'video/3gpp', '3mf' => 'model/3mf', '7z' => 'application/x-7z-compressed', '7zip' => 'application/x-7z-compressed', '123' => 'application/vnd.lotus-1-2-3', 'aab' => 'application/x-authorware-bin', 'aac' => 'audio/aac', 'aam' => 'application/x-authorware-map', 'aas' => 'application/x-authorware-seg', 'abw' => 'application/x-abiword', 'ac' => 'application/vnd.nokia.n-gage.ac+xml', 'ac3' => 'audio/ac3', 'acc' => 'application/vnd.americandynamics.acc', 'ace' => 'application/x-ace-compressed', 'acu' => 'application/vnd.acucobol', 'acutc' => 'application/vnd.acucorp', 'adp' => 'audio/adpcm', 'adts' => 'audio/aac', 'aep' => 'application/vnd.audiograph', 'afm' => 'application/x-font-type1', 'afp' => 'application/vnd.ibm.modcap', 'age' => 'application/vnd.age', 'ahead' => 'application/vnd.ahead.space', 'ai' => 'application/pdf', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'air' => 'application/vnd.adobe.air-application-installer-package+zip', 'ait' => 'application/vnd.dvb.ait', 'ami' => 'application/vnd.amiga.ami', 'aml' => 'application/automationml-aml+xml', 'amlx' => 'application/automationml-amlx+zip', 'amr' => 'audio/amr', 'apk' => 'application/vnd.android.package-archive', 'apng' => 'image/apng', 'appcache' => 'text/cache-manifest', 'appinstaller' => 'application/appinstaller', 'application' => 'application/x-ms-application', 'appx' => 'application/appx', 'appxbundle' => 'application/appxbundle', 'apr' => 'application/vnd.lotus-approach', 'arc' => 'application/x-freearc', 'arj' => 'application/x-arj', 'asc' => 'application/pgp-signature', 'asf' => 'video/x-ms-asf', 'asm' => 'text/x-asm', 'aso' => 'application/vnd.accpac.simply.aso', 'asx' => 'video/x-ms-asf', 'atc' => 'application/vnd.acucorp', 'atom' => 'application/atom+xml', 'atomcat' => 'application/atomcat+xml', 'atomdeleted' => 'application/atomdeleted+xml', 'atomsvc' => 'application/atomsvc+xml', 'atx' => 'application/vnd.antix.game-component', 'au' => 'audio/x-au', 'avci' => 'image/avci', 'avcs' => 'image/avcs', 'avi' => 'video/x-msvideo', 'avif' => 'image/avif', 'aw' => 'application/applixware', 'azf' => 'application/vnd.airzip.filesecure.azf', 'azs' => 'application/vnd.airzip.filesecure.azs', 'azv' => 'image/vnd.airzip.accelerator.azv', 'azw' => 'application/vnd.amazon.ebook', 'b16' => 'image/vnd.pco.b16', 'bat' => 'application/x-msdownload', 'bcpio' => 'application/x-bcpio', 'bdf' => 'application/x-font-bdf', 'bdm' => 'application/vnd.syncml.dm+wbxml', 'bdoc' => 'application/x-bdoc', 'bed' => 'application/vnd.realvnc.bed', 'bh2' => 'application/vnd.fujitsu.oasysprs', 'bin' => 'application/octet-stream', 'blb' => 'application/x-blorb', 'blorb' => 'application/x-blorb', 'bmi' => 'application/vnd.bmi', 'bmml' => 'application/vnd.balsamiq.bmml+xml', 'bmp' => 'image/bmp', 'book' => 'application/vnd.framemaker', 'box' => 'application/vnd.previewsystems.box', 'boz' => 'application/x-bzip2', 'bpk' => 'application/octet-stream', 'bpmn' => 'application/octet-stream', 'bsp' => 'model/vnd.valve.source.compiled-map', 'btf' => 'image/prs.btif', 'btif' => 'image/prs.btif', 'buffer' => 'application/octet-stream', 'bz' => 'application/x-bzip', 'bz2' => 'application/x-bzip2', 'c' => 'text/x-c', 'c4d' => 'application/vnd.clonk.c4group', 'c4f' => 'application/vnd.clonk.c4group', 'c4g' => 'application/vnd.clonk.c4group', 'c4p' => 'application/vnd.clonk.c4group', 'c4u' => 'application/vnd.clonk.c4group', 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', 'cab' => 'application/vnd.ms-cab-compressed', 'caf' => 'audio/x-caf', 'cap' => 'application/vnd.tcpdump.pcap', 'car' => 'application/vnd.curl.car', 'cat' => 'application/vnd.ms-pki.seccat', 'cb7' => 'application/x-cbr', 'cba' => 'application/x-cbr', 'cbr' => 'application/x-cbr', 'cbt' => 'application/x-cbr', 'cbz' => 'application/x-cbr', 'cc' => 'text/x-c', 'cco' => 'application/x-cocoa', 'cct' => 'application/x-director', 'ccxml' => 'application/ccxml+xml', 'cdbcmsg' => 'application/vnd.contact.cmsg', 'cdf' => 'application/x-netcdf', 'cdfx' => 'application/cdfx+xml', 'cdkey' => 'application/vnd.mediastation.cdkey', 'cdmia' => 'application/cdmi-capability', 'cdmic' => 'application/cdmi-container', 'cdmid' => 'application/cdmi-domain', 'cdmio' => 'application/cdmi-object', 'cdmiq' => 'application/cdmi-queue', 'cdr' => 'application/cdr', 'cdx' => 'chemical/x-cdx', 'cdxml' => 'application/vnd.chemdraw+xml', 'cdy' => 'application/vnd.cinderella', 'cer' => 'application/pkix-cert', 'cfs' => 'application/x-cfs-compressed', 'cgm' => 'image/cgm', 'chat' => 'application/x-chat', 'chm' => 'application/vnd.ms-htmlhelp', 'chrt' => 'application/vnd.kde.kchart', 'cif' => 'chemical/x-cif', 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', 'cil' => 'application/vnd.ms-artgalry', 'cjs' => 'application/node', 'cla' => 'application/vnd.claymore', 'class' => 'application/octet-stream', 'cld' => 'model/vnd.cld', 'clkk' => 'application/vnd.crick.clicker.keyboard', 'clkp' => 'application/vnd.crick.clicker.palette', 'clkt' => 'application/vnd.crick.clicker.template', 'clkw' => 'application/vnd.crick.clicker.wordbank', 'clkx' => 'application/vnd.crick.clicker', 'clp' => 'application/x-msclip', 'cmc' => 'application/vnd.cosmocaller', 'cmdf' => 'chemical/x-cmdf', 'cml' => 'chemical/x-cml', 'cmp' => 'application/vnd.yellowriver-custom-menu', 'cmx' => 'image/x-cmx', 'cod' => 'application/vnd.rim.cod', 'coffee' => 'text/coffeescript', 'com' => 'application/x-msdownload', 'conf' => 'text/plain', 'cpio' => 'application/x-cpio', 'cpl' => 'application/cpl+xml', 'cpp' => 'text/x-c', 'cpt' => 'application/mac-compactpro', 'crd' => 'application/x-mscardfile', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'crx' => 'application/x-chrome-extension', 'cryptonote' => 'application/vnd.rig.cryptonote', 'csh' => 'application/x-csh', 'csl' => 'application/vnd.citationstyles.style+xml', 'csml' => 'chemical/x-csml', 'csp' => 'application/vnd.commonspace', 'csr' => 'application/octet-stream', 'css' => 'text/css', 'cst' => 'application/x-director', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'curl' => 'text/vnd.curl', 'cwl' => 'application/cwl', 'cww' => 'application/prs.cww', 'cxt' => 'application/x-director', 'cxx' => 'text/x-c', 'dae' => 'model/vnd.collada+xml', 'daf' => 'application/vnd.mobius.daf', 'dart' => 'application/vnd.dart', 'dataless' => 'application/vnd.fdsn.seed', 'davmount' => 'application/davmount+xml', 'dbf' => 'application/vnd.dbf', 'dbk' => 'application/docbook+xml', 'dcr' => 'application/x-director', 'dcurl' => 'text/vnd.curl.dcurl', 'dd2' => 'application/vnd.oma.dd2+xml', 'ddd' => 'application/vnd.fujixerox.ddd', 'ddf' => 'application/vnd.syncml.dmddf+xml', 'dds' => 'image/vnd.ms-dds', 'deb' => 'application/x-debian-package', 'def' => 'text/plain', 'deploy' => 'application/octet-stream', 'der' => 'application/x-x509-ca-cert', 'dfac' => 'application/vnd.dreamfactory', 'dgc' => 'application/x-dgc-compressed', 'dib' => 'image/bmp', 'dic' => 'text/x-c', 'dir' => 'application/x-director', 'dis' => 'application/vnd.mobius.dis', 'disposition-notification' => 'message/disposition-notification', 'dist' => 'application/octet-stream', 'distz' => 'application/octet-stream', 'djv' => 'image/vnd.djvu', 'djvu' => 'image/vnd.djvu', 'dll' => 'application/octet-stream', 'dmg' => 'application/x-apple-diskimage', 'dmn' => 'application/octet-stream', 'dmp' => 'application/vnd.tcpdump.pcap', 'dms' => 'application/octet-stream', 'dna' => 'application/vnd.dna', 'doc' => 'application/msword', 'docm' => 'application/vnd.ms-word.template.macroEnabled.12', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dot' => 'application/msword', 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12', 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dp' => 'application/vnd.osgi.dp', 'dpg' => 'application/vnd.dpgraph', 'dpx' => 'image/dpx', 'dra' => 'audio/vnd.dra', 'drle' => 'image/dicom-rle', 'dsc' => 'text/prs.lines.tag', 'dssc' => 'application/dssc+der', 'dtb' => 'application/x-dtbook+xml', 'dtd' => 'application/xml-dtd', 'dts' => 'audio/vnd.dts', 'dtshd' => 'audio/vnd.dts.hd', 'dump' => 'application/octet-stream', 'dvb' => 'video/vnd.dvb.file', 'dvi' => 'application/x-dvi', 'dwd' => 'application/atsc-dwd+xml', 'dwf' => 'model/vnd.dwf', 'dwg' => 'image/vnd.dwg', 'dxf' => 'image/vnd.dxf', 'dxp' => 'application/vnd.spotfire.dxp', 'dxr' => 'application/x-director', 'ear' => 'application/java-archive', 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', 'ecma' => 'application/ecmascript', 'edm' => 'application/vnd.novadigm.edm', 'edx' => 'application/vnd.novadigm.edx', 'efif' => 'application/vnd.picsel', 'ei6' => 'application/vnd.pg.osasli', 'elc' => 'application/octet-stream', 'emf' => 'image/emf', 'eml' => 'message/rfc822', 'emma' => 'application/emma+xml', 'emotionml' => 'application/emotionml+xml', 'emz' => 'application/x-msmetafile', 'eol' => 'audio/vnd.digital-winds', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'es3' => 'application/vnd.eszigno3+xml', 'esa' => 'application/vnd.osgi.subsystem', 'esf' => 'application/vnd.epson.esf', 'et3' => 'application/vnd.eszigno3+xml', 'etx' => 'text/x-setext', 'eva' => 'application/x-eva', 'evy' => 'application/x-envoy', 'exe' => 'application/octet-stream', 'exi' => 'application/exi', 'exp' => 'application/express', 'exr' => 'image/aces', 'ext' => 'application/vnd.novadigm.ext', 'ez' => 'application/andrew-inset', 'ez2' => 'application/vnd.ezpix-album', 'ez3' => 'application/vnd.ezpix-package', 'f' => 'text/x-fortran', 'f4v' => 'video/mp4', 'f77' => 'text/x-fortran', 'f90' => 'text/x-fortran', 'fbs' => 'image/vnd.fastbidsheet', 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', 'fcs' => 'application/vnd.isac.fcs', 'fdf' => 'application/vnd.fdf', 'fdt' => 'application/fdt+xml', 'fe_launch' => 'application/vnd.denovo.fcselayout-link', 'fg5' => 'application/vnd.fujitsu.oasysgp', 'fgd' => 'application/x-director', 'fh' => 'image/x-freehand', 'fh4' => 'image/x-freehand', 'fh5' => 'image/x-freehand', 'fh7' => 'image/x-freehand', 'fhc' => 'image/x-freehand', 'fig' => 'application/x-xfig', 'fits' => 'image/fits', 'flac' => 'audio/x-flac', 'fli' => 'video/x-fli', 'flo' => 'application/vnd.micrografx.flo', 'flv' => 'video/x-flv', 'flw' => 'application/vnd.kde.kivio', 'flx' => 'text/vnd.fmi.flexstor', 'fly' => 'text/vnd.fly', 'fm' => 'application/vnd.framemaker', 'fnc' => 'application/vnd.frogans.fnc', 'fo' => 'application/vnd.software602.filler.form+xml', 'for' => 'text/x-fortran', 'fpx' => 'image/vnd.fpx', 'frame' => 'application/vnd.framemaker', 'fsc' => 'application/vnd.fsc.weblaunch', 'fst' => 'image/vnd.fst', 'ftc' => 'application/vnd.fluxtime.clip', 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', 'fvt' => 'video/vnd.fvt', 'fxp' => 'application/vnd.adobe.fxp', 'fxpl' => 'application/vnd.adobe.fxp', 'fzs' => 'application/vnd.fuzzysheet', 'g2w' => 'application/vnd.geoplan', 'g3' => 'image/g3fax', 'g3w' => 'application/vnd.geospace', 'gac' => 'application/vnd.groove-account', 'gam' => 'application/x-tads', 'gbr' => 'application/rpki-ghostbusters', 'gca' => 'application/x-gca-compressed', 'gdl' => 'model/vnd.gdl', 'gdoc' => 'application/vnd.google-apps.document', 'ged' => 'text/vnd.familysearch.gedcom', 'geo' => 'application/vnd.dynageo', 'geojson' => 'application/geo+json', 'gex' => 'application/vnd.geometry-explorer', 'ggb' => 'application/vnd.geogebra.file', 'ggt' => 'application/vnd.geogebra.tool', 'ghf' => 'application/vnd.groove-help', 'gif' => 'image/gif', 'gim' => 'application/vnd.groove-identity-message', 'glb' => 'model/gltf-binary', 'gltf' => 'model/gltf+json', 'gml' => 'application/gml+xml', 'gmx' => 'application/vnd.gmx', 'gnumeric' => 'application/x-gnumeric', 'gpg' => 'application/gpg-keys', 'gph' => 'application/vnd.flographit', 'gpx' => 'application/gpx+xml', 'gqf' => 'application/vnd.grafeq', 'gqs' => 'application/vnd.grafeq', 'gram' => 'application/srgs', 'gramps' => 'application/x-gramps-xml', 'gre' => 'application/vnd.geometry-explorer', 'grv' => 'application/vnd.groove-injector', 'grxml' => 'application/srgs+xml', 'gsf' => 'application/x-font-ghostscript', 'gsheet' => 'application/vnd.google-apps.spreadsheet', 'gslides' => 'application/vnd.google-apps.presentation', 'gtar' => 'application/x-gtar', 'gtm' => 'application/vnd.groove-tool-message', 'gtw' => 'model/vnd.gtw', 'gv' => 'text/vnd.graphviz', 'gxf' => 'application/gxf', 'gxt' => 'application/vnd.geonext', 'gz' => 'application/gzip', 'gzip' => 'application/gzip', 'h' => 'text/x-c', 'h261' => 'video/h261', 'h263' => 'video/h263', 'h264' => 'video/h264', 'hal' => 'application/vnd.hal+xml', 'hbci' => 'application/vnd.hbci', 'hbs' => 'text/x-handlebars-template', 'hdd' => 'application/x-virtualbox-hdd', 'hdf' => 'application/x-hdf', 'heic' => 'image/heic', 'heics' => 'image/heic-sequence', 'heif' => 'image/heif', 'heifs' => 'image/heif-sequence', 'hej2' => 'image/hej2k', 'held' => 'application/atsc-held+xml', 'hh' => 'text/x-c', 'hjson' => 'application/hjson', 'hlp' => 'application/winhlp', 'hpgl' => 'application/vnd.hp-hpgl', 'hpid' => 'application/vnd.hp-hpid', 'hps' => 'application/vnd.hp-hps', 'hqx' => 'application/mac-binhex40', 'hsj2' => 'image/hsj2', 'htc' => 'text/x-component', 'htke' => 'application/vnd.kenameaapp', 'htm' => 'text/html', 'html' => 'text/html', 'hvd' => 'application/vnd.yamaha.hv-dic', 'hvp' => 'application/vnd.yamaha.hv-voice', 'hvs' => 'application/vnd.yamaha.hv-script', 'i2g' => 'application/vnd.intergeo', 'icc' => 'application/vnd.iccprofile', 'ice' => 'x-conference/x-cooltalk', 'icm' => 'application/vnd.iccprofile', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ief' => 'image/ief', 'ifb' => 'text/calendar', 'ifm' => 'application/vnd.shana.informed.formdata', 'iges' => 'model/iges', 'igl' => 'application/vnd.igloader', 'igm' => 'application/vnd.insors.igm', 'igs' => 'model/iges', 'igx' => 'application/vnd.micrografx.igx', 'iif' => 'application/vnd.shana.informed.interchange', 'img' => 'application/octet-stream', 'imp' => 'application/vnd.accpac.simply.imp', 'ims' => 'application/vnd.ms-ims', 'in' => 'text/plain', 'ini' => 'text/plain', 'ink' => 'application/inkml+xml', 'inkml' => 'application/inkml+xml', 'install' => 'application/x-install-instructions', 'iota' => 'application/vnd.astraea-software.iota', 'ipfix' => 'application/ipfix', 'ipk' => 'application/vnd.shana.informed.package', 'irm' => 'application/vnd.ibm.rights-management', 'irp' => 'application/vnd.irepository.package+xml', 'iso' => 'application/x-iso9660-image', 'itp' => 'application/vnd.shana.informed.formtemplate', 'its' => 'application/its+xml', 'ivp' => 'application/vnd.immervision-ivp', 'ivu' => 'application/vnd.immervision-ivu', 'jad' => 'text/vnd.sun.j2me.app-descriptor', 'jade' => 'text/jade', 'jam' => 'application/vnd.jam', 'jar' => 'application/java-archive', 'jardiff' => 'application/x-java-archive-diff', 'java' => 'text/x-java-source', 'jhc' => 'image/jphc', 'jisp' => 'application/vnd.jisp', 'jls' => 'image/jls', 'jlt' => 'application/vnd.hp-jlyt', 'jng' => 'image/x-jng', 'jnlp' => 'application/x-java-jnlp-file', 'joda' => 'application/vnd.joost.joda-archive', 'jp2' => 'image/jp2', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpf' => 'image/jpx', 'jpg' => 'image/jpeg', 'jpg2' => 'image/jp2', 'jpgm' => 'video/jpm', 'jpgv' => 'video/jpeg', 'jph' => 'image/jph', 'jpm' => 'video/jpm', 'jpx' => 'image/jpx', 'js' => 'application/javascript', 'json' => 'application/json', 'json5' => 'application/json5', 'jsonld' => 'application/ld+json', 'jsonml' => 'application/jsonml+json', 'jsx' => 'text/jsx', 'jt' => 'model/jt', 'jxr' => 'image/jxr', 'jxra' => 'image/jxra', 'jxrs' => 'image/jxrs', 'jxs' => 'image/jxs', 'jxsc' => 'image/jxsc', 'jxsi' => 'image/jxsi', 'jxss' => 'image/jxss', 'kar' => 'audio/midi', 'karbon' => 'application/vnd.kde.karbon', 'kdb' => 'application/octet-stream', 'kdbx' => 'application/x-keepass2', 'key' => 'application/x-iwork-keynote-sffkey', 'kfo' => 'application/vnd.kde.kformula', 'kia' => 'application/vnd.kidspiration', 'kml' => 'application/vnd.google-earth.kml+xml', 'kmz' => 'application/vnd.google-earth.kmz', 'kne' => 'application/vnd.kinar', 'knp' => 'application/vnd.kinar', 'kon' => 'application/vnd.kde.kontour', 'kpr' => 'application/vnd.kde.kpresenter', 'kpt' => 'application/vnd.kde.kpresenter', 'kpxx' => 'application/vnd.ds-keypoint', 'ksp' => 'application/vnd.kde.kspread', 'ktr' => 'application/vnd.kahootz', 'ktx' => 'image/ktx', 'ktx2' => 'image/ktx2', 'ktz' => 'application/vnd.kahootz', 'kwd' => 'application/vnd.kde.kword', 'kwt' => 'application/vnd.kde.kword', 'lasxml' => 'application/vnd.las.las+xml', 'latex' => 'application/x-latex', 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', 'les' => 'application/vnd.hhe.lesson-player', 'less' => 'text/less', 'lgr' => 'application/lgr+xml', 'lha' => 'application/octet-stream', 'link66' => 'application/vnd.route66.link66+xml', 'list' => 'text/plain', 'list3820' => 'application/vnd.ibm.modcap', 'listafp' => 'application/vnd.ibm.modcap', 'litcoffee' => 'text/coffeescript', 'lnk' => 'application/x-ms-shortcut', 'log' => 'text/plain', 'lostxml' => 'application/lost+xml', 'lrf' => 'application/octet-stream', 'lrm' => 'application/vnd.ms-lrm', 'ltf' => 'application/vnd.frogans.ltf', 'lua' => 'text/x-lua', 'luac' => 'application/x-lua-bytecode', 'lvp' => 'audio/vnd.lucent.voice', 'lwp' => 'application/vnd.lotus-wordpro', 'lzh' => 'application/octet-stream', 'm1v' => 'video/mpeg', 'm2a' => 'audio/mpeg', 'm2v' => 'video/mpeg', 'm3a' => 'audio/mpeg', 'm3u' => 'text/plain', 'm3u8' => 'application/vnd.apple.mpegurl', 'm4a' => 'audio/x-m4a', 'm4p' => 'application/mp4', 'm4s' => 'video/iso.segment', 'm4u' => 'application/vnd.mpegurl', 'm4v' => 'video/x-m4v', 'm13' => 'application/x-msmediaview', 'm14' => 'application/x-msmediaview', 'm21' => 'application/mp21', 'ma' => 'application/mathematica', 'mads' => 'application/mads+xml', 'maei' => 'application/mmt-aei+xml', 'mag' => 'application/vnd.ecowin.chart', 'maker' => 'application/vnd.framemaker', 'man' => 'text/troff', 'manifest' => 'text/cache-manifest', 'map' => 'application/json', 'mar' => 'application/octet-stream', 'markdown' => 'text/markdown', 'mathml' => 'application/mathml+xml', 'mb' => 'application/mathematica', 'mbk' => 'application/vnd.mobius.mbk', 'mbox' => 'application/mbox', 'mc1' => 'application/vnd.medcalcdata', 'mcd' => 'application/vnd.mcd', 'mcurl' => 'text/vnd.curl.mcurl', 'md' => 'text/markdown', 'mdb' => 'application/x-msaccess', 'mdi' => 'image/vnd.ms-modi', 'mdx' => 'text/mdx', 'me' => 'text/troff', 'mesh' => 'model/mesh', 'meta4' => 'application/metalink4+xml', 'metalink' => 'application/metalink+xml', 'mets' => 'application/mets+xml', 'mfm' => 'application/vnd.mfmp', 'mft' => 'application/rpki-manifest', 'mgp' => 'application/vnd.osgeo.mapguide.package', 'mgz' => 'application/vnd.proteus.magazine', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mie' => 'application/x-mie', 'mif' => 'application/vnd.mif', 'mime' => 'message/rfc822', 'mj2' => 'video/mj2', 'mjp2' => 'video/mj2', 'mjs' => 'text/javascript', 'mk3d' => 'video/x-matroska', 'mka' => 'audio/x-matroska', 'mkd' => 'text/x-markdown', 'mks' => 'video/x-matroska', 'mkv' => 'video/x-matroska', 'mlp' => 'application/vnd.dolby.mlp', 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', 'mmf' => 'application/vnd.smaf', 'mml' => 'text/mathml', 'mmr' => 'image/vnd.fujixerox.edmics-mmr', 'mng' => 'video/x-mng', 'mny' => 'application/x-msmoney', 'mobi' => 'application/x-mobipocket-ebook', 'mods' => 'application/mods+xml', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mp2' => 'audio/mpeg', 'mp2a' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4s' => 'application/mp4', 'mp4v' => 'video/mp4', 'mp21' => 'application/mp21', 'mpc' => 'application/vnd.mophun.certificate', 'mpd' => 'application/dash+xml', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpf' => 'application/media-policy-dataset+xml', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'mpga' => 'audio/mpeg', 'mpkg' => 'application/vnd.apple.installer+xml', 'mpm' => 'application/vnd.blueice.multipass', 'mpn' => 'application/vnd.mophun.application', 'mpp' => 'application/vnd.ms-project', 'mpt' => 'application/vnd.ms-project', 'mpy' => 'application/vnd.ibm.minipay', 'mqy' => 'application/vnd.mobius.mqy', 'mrc' => 'application/marc', 'mrcx' => 'application/marcxml+xml', 'ms' => 'text/troff', 'mscml' => 'application/mediaservercontrol+xml', 'mseed' => 'application/vnd.fdsn.mseed', 'mseq' => 'application/vnd.mseq', 'msf' => 'application/vnd.epson.msf', 'msg' => 'application/vnd.ms-outlook', 'msh' => 'model/mesh', 'msi' => 'application/x-msdownload', 'msix' => 'application/msix', 'msixbundle' => 'application/msixbundle', 'msl' => 'application/vnd.mobius.msl', 'msm' => 'application/octet-stream', 'msp' => 'application/octet-stream', 'msty' => 'application/vnd.muvee.style', 'mtl' => 'model/mtl', 'mts' => 'model/vnd.mts', 'mus' => 'application/vnd.musician', 'musd' => 'application/mmt-usd+xml', 'musicxml' => 'application/vnd.recordare.musicxml+xml', 'mvb' => 'application/x-msmediaview', 'mvt' => 'application/vnd.mapbox-vector-tile', 'mwf' => 'application/vnd.mfer', 'mxf' => 'application/mxf', 'mxl' => 'application/vnd.recordare.musicxml', 'mxmf' => 'audio/mobile-xmf', 'mxml' => 'application/xv+xml', 'mxs' => 'application/vnd.triscape.mxs', 'mxu' => 'video/vnd.mpegurl', 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', 'n3' => 'text/n3', 'nb' => 'application/mathematica', 'nbp' => 'application/vnd.wolfram.player', 'nc' => 'application/x-netcdf', 'ncx' => 'application/x-dtbncx+xml', 'nfo' => 'text/x-nfo', 'ngdat' => 'application/vnd.nokia.n-gage.data', 'nitf' => 'application/vnd.nitf', 'nlu' => 'application/vnd.neurolanguage.nlu', 'nml' => 'application/vnd.enliven', 'nnd' => 'application/vnd.noblenet-directory', 'nns' => 'application/vnd.noblenet-sealer', 'nnw' => 'application/vnd.noblenet-web', 'npx' => 'image/vnd.net-fpx', 'nq' => 'application/n-quads', 'nsc' => 'application/x-conference', 'nsf' => 'application/vnd.lotus-notes', 'nt' => 'application/n-triples', 'ntf' => 'application/vnd.nitf', 'numbers' => 'application/x-iwork-numbers-sffnumbers', 'nzb' => 'application/x-nzb', 'oa2' => 'application/vnd.fujitsu.oasys2', 'oa3' => 'application/vnd.fujitsu.oasys3', 'oas' => 'application/vnd.fujitsu.oasys', 'obd' => 'application/x-msbinder', 'obgx' => 'application/vnd.openblox.game+xml', 'obj' => 'model/obj', 'oda' => 'application/oda', 'odb' => 'application/vnd.oasis.opendocument.database', 'odc' => 'application/vnd.oasis.opendocument.chart', 'odf' => 'application/vnd.oasis.opendocument.formula', 'odft' => 'application/vnd.oasis.opendocument.formula-template', 'odg' => 'application/vnd.oasis.opendocument.graphics', 'odi' => 'application/vnd.oasis.opendocument.image', 'odm' => 'application/vnd.oasis.opendocument.text-master', 'odp' => 'application/vnd.oasis.opendocument.presentation', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', 'odt' => 'application/vnd.oasis.opendocument.text', 'oga' => 'audio/ogg', 'ogex' => 'model/vnd.opengex', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'omdoc' => 'application/omdoc+xml', 'onepkg' => 'application/onenote', 'onetmp' => 'application/onenote', 'onetoc' => 'application/onenote', 'onetoc2' => 'application/onenote', 'opf' => 'application/oebps-package+xml', 'opml' => 'text/x-opml', 'oprc' => 'application/vnd.palm', 'opus' => 'audio/ogg', 'org' => 'text/x-org', 'osf' => 'application/vnd.yamaha.openscoreformat', 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', 'osm' => 'application/vnd.openstreetmap.data+xml', 'otc' => 'application/vnd.oasis.opendocument.chart-template', 'otf' => 'font/otf', 'otg' => 'application/vnd.oasis.opendocument.graphics-template', 'oth' => 'application/vnd.oasis.opendocument.text-web', 'oti' => 'application/vnd.oasis.opendocument.image-template', 'otp' => 'application/vnd.oasis.opendocument.presentation-template', 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', 'ott' => 'application/vnd.oasis.opendocument.text-template', 'ova' => 'application/x-virtualbox-ova', 'ovf' => 'application/x-virtualbox-ovf', 'owl' => 'application/rdf+xml', 'oxps' => 'application/oxps', 'oxt' => 'application/vnd.openofficeorg.extension', 'p' => 'text/x-pascal', 'p7a' => 'application/x-pkcs7-signature', 'p7b' => 'application/x-pkcs7-certificates', 'p7c' => 'application/pkcs7-mime', 'p7m' => 'application/pkcs7-mime', 'p7r' => 'application/x-pkcs7-certreqresp', 'p7s' => 'application/pkcs7-signature', 'p8' => 'application/pkcs8', 'p10' => 'application/x-pkcs10', 'p12' => 'application/x-pkcs12', 'pac' => 'application/x-ns-proxy-autoconfig', 'pages' => 'application/x-iwork-pages-sffpages', 'pas' => 'text/x-pascal', 'paw' => 'application/vnd.pawaafile', 'pbd' => 'application/vnd.powerbuilder6', 'pbm' => 'image/x-portable-bitmap', 'pcap' => 'application/vnd.tcpdump.pcap', 'pcf' => 'application/x-font-pcf', 'pcl' => 'application/vnd.hp-pcl', 'pclxl' => 'application/vnd.hp-pclxl', 'pct' => 'image/x-pict', 'pcurl' => 'application/vnd.curl.pcurl', 'pcx' => 'image/x-pcx', 'pdb' => 'application/x-pilot', 'pde' => 'text/x-processing', 'pdf' => 'application/pdf', 'pem' => 'application/x-x509-user-cert', 'pfa' => 'application/x-font-type1', 'pfb' => 'application/x-font-type1', 'pfm' => 'application/x-font-type1', 'pfr' => 'application/font-tdpfr', 'pfx' => 'application/x-pkcs12', 'pgm' => 'image/x-portable-graymap', 'pgn' => 'application/x-chess-pgn', 'pgp' => 'application/pgp', 'phar' => 'application/octet-stream', 'php' => 'application/x-httpd-php', 'php3' => 'application/x-httpd-php', 'php4' => 'application/x-httpd-php', 'phps' => 'application/x-httpd-php-source', 'phtml' => 'application/x-httpd-php', 'pic' => 'image/x-pict', 'pkg' => 'application/octet-stream', 'pki' => 'application/pkixcmp', 'pkipath' => 'application/pkix-pkipath', 'pkpass' => 'application/vnd.apple.pkpass', 'pl' => 'application/x-perl', 'plb' => 'application/vnd.3gpp.pic-bw-large', 'plc' => 'application/vnd.mobius.plc', 'plf' => 'application/vnd.pocketlearn', 'pls' => 'application/pls+xml', 'pm' => 'application/x-perl', 'pml' => 'application/vnd.ctc-posml', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'portpkg' => 'application/vnd.macports.portpkg', 'pot' => 'application/vnd.ms-powerpoint', 'potm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', 'ppa' => 'application/vnd.ms-powerpoint', 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12', 'ppd' => 'application/vnd.cups-ppd', 'ppm' => 'image/x-portable-pixmap', 'pps' => 'application/vnd.ms-powerpoint', 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppt' => 'application/powerpoint', 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pqa' => 'application/vnd.palm', 'prc' => 'model/prc', 'pre' => 'application/vnd.lotus-freelance', 'prf' => 'application/pics-rules', 'provx' => 'application/provenance+xml', 'ps' => 'application/postscript', 'psb' => 'application/vnd.3gpp.pic-bw-small', 'psd' => 'application/x-photoshop', 'psf' => 'application/x-font-linux-psf', 'pskcxml' => 'application/pskc+xml', 'pti' => 'image/prs.pti', 'ptid' => 'application/vnd.pvi.ptid1', 'pub' => 'application/x-mspublisher', 'pvb' => 'application/vnd.3gpp.pic-bw-var', 'pwn' => 'application/vnd.3m.post-it-notes', 'pya' => 'audio/vnd.ms-playready.media.pya', 'pyo' => 'model/vnd.pytha.pyox', 'pyox' => 'model/vnd.pytha.pyox', 'pyv' => 'video/vnd.ms-playready.media.pyv', 'qam' => 'application/vnd.epson.quickanime', 'qbo' => 'application/vnd.intu.qbo', 'qfx' => 'application/vnd.intu.qfx', 'qps' => 'application/vnd.publishare-delta-tree', 'qt' => 'video/quicktime', 'qwd' => 'application/vnd.quark.quarkxpress', 'qwt' => 'application/vnd.quark.quarkxpress', 'qxb' => 'application/vnd.quark.quarkxpress', 'qxd' => 'application/vnd.quark.quarkxpress', 'qxl' => 'application/vnd.quark.quarkxpress', 'qxt' => 'application/vnd.quark.quarkxpress', 'ra' => 'audio/x-realaudio', 'ram' => 'audio/x-pn-realaudio', 'raml' => 'application/raml+yaml', 'rapd' => 'application/route-apd+xml', 'rar' => 'application/x-rar', 'ras' => 'image/x-cmu-raster', 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', 'rdf' => 'application/rdf+xml', 'rdz' => 'application/vnd.data-vision.rdz', 'relo' => 'application/p2p-overlay+xml', 'rep' => 'application/vnd.businessobjects', 'res' => 'application/x-dtbresource+xml', 'rgb' => 'image/x-rgb', 'rif' => 'application/reginfo+xml', 'rip' => 'audio/vnd.rip', 'ris' => 'application/x-research-info-systems', 'rl' => 'application/resource-lists+xml', 'rlc' => 'image/vnd.fujixerox.edmics-rlc', 'rld' => 'application/resource-lists-diff+xml', 'rm' => 'audio/x-pn-realaudio', 'rmi' => 'audio/midi', 'rmp' => 'audio/x-pn-realaudio-plugin', 'rms' => 'application/vnd.jcp.javame.midlet-rms', 'rmvb' => 'application/vnd.rn-realmedia-vbr', 'rnc' => 'application/relax-ng-compact-syntax', 'rng' => 'application/xml', 'roa' => 'application/rpki-roa', 'roff' => 'text/troff', 'rp9' => 'application/vnd.cloanto.rp9', 'rpm' => 'audio/x-pn-realaudio-plugin', 'rpss' => 'application/vnd.nokia.radio-presets', 'rpst' => 'application/vnd.nokia.radio-preset', 'rq' => 'application/sparql-query', 'rs' => 'application/rls-services+xml', 'rsa' => 'application/x-pkcs7', 'rsat' => 'application/atsc-rsat+xml', 'rsd' => 'application/rsd+xml', 'rsheet' => 'application/urc-ressheet+xml', 'rss' => 'application/rss+xml', 'rtf' => 'text/rtf', 'rtx' => 'text/richtext', 'run' => 'application/x-makeself', 'rusd' => 'application/route-usd+xml', 'rv' => 'video/vnd.rn-realvideo', 's' => 'text/x-asm', 's3m' => 'audio/s3m', 'saf' => 'application/vnd.yamaha.smaf-audio', 'sass' => 'text/x-sass', 'sbml' => 'application/sbml+xml', 'sc' => 'application/vnd.ibm.secure-container', 'scd' => 'application/x-msschedule', 'scm' => 'application/vnd.lotus-screencam', 'scq' => 'application/scvp-cv-request', 'scs' => 'application/scvp-cv-response', 'scss' => 'text/x-scss', 'scurl' => 'text/vnd.curl.scurl', 'sda' => 'application/vnd.stardivision.draw', 'sdc' => 'application/vnd.stardivision.calc', 'sdd' => 'application/vnd.stardivision.impress', 'sdkd' => 'application/vnd.solent.sdkm+xml', 'sdkm' => 'application/vnd.solent.sdkm+xml', 'sdp' => 'application/sdp', 'sdw' => 'application/vnd.stardivision.writer', 'sea' => 'application/octet-stream', 'see' => 'application/vnd.seemail', 'seed' => 'application/vnd.fdsn.seed', 'sema' => 'application/vnd.sema', 'semd' => 'application/vnd.semd', 'semf' => 'application/vnd.semf', 'senmlx' => 'application/senml+xml', 'sensmlx' => 'application/sensml+xml', 'ser' => 'application/java-serialized-object', 'setpay' => 'application/set-payment-initiation', 'setreg' => 'application/set-registration-initiation', 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', 'sfs' => 'application/vnd.spotfire.sfs', 'sfv' => 'text/x-sfv', 'sgi' => 'image/sgi', 'sgl' => 'application/vnd.stardivision.writer-global', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'shex' => 'text/shex', 'shf' => 'application/shf+xml', 'shtml' => 'text/html', 'sid' => 'image/x-mrsid-image', 'sieve' => 'application/sieve', 'sig' => 'application/pgp-signature', 'sil' => 'audio/silk', 'silo' => 'model/mesh', 'sis' => 'application/vnd.symbian.install', 'sisx' => 'application/vnd.symbian.install', 'sit' => 'application/x-stuffit', 'sitx' => 'application/x-stuffitx', 'siv' => 'application/sieve', 'skd' => 'application/vnd.koan', 'skm' => 'application/vnd.koan', 'skp' => 'application/vnd.koan', 'skt' => 'application/vnd.koan', 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', 'slim' => 'text/slim', 'slm' => 'text/slim', 'sls' => 'application/route-s-tsid+xml', 'slt' => 'application/vnd.epson.salt', 'sm' => 'application/vnd.stepmania.stepchart', 'smf' => 'application/vnd.stardivision.math', 'smi' => 'application/smil', 'smil' => 'application/smil', 'smv' => 'video/x-smv', 'smzip' => 'application/vnd.stepmania.package', 'snd' => 'audio/basic', 'snf' => 'application/x-font-snf', 'so' => 'application/octet-stream', 'spc' => 'application/x-pkcs7-certificates', 'spdx' => 'text/spdx', 'spf' => 'application/vnd.yamaha.smaf-phrase', 'spl' => 'application/x-futuresplash', 'spot' => 'text/vnd.in3d.spot', 'spp' => 'application/scvp-vp-response', 'spq' => 'application/scvp-vp-request', 'spx' => 'audio/ogg', 'sql' => 'application/x-sql', 'src' => 'application/x-wais-source', 'srt' => 'application/x-subrip', 'sru' => 'application/sru+xml', 'srx' => 'application/sparql-results+xml', 'ssdl' => 'application/ssdl+xml', 'sse' => 'application/vnd.kodak-descriptor', 'ssf' => 'application/vnd.epson.ssf', 'ssml' => 'application/ssml+xml', 'sst' => 'application/octet-stream', 'st' => 'application/vnd.sailingtracker.track', 'stc' => 'application/vnd.sun.xml.calc.template', 'std' => 'application/vnd.sun.xml.draw.template', 'step' => 'application/STEP', 'stf' => 'application/vnd.wt.stf', 'sti' => 'application/vnd.sun.xml.impress.template', 'stk' => 'application/hyperstudio', 'stl' => 'model/stl', 'stp' => 'application/STEP', 'stpx' => 'model/step+xml', 'stpxz' => 'model/step-xml+zip', 'stpz' => 'model/step+zip', 'str' => 'application/vnd.pg.format', 'stw' => 'application/vnd.sun.xml.writer.template', 'styl' => 'text/stylus', 'stylus' => 'text/stylus', 'sub' => 'text/vnd.dvb.subtitle', 'sus' => 'application/vnd.sus-calendar', 'susp' => 'application/vnd.sus-calendar', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svc' => 'application/vnd.dvb.service', 'svd' => 'application/vnd.svd', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swa' => 'application/x-director', 'swf' => 'application/x-shockwave-flash', 'swi' => 'application/vnd.aristanetworks.swi', 'swidtag' => 'application/swid+xml', 'sxc' => 'application/vnd.sun.xml.calc', 'sxd' => 'application/vnd.sun.xml.draw', 'sxg' => 'application/vnd.sun.xml.writer.global', 'sxi' => 'application/vnd.sun.xml.impress', 'sxm' => 'application/vnd.sun.xml.math', 'sxw' => 'application/vnd.sun.xml.writer', 't' => 'text/troff', 't3' => 'application/x-t3vm-image', 't38' => 'image/t38', 'taglet' => 'application/vnd.mynfc', 'tao' => 'application/vnd.tao.intent-module-archive', 'tap' => 'image/vnd.tencent.tap', 'tar' => 'application/x-tar', 'tcap' => 'application/vnd.3gpp2.tcap', 'tcl' => 'application/x-tcl', 'td' => 'application/urc-targetdesc+xml', 'teacher' => 'application/vnd.smart.teacher', 'tei' => 'application/tei+xml', 'teicorpus' => 'application/tei+xml', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'text' => 'text/plain', 'tfi' => 'application/thraud+xml', 'tfm' => 'application/x-tex-tfm', 'tfx' => 'image/tiff-fx', 'tga' => 'image/x-tga', 'tgz' => 'application/x-tar', 'thmx' => 'application/vnd.ms-officetheme', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'tk' => 'application/x-tcl', 'tmo' => 'application/vnd.tmobile-livetv', 'toml' => 'application/toml', 'torrent' => 'application/x-bittorrent', 'tpl' => 'application/vnd.groove-tool-template', 'tpt' => 'application/vnd.trid.tpt', 'tr' => 'text/troff', 'tra' => 'application/vnd.trueapp', 'trig' => 'application/trig', 'trm' => 'application/x-msterminal', 'ts' => 'video/mp2t', 'tsd' => 'application/timestamped-data', 'tsv' => 'text/tab-separated-values', 'ttc' => 'font/collection', 'ttf' => 'font/ttf', 'ttl' => 'text/turtle', 'ttml' => 'application/ttml+xml', 'twd' => 'application/vnd.simtech-mindmapper', 'twds' => 'application/vnd.simtech-mindmapper', 'txd' => 'application/vnd.genomatix.tuxedo', 'txf' => 'application/vnd.mobius.txf', 'txt' => 'text/plain', 'u3d' => 'model/u3d', 'u8dsn' => 'message/global-delivery-status', 'u8hdr' => 'message/global-headers', 'u8mdn' => 'message/global-disposition-notification', 'u8msg' => 'message/global', 'u32' => 'application/x-authorware-bin', 'ubj' => 'application/ubjson', 'udeb' => 'application/x-debian-package', 'ufd' => 'application/vnd.ufdl', 'ufdl' => 'application/vnd.ufdl', 'ulx' => 'application/x-glulx', 'umj' => 'application/vnd.umajin', 'unityweb' => 'application/vnd.unity', 'uo' => 'application/vnd.uoml+xml', 'uoml' => 'application/vnd.uoml+xml', 'uri' => 'text/uri-list', 'uris' => 'text/uri-list', 'urls' => 'text/uri-list', 'usda' => 'model/vnd.usda', 'usdz' => 'model/vnd.usdz+zip', 'ustar' => 'application/x-ustar', 'utz' => 'application/vnd.uiq.theme', 'uu' => 'text/x-uuencode', 'uva' => 'audio/vnd.dece.audio', 'uvd' => 'application/vnd.dece.data', 'uvf' => 'application/vnd.dece.data', 'uvg' => 'image/vnd.dece.graphic', 'uvh' => 'video/vnd.dece.hd', 'uvi' => 'image/vnd.dece.graphic', 'uvm' => 'video/vnd.dece.mobile', 'uvp' => 'video/vnd.dece.pd', 'uvs' => 'video/vnd.dece.sd', 'uvt' => 'application/vnd.dece.ttml+xml', 'uvu' => 'video/vnd.uvvu.mp4', 'uvv' => 'video/vnd.dece.video', 'uvva' => 'audio/vnd.dece.audio', 'uvvd' => 'application/vnd.dece.data', 'uvvf' => 'application/vnd.dece.data', 'uvvg' => 'image/vnd.dece.graphic', 'uvvh' => 'video/vnd.dece.hd', 'uvvi' => 'image/vnd.dece.graphic', 'uvvm' => 'video/vnd.dece.mobile', 'uvvp' => 'video/vnd.dece.pd', 'uvvs' => 'video/vnd.dece.sd', 'uvvt' => 'application/vnd.dece.ttml+xml', 'uvvu' => 'video/vnd.uvvu.mp4', 'uvvv' => 'video/vnd.dece.video', 'uvvx' => 'application/vnd.dece.unspecified', 'uvvz' => 'application/vnd.dece.zip', 'uvx' => 'application/vnd.dece.unspecified', 'uvz' => 'application/vnd.dece.zip', 'vbox' => 'application/x-virtualbox-vbox', 'vbox-extpack' => 'application/x-virtualbox-vbox-extpack', 'vcard' => 'text/vcard', 'vcd' => 'application/x-cdlink', 'vcf' => 'text/x-vcard', 'vcg' => 'application/vnd.groove-vcard', 'vcs' => 'text/x-vcalendar', 'vcx' => 'application/vnd.vcx', 'vdi' => 'application/x-virtualbox-vdi', 'vds' => 'model/vnd.sap.vds', 'vhd' => 'application/x-virtualbox-vhd', 'vis' => 'application/vnd.visionary', 'viv' => 'video/vnd.vivo', 'vlc' => 'application/videolan', 'vmdk' => 'application/x-virtualbox-vmdk', 'vob' => 'video/x-ms-vob', 'vor' => 'application/vnd.stardivision.writer', 'vox' => 'application/x-authorware-bin', 'vrml' => 'model/vrml', 'vsd' => 'application/vnd.visio', 'vsf' => 'application/vnd.vsf', 'vss' => 'application/vnd.visio', 'vst' => 'application/vnd.visio', 'vsw' => 'application/vnd.visio', 'vtf' => 'image/vnd.valve.source.texture', 'vtt' => 'text/vtt', 'vtu' => 'model/vnd.vtu', 'vxml' => 'application/voicexml+xml', 'w3d' => 'application/x-director', 'wad' => 'application/x-doom', 'wadl' => 'application/vnd.sun.wadl+xml', 'war' => 'application/java-archive', 'wasm' => 'application/wasm', 'wav' => 'audio/x-wav', 'wax' => 'audio/x-ms-wax', 'wbmp' => 'image/vnd.wap.wbmp', 'wbs' => 'application/vnd.criticaltools.wbs+xml', 'wbxml' => 'application/wbxml', 'wcm' => 'application/vnd.ms-works', 'wdb' => 'application/vnd.ms-works', 'wdp' => 'image/vnd.ms-photo', 'weba' => 'audio/webm', 'webapp' => 'application/x-web-app-manifest+json', 'webm' => 'video/webm', 'webmanifest' => 'application/manifest+json', 'webp' => 'image/webp', 'wg' => 'application/vnd.pmi.widget', 'wgsl' => 'text/wgsl', 'wgt' => 'application/widget', 'wif' => 'application/watcherinfo+xml', 'wks' => 'application/vnd.ms-works', 'wm' => 'video/x-ms-wm', 'wma' => 'audio/x-ms-wma', 'wmd' => 'application/x-ms-wmd', 'wmf' => 'image/wmf', 'wml' => 'text/vnd.wap.wml', 'wmlc' => 'application/wmlc', 'wmls' => 'text/vnd.wap.wmlscript', 'wmlsc' => 'application/vnd.wap.wmlscriptc', 'wmv' => 'video/x-ms-wmv', 'wmx' => 'video/x-ms-wmx', 'wmz' => 'application/x-msmetafile', 'woff' => 'font/woff', 'woff2' => 'font/woff2', 'word' => 'application/msword', 'wpd' => 'application/vnd.wordperfect', 'wpl' => 'application/vnd.ms-wpl', 'wps' => 'application/vnd.ms-works', 'wqd' => 'application/vnd.wqd', 'wri' => 'application/x-mswrite', 'wrl' => 'model/vrml', 'wsc' => 'message/vnd.wfa.wsc', 'wsdl' => 'application/wsdl+xml', 'wspolicy' => 'application/wspolicy+xml', 'wtb' => 'application/vnd.webturbo', 'wvx' => 'video/x-ms-wvx', 'x3d' => 'model/x3d+xml', 'x3db' => 'model/x3d+fastinfoset', 'x3dbz' => 'model/x3d+binary', 'x3dv' => 'model/x3d-vrml', 'x3dvz' => 'model/x3d+vrml', 'x3dz' => 'model/x3d+xml', 'x32' => 'application/x-authorware-bin', 'x_b' => 'model/vnd.parasolid.transmit.binary', 'x_t' => 'model/vnd.parasolid.transmit.text', 'xaml' => 'application/xaml+xml', 'xap' => 'application/x-silverlight-app', 'xar' => 'application/vnd.xara', 'xav' => 'application/xcap-att+xml', 'xbap' => 'application/x-ms-xbap', 'xbd' => 'application/vnd.fujixerox.docuworks.binder', 'xbm' => 'image/x-xbitmap', 'xca' => 'application/xcap-caps+xml', 'xcs' => 'application/calendar+xml', 'xdf' => 'application/xcap-diff+xml', 'xdm' => 'application/vnd.syncml.dm+xml', 'xdp' => 'application/vnd.adobe.xdp+xml', 'xdssc' => 'application/dssc+xml', 'xdw' => 'application/vnd.fujixerox.docuworks', 'xel' => 'application/xcap-el+xml', 'xenc' => 'application/xenc+xml', 'xer' => 'application/patch-ops-error+xml', 'xfdf' => 'application/xfdf', 'xfdl' => 'application/vnd.xfdl', 'xht' => 'application/xhtml+xml', 'xhtm' => 'application/vnd.pwg-xhtml-print+xml', 'xhtml' => 'application/xhtml+xml', 'xhvml' => 'application/xv+xml', 'xif' => 'image/vnd.xiff', 'xl' => 'application/excel', 'xla' => 'application/vnd.ms-excel', 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', 'xlc' => 'application/vnd.ms-excel', 'xlf' => 'application/xliff+xml', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlt' => 'application/vnd.ms-excel', 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12', 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xlw' => 'application/vnd.ms-excel', 'xm' => 'audio/xm', 'xml' => 'application/xml', 'xns' => 'application/xcap-ns+xml', 'xo' => 'application/vnd.olpc-sugar', 'xop' => 'application/xop+xml', 'xpi' => 'application/x-xpinstall', 'xpl' => 'application/xproc+xml', 'xpm' => 'image/x-xpixmap', 'xpr' => 'application/vnd.is-xpr', 'xps' => 'application/vnd.ms-xpsdocument', 'xpw' => 'application/vnd.intercon.formnet', 'xpx' => 'application/vnd.intercon.formnet', 'xsd' => 'application/xml', 'xsf' => 'application/prs.xsf+xml', 'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml', 'xsm' => 'application/vnd.syncml+xml', 'xspf' => 'application/xspf+xml', 'xul' => 'application/vnd.mozilla.xul+xml', 'xvm' => 'application/xv+xml', 'xvml' => 'application/xv+xml', 'xwd' => 'image/x-xwindowdump', 'xyz' => 'chemical/x-xyz', 'xz' => 'application/x-xz', 'yaml' => 'text/yaml', 'yang' => 'application/yang', 'yin' => 'application/yin+xml', 'yml' => 'text/yaml', 'ymp' => 'text/x-suse-ymp', 'z' => 'application/x-compress', 'z1' => 'application/x-zmachine', 'z2' => 'application/x-zmachine', 'z3' => 'application/x-zmachine', 'z4' => 'application/x-zmachine', 'z5' => 'application/x-zmachine', 'z6' => 'application/x-zmachine', 'z7' => 'application/x-zmachine', 'z8' => 'application/x-zmachine', 'zaz' => 'application/vnd.zzazz.deck+xml', 'zip' => 'application/zip', 'zir' => 'application/vnd.zul', 'zirz' => 'application/vnd.zul', 'zmm' => 'application/vnd.handheld-entertainment+xml', 'zsh' => 'text/x-scriptzsh'];
/**
* Determines the mimetype of a file by looking at its extension.
*
- * @param string $filename
- *
- * @return string|null
+ * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json
*/
- public static function fromFilename($filename)
+ public static function fromFilename(string $filename) : ?string
{
return self::fromExtension(\pathinfo($filename, \PATHINFO_EXTENSION));
}
/**
* Maps a file extensions to a mimetype.
*
- * @param string $extension string The file extension.
- *
- * @return string|null
- *
- * @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types
+ * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json
*/
- public static function fromExtension($extension)
+ public static function fromExtension(string $extension) : ?string
{
- static $mimetypes = ['3gp' => 'video/3gpp', '7z' => 'application/x-7z-compressed', 'aac' => 'audio/x-aac', 'ai' => 'application/postscript', 'aif' => 'audio/x-aiff', 'asc' => 'text/plain', 'asf' => 'video/x-ms-asf', 'atom' => 'application/atom+xml', 'avi' => 'video/x-msvideo', 'bmp' => 'image/bmp', 'bz2' => 'application/x-bzip2', 'cer' => 'application/pkix-cert', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'css' => 'text/css', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'deb' => 'application/x-debian-package', 'doc' => 'application/msword', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dvi' => 'application/x-dvi', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'etx' => 'text/x-setext', 'flac' => 'audio/flac', 'flv' => 'video/x-flv', 'gif' => 'image/gif', 'gz' => 'application/gzip', 'htm' => 'text/html', 'html' => 'text/html', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ini' => 'text/plain', 'iso' => 'application/x-iso9660-image', 'jar' => 'application/java-archive', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'js' => 'text/javascript', 'json' => 'application/json', 'latex' => 'application/x-latex', 'log' => 'text/plain', 'm4a' => 'audio/mp4', 'm4v' => 'video/mp4', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mov' => 'video/quicktime', 'mkv' => 'video/x-matroska', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4v' => 'video/mp4', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'oga' => 'audio/ogg', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'pbm' => 'image/x-portable-bitmap', 'pdf' => 'application/pdf', 'pgm' => 'image/x-portable-graymap', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'ppm' => 'image/x-portable-pixmap', 'ppt' => 'application/vnd.ms-powerpoint', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'ps' => 'application/postscript', 'qt' => 'video/quicktime', 'rar' => 'application/x-rar-compressed', 'ras' => 'image/x-cmu-raster', 'rss' => 'application/rss+xml', 'rtf' => 'application/rtf', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'svg' => 'image/svg+xml', 'swf' => 'application/x-shockwave-flash', 'tar' => 'application/x-tar', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'torrent' => 'application/x-bittorrent', 'ttf' => 'application/x-font-ttf', 'txt' => 'text/plain', 'wav' => 'audio/x-wav', 'webm' => 'video/webm', 'webp' => 'image/webp', 'wma' => 'audio/x-ms-wma', 'wmv' => 'video/x-ms-wmv', 'woff' => 'application/x-font-woff', 'wsdl' => 'application/wsdl+xml', 'xbm' => 'image/x-xbitmap', 'xls' => 'application/vnd.ms-excel', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xml' => 'application/xml', 'xpm' => 'image/x-xpixmap', 'xwd' => 'image/x-xwindowdump', 'yaml' => 'text/yaml', 'yml' => 'text/yaml', 'zip' => 'application/zip'];
- $extension = \strtolower($extension);
- return isset($mimetypes[$extension]) ? $mimetypes[$extension] : null;
+ return self::MIME_TYPES[\strtolower($extension)] ?? null;
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php
index b04fcb5f7..6343552a8 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/MultipartStream.php
@@ -1,18 +1,20 @@
boundary = $boundary ?: \sha1(\uniqid('', \true));
+ $this->boundary = $boundary ?: \bin2hex(\random_bytes(20));
$this->stream = $this->createStream($elements);
}
- /**
- * Get the boundary
- *
- * @return string
- */
- public function getBoundary()
+ public function getBoundary() : string
{
return $this->boundary;
}
- public function isWritable()
+ public function isWritable() : bool
{
return \false;
}
/**
* Get the headers needed before transferring the content of a POST file
+ *
+ * @param array $headers
*/
- private function getHeaders(array $headers)
+ private function getHeaders(array $headers) : string
{
$str = '';
foreach ($headers as $key => $value) {
@@ -57,17 +56,20 @@ private function getHeaders(array $headers)
/**
* Create the aggregate stream that will be used to upload the POST data
*/
- protected function createStream(array $elements)
+ protected function createStream(array $elements = []) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
$stream = new \YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream();
foreach ($elements as $element) {
+ if (!\is_array($element)) {
+ throw new \UnexpectedValueException('An array is expected');
+ }
$this->addElement($stream, $element);
}
// Add the trailing boundary with CRLF
$stream->addStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor("--{$this->boundary}--\r\n"));
return $stream;
}
- private function addElement(\YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream $stream, array $element)
+ private function addElement(\YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream $stream, array $element) : void
{
foreach (['contents', 'name'] as $key) {
if (!\array_key_exists($key, $element)) {
@@ -77,19 +79,16 @@ private function addElement(\YoastSEO_Vendor\GuzzleHttp\Psr7\AppendStream $strea
$element['contents'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($element['contents']);
if (empty($element['filename'])) {
$uri = $element['contents']->getMetadata('uri');
- if (\substr($uri, 0, 6) !== 'php://') {
+ if ($uri && \is_string($uri) && \substr($uri, 0, 6) !== 'php://' && \substr($uri, 0, 7) !== 'data://') {
$element['filename'] = $uri;
}
}
- list($body, $headers) = $this->createElement($element['name'], $element['contents'], isset($element['filename']) ? $element['filename'] : null, isset($element['headers']) ? $element['headers'] : []);
+ [$body, $headers] = $this->createElement($element['name'], $element['contents'], $element['filename'] ?? null, $element['headers'] ?? []);
$stream->addStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($this->getHeaders($headers)));
$stream->addStream($body);
$stream->addStream(\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor("\r\n"));
}
- /**
- * @return array
- */
- private function createElement($name, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $filename, array $headers)
+ private function createElement(string $name, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, ?string $filename, array $headers) : array
{
// Set a default content-disposition header if one was no provided
$disposition = $this->getHeader($headers, 'content-disposition');
@@ -106,13 +105,11 @@ private function createElement($name, \YoastSEO_Vendor\Psr\Http\Message\StreamIn
// Set a default Content-Type if one was not supplied
$type = $this->getHeader($headers, 'content-type');
if (!$type && ($filename === '0' || $filename)) {
- if ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($filename)) {
- $headers['Content-Type'] = $type;
- }
+ $headers['Content-Type'] = \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($filename) ?? 'application/octet-stream';
}
return [$stream, $headers];
}
- private function getHeader(array $headers, $key)
+ private function getHeader(array $headers, string $key)
{
$lowercaseHeader = \strtolower($key);
foreach ($headers as $k => $v) {
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php
index 72df97554..b4cc8ff15 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/NoSeekStream.php
@@ -1,21 +1,22 @@
source = $source;
- $this->size = isset($options['size']) ? $options['size'] : null;
- $this->metadata = isset($options['metadata']) ? $options['metadata'] : [];
+ $this->size = $options['size'] ?? null;
+ $this->metadata = $options['metadata'] ?? [];
$this->buffer = new \YoastSEO_Vendor\GuzzleHttp\Psr7\BufferStream();
}
- public function __toString()
+ public function __toString() : string
{
try {
return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToString($this);
- } catch (\Exception $e) {
+ } catch (\Throwable $e) {
+ if (\PHP_VERSION_ID >= 70400) {
+ throw $e;
+ }
+ \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR);
return '';
}
}
- public function close()
+ public function close() : void
{
$this->detach();
}
public function detach()
{
- $this->tellPos = \false;
+ $this->tellPos = 0;
$this->source = null;
return null;
}
- public function getSize()
+ public function getSize() : ?int
{
return $this->size;
}
- public function tell()
+ public function tell() : int
{
return $this->tellPos;
}
- public function eof()
+ public function eof() : bool
{
- return !$this->source;
+ return $this->source === null;
}
- public function isSeekable()
+ public function isSeekable() : bool
{
return \false;
}
- public function rewind()
+ public function rewind() : void
{
$this->seek(0);
}
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
throw new \RuntimeException('Cannot seek a PumpStream');
}
- public function isWritable()
+ public function isWritable() : bool
{
return \false;
}
- public function write($string)
+ public function write($string) : int
{
throw new \RuntimeException('Cannot write to a PumpStream');
}
- public function isReadable()
+ public function isReadable() : bool
{
return \true;
}
- public function read($length)
+ public function read($length) : string
{
$data = $this->buffer->read($length);
$readLen = \strlen($data);
@@ -111,7 +114,7 @@ public function read($length)
}
return $data;
}
- public function getContents()
+ public function getContents() : string
{
$result = '';
while (!$this->eof()) {
@@ -119,14 +122,17 @@ public function getContents()
}
return $result;
}
+ /**
+ * @return mixed
+ */
public function getMetadata($key = null)
{
if (!$key) {
return $this->metadata;
}
- return isset($this->metadata[$key]) ? $this->metadata[$key] : null;
+ return $this->metadata[$key] ?? null;
}
- private function pump($length)
+ private function pump(int $length) : void
{
if ($this->source) {
do {
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php
index 9ec549677..fe7e62f75 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Query.php
@@ -1,5 +1,6 @@
$v) {
- $k = $encoder($k);
+ $k = $encoder((string) $k);
if (!\is_array($v)) {
$qs .= $k;
+ $v = \is_bool($v) ? (int) $v : $v;
if ($v !== null) {
- $qs .= '=' . $encoder($v);
+ $qs .= '=' . $encoder((string) $v);
}
$qs .= '&';
} else {
foreach ($v as $vv) {
$qs .= $k;
+ $vv = \is_bool($vv) ? (int) $vv : $vv;
if ($vv !== null) {
- $qs .= '=' . $encoder($vv);
+ $qs .= '=' . $encoder((string) $vv);
}
$qs .= '&';
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php
index 41ba88cb3..3b78f4ffb 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Request.php
@@ -1,5 +1,6 @@
$headers Request headers
* @param string|resource|StreamInterface|null $body Request body
* @param string $version Protocol version
*/
- public function __construct($method, $uri, array $headers = [], $body = null, $version = '1.1')
+ public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1')
{
$this->assertMethod($method);
if (!$uri instanceof \YoastSEO_Vendor\Psr\Http\Message\UriInterface) {
@@ -42,13 +43,13 @@ public function __construct($method, $uri, array $headers = [], $body = null, $v
$this->stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($body);
}
}
- public function getRequestTarget()
+ public function getRequestTarget() : string
{
if ($this->requestTarget !== null) {
return $this->requestTarget;
}
$target = $this->uri->getPath();
- if ($target == '') {
+ if ($target === '') {
$target = '/';
}
if ($this->uri->getQuery() != '') {
@@ -56,7 +57,7 @@ public function getRequestTarget()
}
return $target;
}
- public function withRequestTarget($requestTarget)
+ public function withRequestTarget($requestTarget) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
if (\preg_match('#\\s#', $requestTarget)) {
throw new \InvalidArgumentException('Invalid request target provided; cannot contain whitespace');
@@ -65,22 +66,22 @@ public function withRequestTarget($requestTarget)
$new->requestTarget = $requestTarget;
return $new;
}
- public function getMethod()
+ public function getMethod() : string
{
return $this->method;
}
- public function withMethod($method)
+ public function withMethod($method) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
$this->assertMethod($method);
$new = clone $this;
$new->method = \strtoupper($method);
return $new;
}
- public function getUri()
+ public function getUri() : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
return $this->uri;
}
- public function withUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $preserveHost = \false)
+ public function withUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $preserveHost = \false) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
if ($uri === $this->uri) {
return $this;
@@ -92,7 +93,7 @@ public function withUri(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $pr
}
return $new;
}
- private function updateHostFromUri()
+ private function updateHostFromUri() : void
{
$host = $this->uri->getHost();
if ($host == '') {
@@ -111,7 +112,10 @@ private function updateHostFromUri()
// See: http://tools.ietf.org/html/rfc7230#section-5.4
$this->headers = [$header => [$host]] + $this->headers;
}
- private function assertMethod($method)
+ /**
+ * @param mixed $method
+ */
+ private function assertMethod($method) : void
{
if (!\is_string($method) || $method === '') {
throw new \InvalidArgumentException('Method must be a non-empty string.');
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php
index 269bf8d06..b57f77446 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Response.php
@@ -1,5 +1,6 @@
'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-status', 208 => 'Already Reported', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Switch Proxy', 307 => 'Temporary Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Unordered Collection', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 511 => 'Network Authentication Required'];
+ /** Map of standard HTTP status code/reason phrases */
+ private const PHRASES = [100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-status', 208 => 'Already Reported', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Switch Proxy', 307 => 'Temporary Redirect', 308 => 'Permanent Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Unordered Collection', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported', 506 => 'Variant Also Negotiates', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 510 => 'Not Extended', 511 => 'Network Authentication Required'];
/** @var string */
- private $reasonPhrase = '';
+ private $reasonPhrase;
/** @var int */
- private $statusCode = 200;
+ private $statusCode;
/**
* @param int $status Status code
- * @param array $headers Response headers
+ * @param array $headers Response headers
* @param string|resource|StreamInterface|null $body Response body
* @param string $version Protocol version
* @param string|null $reason Reason phrase (when empty a default will be used based on the status code)
*/
- public function __construct($status = 200, array $headers = [], $body = null, $version = '1.1', $reason = null)
+ public function __construct(int $status = 200, array $headers = [], $body = null, string $version = '1.1', string $reason = null)
{
- $this->assertStatusCodeIsInteger($status);
- $status = (int) $status;
$this->assertStatusCodeRange($status);
$this->statusCode = $status;
if ($body !== '' && $body !== null) {
$this->stream = \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor($body);
}
$this->setHeaders($headers);
- if ($reason == '' && isset(self::$phrases[$this->statusCode])) {
- $this->reasonPhrase = self::$phrases[$this->statusCode];
+ if ($reason == '' && isset(self::PHRASES[$this->statusCode])) {
+ $this->reasonPhrase = self::PHRASES[$this->statusCode];
} else {
$this->reasonPhrase = (string) $reason;
}
$this->protocol = $version;
}
- public function getStatusCode()
+ public function getStatusCode() : int
{
return $this->statusCode;
}
- public function getReasonPhrase()
+ public function getReasonPhrase() : string
{
return $this->reasonPhrase;
}
- public function withStatus($code, $reasonPhrase = '')
+ public function withStatus($code, $reasonPhrase = '') : \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface
{
$this->assertStatusCodeIsInteger($code);
$code = (int) $code;
$this->assertStatusCodeRange($code);
$new = clone $this;
$new->statusCode = $code;
- if ($reasonPhrase == '' && isset(self::$phrases[$new->statusCode])) {
- $reasonPhrase = self::$phrases[$new->statusCode];
+ if ($reasonPhrase == '' && isset(self::PHRASES[$new->statusCode])) {
+ $reasonPhrase = self::PHRASES[$new->statusCode];
}
$new->reasonPhrase = (string) $reasonPhrase;
return $new;
}
- private function assertStatusCodeIsInteger($statusCode)
+ /**
+ * @param mixed $statusCode
+ */
+ private function assertStatusCodeIsInteger($statusCode) : void
{
if (\filter_var($statusCode, \FILTER_VALIDATE_INT) === \false) {
throw new \InvalidArgumentException('Status code must be an integer value.');
}
}
- private function assertStatusCodeRange($statusCode)
+ private function assertStatusCodeRange(int $statusCode) : void
{
if ($statusCode < 100 || $statusCode >= 600) {
throw new \InvalidArgumentException('Status code must be an integer value between 1xx and 5xx.');
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php
index 3a0b4662c..8bce7850d 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Rfc7230.php
@@ -1,19 +1,22 @@
@,;:\\\"/[\\]?={}\x01- ]++):[ \t]*+((?:[ \t]*+[!-~\x80-\xff]++)*+)[ \t]*+\r?\n)m";
- const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)";
+ public const HEADER_REGEX = "(^([^()<>@,;:\\\"/[\\]?={}\x01- ]++):[ \t]*+((?:[ \t]*+[!-~\x80-\xff]++)*+)[ \t]*+\r?\n)m";
+ public const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)";
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php
index 815ef5bb4..52c73f4ae 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/ServerRequest.php
@@ -1,5 +1,6 @@
$headers Request headers
* @param string|resource|StreamInterface|null $body Request body
* @param string $version Protocol version
* @param array $serverParams Typically the $_SERVER superglobal
*/
- public function __construct($method, $uri, array $headers = [], $body = null, $version = '1.1', array $serverParams = [])
+ public function __construct(string $method, $uri, array $headers = [], $body = null, string $version = '1.1', array $serverParams = [])
{
$this->serverParams = $serverParams;
parent::__construct($method, $uri, $headers, $body, $version);
@@ -63,13 +64,11 @@ public function __construct($method, $uri, array $headers = [], $body = null, $v
/**
* Return an UploadedFile instance array.
*
- * @param array $files A array which respect $_FILES structure
- *
- * @return array
+ * @param array $files An array which respect $_FILES structure
*
* @throws InvalidArgumentException for unrecognized values
*/
- public static function normalizeFiles(array $files)
+ public static function normalizeFiles(array $files) : array
{
$normalized = [];
foreach ($files as $key => $value) {
@@ -94,7 +93,7 @@ public static function normalizeFiles(array $files)
*
* @param array $value $_FILES struct
*
- * @return array|UploadedFileInterface
+ * @return UploadedFileInterface|UploadedFileInterface[]
*/
private static function createUploadedFileFromSpec(array $value)
{
@@ -109,15 +108,13 @@ private static function createUploadedFileFromSpec(array $value)
* Loops through all nested files and returns a normalized array of
* UploadedFileInterface instances.
*
- * @param array $files
- *
* @return UploadedFileInterface[]
*/
- private static function normalizeNestedFileSpec(array $files = [])
+ private static function normalizeNestedFileSpec(array $files = []) : array
{
$normalizedFiles = [];
foreach (\array_keys($files['tmp_name']) as $key) {
- $spec = ['tmp_name' => $files['tmp_name'][$key], 'size' => $files['size'][$key], 'error' => $files['error'][$key], 'name' => $files['name'][$key], 'type' => $files['type'][$key]];
+ $spec = ['tmp_name' => $files['tmp_name'][$key], 'size' => $files['size'][$key] ?? null, 'error' => $files['error'][$key] ?? null, 'name' => $files['name'][$key] ?? null, 'type' => $files['type'][$key] ?? null];
$normalizedFiles[$key] = self::createUploadedFileFromSpec($spec);
}
return $normalizedFiles;
@@ -129,12 +126,10 @@ private static function normalizeNestedFileSpec(array $files = [])
* $_COOKIE
* $_FILES
* $_SERVER
- *
- * @return ServerRequestInterface
*/
- public static function fromGlobals()
+ public static function fromGlobals() : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
- $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET';
+ $method = $_SERVER['REQUEST_METHOD'] ?? 'GET';
$headers = \getallheaders();
$uri = self::getUriFromGlobals();
$body = new \YoastSEO_Vendor\GuzzleHttp\Psr7\CachingStream(new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream('php://input', 'r+'));
@@ -142,29 +137,27 @@ public static function fromGlobals()
$serverRequest = new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest($method, $uri, $headers, $body, $protocol, $_SERVER);
return $serverRequest->withCookieParams($_COOKIE)->withQueryParams($_GET)->withParsedBody($_POST)->withUploadedFiles(self::normalizeFiles($_FILES));
}
- private static function extractHostAndPortFromAuthority($authority)
+ private static function extractHostAndPortFromAuthority(string $authority) : array
{
$uri = 'http://' . $authority;
$parts = \parse_url($uri);
if (\false === $parts) {
return [null, null];
}
- $host = isset($parts['host']) ? $parts['host'] : null;
- $port = isset($parts['port']) ? $parts['port'] : null;
+ $host = $parts['host'] ?? null;
+ $port = $parts['port'] ?? null;
return [$host, $port];
}
/**
* Get a Uri populated with values from $_SERVER.
- *
- * @return UriInterface
*/
- public static function getUriFromGlobals()
+ public static function getUriFromGlobals() : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$uri = new \YoastSEO_Vendor\GuzzleHttp\Psr7\Uri('');
$uri = $uri->withScheme(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http');
$hasPort = \false;
if (isset($_SERVER['HTTP_HOST'])) {
- list($host, $port) = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']);
+ [$host, $port] = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']);
if ($host !== null) {
$uri = $uri->withHost($host);
}
@@ -194,86 +187,59 @@ public static function getUriFromGlobals()
}
return $uri;
}
- /**
- * {@inheritdoc}
- */
- public function getServerParams()
+ public function getServerParams() : array
{
return $this->serverParams;
}
- /**
- * {@inheritdoc}
- */
- public function getUploadedFiles()
+ public function getUploadedFiles() : array
{
return $this->uploadedFiles;
}
- /**
- * {@inheritdoc}
- */
- public function withUploadedFiles(array $uploadedFiles)
+ public function withUploadedFiles(array $uploadedFiles) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
$new = clone $this;
$new->uploadedFiles = $uploadedFiles;
return $new;
}
- /**
- * {@inheritdoc}
- */
- public function getCookieParams()
+ public function getCookieParams() : array
{
return $this->cookieParams;
}
- /**
- * {@inheritdoc}
- */
- public function withCookieParams(array $cookies)
+ public function withCookieParams(array $cookies) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
$new = clone $this;
$new->cookieParams = $cookies;
return $new;
}
- /**
- * {@inheritdoc}
- */
- public function getQueryParams()
+ public function getQueryParams() : array
{
return $this->queryParams;
}
- /**
- * {@inheritdoc}
- */
- public function withQueryParams(array $query)
+ public function withQueryParams(array $query) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
$new = clone $this;
$new->queryParams = $query;
return $new;
}
/**
- * {@inheritdoc}
+ * @return array|object|null
*/
public function getParsedBody()
{
return $this->parsedBody;
}
- /**
- * {@inheritdoc}
- */
- public function withParsedBody($data)
+ public function withParsedBody($data) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
$new = clone $this;
$new->parsedBody = $data;
return $new;
}
- /**
- * {@inheritdoc}
- */
- public function getAttributes()
+ public function getAttributes() : array
{
return $this->attributes;
}
/**
- * {@inheritdoc}
+ * @return mixed
*/
public function getAttribute($attribute, $default = null)
{
@@ -282,19 +248,13 @@ public function getAttribute($attribute, $default = null)
}
return $this->attributes[$attribute];
}
- /**
- * {@inheritdoc}
- */
- public function withAttribute($attribute, $value)
+ public function withAttribute($attribute, $value) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
$new = clone $this;
$new->attributes[$attribute] = $value;
return $new;
}
- /**
- * {@inheritdoc}
- */
- public function withoutAttribute($attribute)
+ public function withoutAttribute($attribute) : \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface
{
if (\false === \array_key_exists($attribute, $this->attributes)) {
return $this;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php
index fbd96df9b..f6188bf9d 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Stream.php
@@ -1,31 +1,33 @@
size = $options['size'];
}
- $this->customMetadata = isset($options['metadata']) ? $options['metadata'] : [];
+ $this->customMetadata = $options['metadata'] ?? [];
$this->stream = $stream;
$meta = \stream_get_meta_data($this->stream);
$this->seekable = $meta['seekable'];
@@ -64,29 +66,32 @@ public function __destruct()
{
$this->close();
}
- public function __toString()
+ public function __toString() : string
{
try {
if ($this->isSeekable()) {
$this->seek(0);
}
return $this->getContents();
- } catch (\Exception $e) {
+ } catch (\Throwable $e) {
+ if (\PHP_VERSION_ID >= 70400) {
+ throw $e;
+ }
+ \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR);
return '';
}
}
- public function getContents()
+ public function getContents() : string
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
- $contents = \stream_get_contents($this->stream);
- if ($contents === \false) {
- throw new \RuntimeException('Unable to read stream contents');
+ if (!$this->readable) {
+ throw new \RuntimeException('Cannot read from non-readable stream');
}
- return $contents;
+ return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::tryGetContents($this->stream);
}
- public function close()
+ public function close() : void
{
if (isset($this->stream)) {
if (\is_resource($this->stream)) {
@@ -106,7 +111,7 @@ public function detach()
$this->readable = $this->writable = $this->seekable = \false;
return $result;
}
- public function getSize()
+ public function getSize() : ?int
{
if ($this->size !== null) {
return $this->size;
@@ -119,32 +124,32 @@ public function getSize()
\clearstatcache(\true, $this->uri);
}
$stats = \fstat($this->stream);
- if (isset($stats['size'])) {
+ if (\is_array($stats) && isset($stats['size'])) {
$this->size = $stats['size'];
return $this->size;
}
return null;
}
- public function isReadable()
+ public function isReadable() : bool
{
return $this->readable;
}
- public function isWritable()
+ public function isWritable() : bool
{
return $this->writable;
}
- public function isSeekable()
+ public function isSeekable() : bool
{
return $this->seekable;
}
- public function eof()
+ public function eof() : bool
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
}
return \feof($this->stream);
}
- public function tell()
+ public function tell() : int
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
@@ -155,11 +160,11 @@ public function tell()
}
return $result;
}
- public function rewind()
+ public function rewind() : void
{
$this->seek(0);
}
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
$whence = (int) $whence;
if (!isset($this->stream)) {
@@ -172,7 +177,7 @@ public function seek($offset, $whence = \SEEK_SET)
throw new \RuntimeException('Unable to seek to stream position ' . $offset . ' with whence ' . \var_export($whence, \true));
}
}
- public function read($length)
+ public function read($length) : string
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
@@ -186,13 +191,17 @@ public function read($length)
if (0 === $length) {
return '';
}
- $string = \fread($this->stream, $length);
+ try {
+ $string = \fread($this->stream, $length);
+ } catch (\Exception $e) {
+ throw new \RuntimeException('Unable to read from stream', 0, $e);
+ }
if (\false === $string) {
throw new \RuntimeException('Unable to read from stream');
}
return $string;
}
- public function write($string)
+ public function write($string) : int
{
if (!isset($this->stream)) {
throw new \RuntimeException('Stream is detached');
@@ -208,6 +217,9 @@ public function write($string)
}
return $result;
}
+ /**
+ * @return mixed
+ */
public function getMetadata($key = null)
{
if (!isset($this->stream)) {
@@ -218,6 +230,6 @@ public function getMetadata($key = null)
return $this->customMetadata[$key];
}
$meta = \stream_get_meta_data($this->stream);
- return isset($meta[$key]) ? $meta[$key] : null;
+ return $meta[$key] ?? null;
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php
index 5dfa7c7e8..c87404e5c 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php
@@ -1,12 +1,13 @@
stream = $this->createStream();
return $this->stream;
}
throw new \UnexpectedValueException("{$name} not found on class");
}
- public function __toString()
+ public function __toString() : string
{
try {
if ($this->isSeekable()) {
$this->seek(0);
}
return $this->getContents();
- } catch (\Exception $e) {
- // Really, PHP? https://bugs.php.net/bug.php?id=53648
- \trigger_error('StreamDecorator::__toString exception: ' . (string) $e, \E_USER_ERROR);
+ } catch (\Throwable $e) {
+ if (\PHP_VERSION_ID >= 70400) {
+ throw $e;
+ }
+ \trigger_error(\sprintf('%s::__toString exception: %s', self::class, (string) $e), \E_USER_ERROR);
return '';
}
}
- public function getContents()
+ public function getContents() : string
{
return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToString($this);
}
/**
* Allow decorators to implement custom methods
*
- * @param string $method Missing method name
- * @param array $args Method arguments
- *
* @return mixed
*/
- public function __call($method, array $args)
+ public function __call(string $method, array $args)
{
- $result = \call_user_func_array([$this->stream, $method], $args);
+ /** @var callable $callable */
+ $callable = [$this->stream, $method];
+ $result = \call_user_func_array($callable, $args);
// Always return the wrapped object if the result is a return $this
return $result === $this->stream ? $this : $result;
}
- public function close()
+ public function close() : void
{
$this->stream->close();
}
+ /**
+ * @return mixed
+ */
public function getMetadata($key = null)
{
return $this->stream->getMetadata($key);
@@ -76,54 +79,52 @@ public function detach()
{
return $this->stream->detach();
}
- public function getSize()
+ public function getSize() : ?int
{
return $this->stream->getSize();
}
- public function eof()
+ public function eof() : bool
{
return $this->stream->eof();
}
- public function tell()
+ public function tell() : int
{
return $this->stream->tell();
}
- public function isReadable()
+ public function isReadable() : bool
{
return $this->stream->isReadable();
}
- public function isWritable()
+ public function isWritable() : bool
{
return $this->stream->isWritable();
}
- public function isSeekable()
+ public function isSeekable() : bool
{
return $this->stream->isSeekable();
}
- public function rewind()
+ public function rewind() : void
{
$this->seek(0);
}
- public function seek($offset, $whence = \SEEK_SET)
+ public function seek($offset, $whence = \SEEK_SET) : void
{
$this->stream->seek($offset, $whence);
}
- public function read($length)
+ public function read($length) : string
{
return $this->stream->read($length);
}
- public function write($string)
+ public function write($string) : int
{
return $this->stream->write($string);
}
/**
* Implement in subclasses to dynamically create streams when requested.
*
- * @return StreamInterface
- *
* @throws \BadMethodCallException
*/
- protected function createStream()
+ protected function createStream() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
throw new \BadMethodCallException('Not implemented');
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php
index c71ea0ddb..f15f6196e 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/StreamWrapper.php
@@ -1,14 +1,15 @@
context);
if (!isset($options['guzzle']['stream'])) {
@@ -67,38 +66,48 @@ public function stream_open($path, $mode, $options, &$opened_path)
$this->stream = $options['guzzle']['stream'];
return \true;
}
- public function stream_read($count)
+ public function stream_read(int $count) : string
{
return $this->stream->read($count);
}
- public function stream_write($data)
+ public function stream_write(string $data) : int
{
- return (int) $this->stream->write($data);
+ return $this->stream->write($data);
}
- public function stream_tell()
+ public function stream_tell() : int
{
return $this->stream->tell();
}
- public function stream_eof()
+ public function stream_eof() : bool
{
return $this->stream->eof();
}
- public function stream_seek($offset, $whence)
+ public function stream_seek(int $offset, int $whence) : bool
{
$this->stream->seek($offset, $whence);
return \true;
}
- public function stream_cast($cast_as)
+ /**
+ * @return resource|false
+ */
+ public function stream_cast(int $cast_as)
{
$stream = clone $this->stream;
- return $stream->detach();
+ $resource = $stream->detach();
+ return $resource ?? \false;
}
- public function stream_stat()
+ /**
+ * @return array
+ */
+ public function stream_stat() : array
{
static $modeMap = ['r' => 33060, 'rb' => 33060, 'r+' => 33206, 'w' => 33188, 'wb' => 33188];
return ['dev' => 0, 'ino' => 0, 'mode' => $modeMap[$this->mode], 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'size' => $this->stream->getSize() ?: 0, 'atime' => 0, 'mtime' => 0, 'ctime' => 0, 'blksize' => 0, 'blocks' => 0];
}
- public function url_stat($path, $flags)
+ /**
+ * @return array
+ */
+ public function url_stat(string $path, int $flags) : array
{
return ['dev' => 0, 'ino' => 0, 'mode' => 0, 'nlink' => 0, 'uid' => 0, 'gid' => 0, 'rdev' => 0, 'size' => 0, 'atime' => 0, 'mtime' => 0, 'ctime' => 0, 'blksize' => 0, 'blocks' => 0];
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php
index 88916374e..9da24a7f8 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UploadedFile.php
@@ -1,5 +1,6 @@
setError($errorStatus);
- $this->setSize($size);
- $this->setClientFilename($clientFilename);
- $this->setClientMediaType($clientMediaType);
+ $this->size = $size;
+ $this->clientFilename = $clientFilename;
+ $this->clientMediaType = $clientMediaType;
if ($this->isOk()) {
$this->setStreamOrFile($streamOrFile);
}
@@ -60,11 +54,11 @@ public function __construct($streamOrFile, $size, $errorStatus, $clientFilename
/**
* Depending on the value set file or stream variable
*
- * @param mixed $streamOrFile
+ * @param StreamInterface|string|resource $streamOrFile
*
* @throws InvalidArgumentException
*/
- private function setStreamOrFile($streamOrFile)
+ private function setStreamOrFile($streamOrFile) : void
{
if (\is_string($streamOrFile)) {
$this->file = $streamOrFile;
@@ -77,94 +71,34 @@ private function setStreamOrFile($streamOrFile)
}
}
/**
- * @param int $error
- *
* @throws InvalidArgumentException
*/
- private function setError($error)
+ private function setError(int $error) : void
{
- if (\false === \is_int($error)) {
- throw new \InvalidArgumentException('Upload file error status must be an integer');
- }
- if (\false === \in_array($error, \YoastSEO_Vendor\GuzzleHttp\Psr7\UploadedFile::$errors)) {
+ if (\false === \in_array($error, \YoastSEO_Vendor\GuzzleHttp\Psr7\UploadedFile::ERRORS, \true)) {
throw new \InvalidArgumentException('Invalid error status for UploadedFile');
}
$this->error = $error;
}
- /**
- * @param int $size
- *
- * @throws InvalidArgumentException
- */
- private function setSize($size)
- {
- if (\false === \is_int($size)) {
- throw new \InvalidArgumentException('Upload file size must be an integer');
- }
- $this->size = $size;
- }
- /**
- * @param mixed $param
- *
- * @return bool
- */
- private function isStringOrNull($param)
- {
- return \in_array(\gettype($param), ['string', 'NULL']);
- }
- /**
- * @param mixed $param
- *
- * @return bool
- */
- private function isStringNotEmpty($param)
+ private function isStringNotEmpty($param) : bool
{
return \is_string($param) && \false === empty($param);
}
- /**
- * @param string|null $clientFilename
- *
- * @throws InvalidArgumentException
- */
- private function setClientFilename($clientFilename)
- {
- if (\false === $this->isStringOrNull($clientFilename)) {
- throw new \InvalidArgumentException('Upload file client filename must be a string or null');
- }
- $this->clientFilename = $clientFilename;
- }
- /**
- * @param string|null $clientMediaType
- *
- * @throws InvalidArgumentException
- */
- private function setClientMediaType($clientMediaType)
- {
- if (\false === $this->isStringOrNull($clientMediaType)) {
- throw new \InvalidArgumentException('Upload file client media type must be a string or null');
- }
- $this->clientMediaType = $clientMediaType;
- }
/**
* Return true if there is no upload error
- *
- * @return bool
*/
- private function isOk()
+ private function isOk() : bool
{
return $this->error === \UPLOAD_ERR_OK;
}
- /**
- * @return bool
- */
- public function isMoved()
+ public function isMoved() : bool
{
return $this->moved;
}
/**
* @throws RuntimeException if is moved or not ok
*/
- private function validateActive()
+ private function validateActive() : void
{
if (\false === $this->isOk()) {
throw new \RuntimeException('Cannot retrieve stream due to upload error');
@@ -173,40 +107,24 @@ private function validateActive()
throw new \RuntimeException('Cannot retrieve stream after it has already been moved');
}
}
- /**
- * {@inheritdoc}
- *
- * @throws RuntimeException if the upload was not successful.
- */
- public function getStream()
+ public function getStream() : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
$this->validateActive();
if ($this->stream instanceof \YoastSEO_Vendor\Psr\Http\Message\StreamInterface) {
return $this->stream;
}
- return new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($this->file, 'r+');
+ /** @var string $file */
+ $file = $this->file;
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($file, 'r+');
}
- /**
- * {@inheritdoc}
- *
- * @see http://php.net/is_uploaded_file
- * @see http://php.net/move_uploaded_file
- *
- * @param string $targetPath Path to which to move the uploaded file.
- *
- * @throws RuntimeException if the upload was not successful.
- * @throws InvalidArgumentException if the $path specified is invalid.
- * @throws RuntimeException on any error during the move operation, or on
- * the second or subsequent call to the method.
- */
- public function moveTo($targetPath)
+ public function moveTo($targetPath) : void
{
$this->validateActive();
if (\false === $this->isStringNotEmpty($targetPath)) {
throw new \InvalidArgumentException('Invalid path provided for move operation; must be a non-empty string');
}
if ($this->file) {
- $this->moved = \php_sapi_name() == 'cli' ? \rename($this->file, $targetPath) : \move_uploaded_file($this->file, $targetPath);
+ $this->moved = \PHP_SAPI === 'cli' ? \rename($this->file, $targetPath) : \move_uploaded_file($this->file, $targetPath);
} else {
\YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::copyToStream($this->getStream(), new \YoastSEO_Vendor\GuzzleHttp\Psr7\LazyOpenStream($targetPath, 'w'));
$this->moved = \true;
@@ -215,40 +133,19 @@ public function moveTo($targetPath)
throw new \RuntimeException(\sprintf('Uploaded file could not be moved to %s', $targetPath));
}
}
- /**
- * {@inheritdoc}
- *
- * @return int|null The file size in bytes or null if unknown.
- */
- public function getSize()
+ public function getSize() : ?int
{
return $this->size;
}
- /**
- * {@inheritdoc}
- *
- * @see http://php.net/manual/en/features.file-upload.errors.php
- *
- * @return int One of PHP's UPLOAD_ERR_XXX constants.
- */
- public function getError()
+ public function getError() : int
{
return $this->error;
}
- /**
- * {@inheritdoc}
- *
- * @return string|null The filename sent by the client or null if none
- * was provided.
- */
- public function getClientFilename()
+ public function getClientFilename() : ?string
{
return $this->clientFilename;
}
- /**
- * {@inheritdoc}
- */
- public function getClientMediaType()
+ public function getClientMediaType() : ?string
{
return $this->clientMediaType;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php
index d9f2b5076..2b39722d0 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Uri.php
@@ -1,7 +1,9 @@
80, 'https' => 443, 'ftp' => 21, 'gopher' => 70, 'nntp' => 119, 'news' => 119, 'telnet' => 23, 'tn3270' => 23, 'imap' => 143, 'pop' => 110, 'ldap' => 389];
- private static $charUnreserved = 'a-zA-Z0-9_\\-\\.~';
- private static $charSubDelims = '!\\$&\'\\(\\)\\*\\+,;=';
- private static $replaceQuery = ['=' => '%3D', '&' => '%26'];
+ private const HTTP_DEFAULT_HOST = 'localhost';
+ private const DEFAULT_PORTS = ['http' => 80, 'https' => 443, 'ftp' => 21, 'gopher' => 70, 'nntp' => 119, 'news' => 119, 'telnet' => 23, 'tn3270' => 23, 'imap' => 143, 'pop' => 110, 'ldap' => 389];
+ /**
+ * Unreserved characters for use in a regex.
+ *
+ * @see https://tools.ietf.org/html/rfc3986#section-2.3
+ */
+ private const CHAR_UNRESERVED = 'a-zA-Z0-9_\\-\\.~';
+ /**
+ * Sub-delims for use in a regex.
+ *
+ * @see https://tools.ietf.org/html/rfc3986#section-2.2
+ */
+ private const CHAR_SUB_DELIMS = '!\\$&\'\\(\\)\\*\\+,;=';
+ private const QUERY_SEPARATORS_REPLACEMENT = ['=' => '%3D', '&' => '%26'];
/** @var string Uri scheme. */
private $scheme = '';
/** @var string Uri user info. */
@@ -37,16 +49,14 @@ class Uri implements \YoastSEO_Vendor\Psr\Http\Message\UriInterface
private $query = '';
/** @var string Uri fragment. */
private $fragment = '';
- /**
- * @param string $uri URI to parse
- */
- public function __construct($uri = '')
+ /** @var string|null String representation */
+ private $composedComponents;
+ public function __construct(string $uri = '')
{
- // weak type check to also accept null until we can add scalar type hints
- if ($uri != '') {
+ if ($uri !== '') {
$parts = self::parse($uri);
if ($parts === \false) {
- throw new \InvalidArgumentException("Unable to parse URI: {$uri}");
+ throw new \YoastSEO_Vendor\GuzzleHttp\Psr7\Exception\MalformedUriException("Unable to parse URI: {$uri}");
}
$this->applyParts($parts);
}
@@ -64,18 +74,18 @@ public function __construct($uri = '')
* @see https://www.php.net/manual/en/function.parse-url.php#114817
* @see https://curl.haxx.se/libcurl/c/CURLOPT_URL.html#ENCODING
*
- * @param string $url
- *
* @return array|false
*/
- private static function parse($url)
+ private static function parse(string $url)
{
// If IPv6
$prefix = '';
if (\preg_match('%^(.*://\\[[0-9:a-f]+\\])(.*?)$%', $url, $matches)) {
+ /** @var array{0:string, 1:string, 2:string} $matches */
$prefix = $matches[1];
$url = $matches[2];
}
+ /** @var string */
$encodedUrl = \preg_replace_callback('%[^:/@?&=#]+%usD', static function ($matches) {
return \urlencode($matches[0]);
}, $url);
@@ -85,9 +95,12 @@ private static function parse($url)
}
return \array_map('urldecode', $result);
}
- public function __toString()
+ public function __toString() : string
{
- return self::composeComponents($this->scheme, $this->getAuthority(), $this->path, $this->query, $this->fragment);
+ if ($this->composedComponents === null) {
+ $this->composedComponents = self::composeComponents($this->scheme, $this->getAuthority(), $this->path, $this->query, $this->fragment);
+ }
+ return $this->composedComponents;
}
/**
* Composes a URI reference string from its various components.
@@ -105,17 +118,9 @@ public function __toString()
* `file:///` is the more common syntax for the file scheme anyway (Chrome for example redirects to
* that format).
*
- * @param string $scheme
- * @param string $authority
- * @param string $path
- * @param string $query
- * @param string $fragment
- *
- * @return string
- *
- * @link https://tools.ietf.org/html/rfc3986#section-5.3
+ * @see https://tools.ietf.org/html/rfc3986#section-5.3
*/
- public static function composeComponents($scheme, $authority, $path, $query, $fragment)
+ public static function composeComponents(?string $scheme, ?string $authority, string $path, ?string $query, ?string $fragment) : string
{
$uri = '';
// weak type checks to also accept null until we can add scalar type hints
@@ -125,6 +130,9 @@ public static function composeComponents($scheme, $authority, $path, $query, $fr
if ($authority != '' || $scheme === 'file') {
$uri .= '//' . $authority;
}
+ if ($authority != '' && $path != '' && $path[0] != '/') {
+ $path = '/' . $path;
+ }
$uri .= $path;
if ($query != '') {
$uri .= '?' . $query;
@@ -139,14 +147,10 @@ public static function composeComponents($scheme, $authority, $path, $query, $fr
*
* `Psr\Http\Message\UriInterface::getPort` may return null or the standard port. This method can be used
* independently of the implementation.
- *
- * @param UriInterface $uri
- *
- * @return bool
*/
- public static function isDefaultPort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ public static function isDefaultPort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool
{
- return $uri->getPort() === null || isset(self::$defaultPorts[$uri->getScheme()]) && $uri->getPort() === self::$defaultPorts[$uri->getScheme()];
+ return $uri->getPort() === null || isset(self::DEFAULT_PORTS[$uri->getScheme()]) && $uri->getPort() === self::DEFAULT_PORTS[$uri->getScheme()];
}
/**
* Whether the URI is absolute, i.e. it has a scheme.
@@ -158,16 +162,12 @@ public static function isDefaultPort(\YoastSEO_Vendor\Psr\Http\Message\UriInterf
* - absolute-path references, e.g. '/path'
* - relative-path references, e.g. 'subpath'
*
- * @param UriInterface $uri
- *
- * @return bool
- *
* @see Uri::isNetworkPathReference
* @see Uri::isAbsolutePathReference
* @see Uri::isRelativePathReference
- * @link https://tools.ietf.org/html/rfc3986#section-4
+ * @see https://tools.ietf.org/html/rfc3986#section-4
*/
- public static function isAbsolute(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ public static function isAbsolute(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool
{
return $uri->getScheme() !== '';
}
@@ -176,13 +176,9 @@ public static function isAbsolute(\YoastSEO_Vendor\Psr\Http\Message\UriInterface
*
* A relative reference that begins with two slash characters is termed an network-path reference.
*
- * @param UriInterface $uri
- *
- * @return bool
- *
- * @link https://tools.ietf.org/html/rfc3986#section-4.2
+ * @see https://tools.ietf.org/html/rfc3986#section-4.2
*/
- public static function isNetworkPathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ public static function isNetworkPathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool
{
return $uri->getScheme() === '' && $uri->getAuthority() !== '';
}
@@ -191,13 +187,9 @@ public static function isNetworkPathReference(\YoastSEO_Vendor\Psr\Http\Message\
*
* A relative reference that begins with a single slash character is termed an absolute-path reference.
*
- * @param UriInterface $uri
- *
- * @return bool
- *
- * @link https://tools.ietf.org/html/rfc3986#section-4.2
+ * @see https://tools.ietf.org/html/rfc3986#section-4.2
*/
- public static function isAbsolutePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ public static function isAbsolutePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool
{
return $uri->getScheme() === '' && $uri->getAuthority() === '' && isset($uri->getPath()[0]) && $uri->getPath()[0] === '/';
}
@@ -206,13 +198,9 @@ public static function isAbsolutePathReference(\YoastSEO_Vendor\Psr\Http\Message
*
* A relative reference that does not begin with a slash character is termed a relative-path reference.
*
- * @param UriInterface $uri
- *
- * @return bool
- *
- * @link https://tools.ietf.org/html/rfc3986#section-4.2
+ * @see https://tools.ietf.org/html/rfc3986#section-4.2
*/
- public static function isRelativePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ public static function isRelativePathReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : bool
{
return $uri->getScheme() === '' && $uri->getAuthority() === '' && (!isset($uri->getPath()[0]) || $uri->getPath()[0] !== '/');
}
@@ -226,11 +214,9 @@ public static function isRelativePathReference(\YoastSEO_Vendor\Psr\Http\Message
* @param UriInterface $uri The URI to check
* @param UriInterface|null $base An optional base URI to compare against
*
- * @return bool
- *
- * @link https://tools.ietf.org/html/rfc3986#section-4.4
+ * @see https://tools.ietf.org/html/rfc3986#section-4.4
*/
- public static function isSameDocumentReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $base = null)
+ public static function isSameDocumentReference(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $base = null) : bool
{
if ($base !== null) {
$uri = \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve($base, $uri);
@@ -238,38 +224,6 @@ public static function isSameDocumentReference(\YoastSEO_Vendor\Psr\Http\Message
}
return $uri->getScheme() === '' && $uri->getAuthority() === '' && $uri->getPath() === '' && $uri->getQuery() === '';
}
- /**
- * Removes dot segments from a path and returns the new path.
- *
- * @param string $path
- *
- * @return string
- *
- * @deprecated since version 1.4. Use UriResolver::removeDotSegments instead.
- * @see UriResolver::removeDotSegments
- */
- public static function removeDotSegments($path)
- {
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::removeDotSegments($path);
- }
- /**
- * Converts the relative URI into a new URI that is resolved against the base URI.
- *
- * @param UriInterface $base Base URI
- * @param string|UriInterface $rel Relative URI
- *
- * @return UriInterface
- *
- * @deprecated since version 1.4. Use UriResolver::resolve instead.
- * @see UriResolver::resolve
- */
- public static function resolve(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $base, $rel)
- {
- if (!$rel instanceof \YoastSEO_Vendor\Psr\Http\Message\UriInterface) {
- $rel = new self($rel);
- }
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\UriResolver::resolve($base, $rel);
- }
/**
* Creates a new URI with a specific query string value removed.
*
@@ -278,10 +232,8 @@ public static function resolve(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $b
*
* @param UriInterface $uri URI to use as a base.
* @param string $key Query string key to remove.
- *
- * @return UriInterface
*/
- public static function withoutQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $key)
+ public static function withoutQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, string $key) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$result = self::getFilteredQueryString($uri, [$key]);
return $uri->withQuery(\implode('&', $result));
@@ -298,10 +250,8 @@ public static function withoutQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriIn
* @param UriInterface $uri URI to use as a base.
* @param string $key Key to set.
* @param string|null $value Value to set
- *
- * @return UriInterface
*/
- public static function withQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, $key, $value)
+ public static function withQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, string $key, ?string $value) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$result = self::getFilteredQueryString($uri, [$key]);
$result[] = self::generateQueryString($key, $value);
@@ -312,42 +262,36 @@ public static function withQueryValue(\YoastSEO_Vendor\Psr\Http\Message\UriInter
*
* It has the same behavior as withQueryValue() but for an associative array of key => value.
*
- * @param UriInterface $uri URI to use as a base.
- * @param array $keyValueArray Associative array of key and values
- *
- * @return UriInterface
+ * @param UriInterface $uri URI to use as a base.
+ * @param array $keyValueArray Associative array of key and values
*/
- public static function withQueryValues(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keyValueArray)
+ public static function withQueryValues(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keyValueArray) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$result = self::getFilteredQueryString($uri, \array_keys($keyValueArray));
foreach ($keyValueArray as $key => $value) {
- $result[] = self::generateQueryString($key, $value);
+ $result[] = self::generateQueryString((string) $key, $value !== null ? (string) $value : null);
}
return $uri->withQuery(\implode('&', $result));
}
/**
* Creates a URI from a hash of `parse_url` components.
*
- * @param array $parts
+ * @see http://php.net/manual/en/function.parse-url.php
*
- * @return UriInterface
- *
- * @link http://php.net/manual/en/function.parse-url.php
- *
- * @throws \InvalidArgumentException If the components do not form a valid URI.
+ * @throws MalformedUriException If the components do not form a valid URI.
*/
- public static function fromParts(array $parts)
+ public static function fromParts(array $parts) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$uri = new self();
$uri->applyParts($parts);
$uri->validateState();
return $uri;
}
- public function getScheme()
+ public function getScheme() : string
{
return $this->scheme;
}
- public function getAuthority()
+ public function getAuthority() : string
{
$authority = $this->host;
if ($this->userInfo !== '') {
@@ -358,31 +302,31 @@ public function getAuthority()
}
return $authority;
}
- public function getUserInfo()
+ public function getUserInfo() : string
{
return $this->userInfo;
}
- public function getHost()
+ public function getHost() : string
{
return $this->host;
}
- public function getPort()
+ public function getPort() : ?int
{
return $this->port;
}
- public function getPath()
+ public function getPath() : string
{
return $this->path;
}
- public function getQuery()
+ public function getQuery() : string
{
return $this->query;
}
- public function getFragment()
+ public function getFragment() : string
{
return $this->fragment;
}
- public function withScheme($scheme)
+ public function withScheme($scheme) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$scheme = $this->filterScheme($scheme);
if ($this->scheme === $scheme) {
@@ -390,11 +334,12 @@ public function withScheme($scheme)
}
$new = clone $this;
$new->scheme = $scheme;
+ $new->composedComponents = null;
$new->removeDefaultPort();
$new->validateState();
return $new;
}
- public function withUserInfo($user, $password = null)
+ public function withUserInfo($user, $password = null) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$info = $this->filterUserInfoComponent($user);
if ($password !== null) {
@@ -405,10 +350,11 @@ public function withUserInfo($user, $password = null)
}
$new = clone $this;
$new->userInfo = $info;
+ $new->composedComponents = null;
$new->validateState();
return $new;
}
- public function withHost($host)
+ public function withHost($host) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$host = $this->filterHost($host);
if ($this->host === $host) {
@@ -416,10 +362,11 @@ public function withHost($host)
}
$new = clone $this;
$new->host = $host;
+ $new->composedComponents = null;
$new->validateState();
return $new;
}
- public function withPort($port)
+ public function withPort($port) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$port = $this->filterPort($port);
if ($this->port === $port) {
@@ -427,11 +374,12 @@ public function withPort($port)
}
$new = clone $this;
$new->port = $port;
+ $new->composedComponents = null;
$new->removeDefaultPort();
$new->validateState();
return $new;
}
- public function withPath($path)
+ public function withPath($path) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$path = $this->filterPath($path);
if ($this->path === $path) {
@@ -439,10 +387,11 @@ public function withPath($path)
}
$new = clone $this;
$new->path = $path;
+ $new->composedComponents = null;
$new->validateState();
return $new;
}
- public function withQuery($query)
+ public function withQuery($query) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$query = $this->filterQueryAndFragment($query);
if ($this->query === $query) {
@@ -450,9 +399,10 @@ public function withQuery($query)
}
$new = clone $this;
$new->query = $query;
+ $new->composedComponents = null;
return $new;
}
- public function withFragment($fragment)
+ public function withFragment($fragment) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$fragment = $this->filterQueryAndFragment($fragment);
if ($this->fragment === $fragment) {
@@ -460,14 +410,19 @@ public function withFragment($fragment)
}
$new = clone $this;
$new->fragment = $fragment;
+ $new->composedComponents = null;
return $new;
}
+ public function jsonSerialize() : string
+ {
+ return $this->__toString();
+ }
/**
* Apply parse_url parts to a URI.
*
* @param array $parts Array of parse_url parts to apply.
*/
- private function applyParts(array $parts)
+ private function applyParts(array $parts) : void
{
$this->scheme = isset($parts['scheme']) ? $this->filterScheme($parts['scheme']) : '';
$this->userInfo = isset($parts['user']) ? $this->filterUserInfoComponent($parts['user']) : '';
@@ -482,13 +437,11 @@ private function applyParts(array $parts)
$this->removeDefaultPort();
}
/**
- * @param string $scheme
- *
- * @return string
+ * @param mixed $scheme
*
* @throws \InvalidArgumentException If the scheme is invalid.
*/
- private function filterScheme($scheme)
+ private function filterScheme($scheme) : string
{
if (!\is_string($scheme)) {
throw new \InvalidArgumentException('Scheme must be a string');
@@ -496,27 +449,23 @@ private function filterScheme($scheme)
return \strtr($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz');
}
/**
- * @param string $component
- *
- * @return string
+ * @param mixed $component
*
* @throws \InvalidArgumentException If the user info is invalid.
*/
- private function filterUserInfoComponent($component)
+ private function filterUserInfoComponent($component) : string
{
if (!\is_string($component)) {
throw new \InvalidArgumentException('User info must be a string');
}
- return \preg_replace_callback('/(?:[^%' . self::$charUnreserved . self::$charSubDelims . ']+|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $component);
+ return \preg_replace_callback('/(?:[^%' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . ']+|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $component);
}
/**
- * @param string $host
- *
- * @return string
+ * @param mixed $host
*
* @throws \InvalidArgumentException If the host is invalid.
*/
- private function filterHost($host)
+ private function filterHost($host) : string
{
if (!\is_string($host)) {
throw new \InvalidArgumentException('Host must be a string');
@@ -524,13 +473,11 @@ private function filterHost($host)
return \strtr($host, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz');
}
/**
- * @param int|null $port
- *
- * @return int|null
+ * @param mixed $port
*
* @throws \InvalidArgumentException If the port is invalid.
*/
- private function filterPort($port)
+ private function filterPort($port) : ?int
{
if ($port === null) {
return null;
@@ -542,12 +489,11 @@ private function filterPort($port)
return $port;
}
/**
- * @param UriInterface $uri
- * @param array $keys
+ * @param string[] $keys
*
- * @return array
+ * @return string[]
*/
- private static function getFilteredQueryString(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keys)
+ private static function getFilteredQueryString(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri, array $keys) : array
{
$current = $uri->getQuery();
if ($current === '') {
@@ -558,24 +504,18 @@ private static function getFilteredQueryString(\YoastSEO_Vendor\Psr\Http\Message
return !\in_array(\rawurldecode(\explode('=', $part)[0]), $decodedKeys, \true);
});
}
- /**
- * @param string $key
- * @param string|null $value
- *
- * @return string
- */
- private static function generateQueryString($key, $value)
+ private static function generateQueryString(string $key, ?string $value) : string
{
// Query string separators ("=", "&") within the key or value need to be encoded
// (while preventing double-encoding) before setting the query string. All other
// chars that need percent-encoding will be encoded by withQuery().
- $queryString = \strtr($key, self::$replaceQuery);
+ $queryString = \strtr($key, self::QUERY_SEPARATORS_REPLACEMENT);
if ($value !== null) {
- $queryString .= '=' . \strtr($value, self::$replaceQuery);
+ $queryString .= '=' . \strtr($value, self::QUERY_SEPARATORS_REPLACEMENT);
}
return $queryString;
}
- private function removeDefaultPort()
+ private function removeDefaultPort() : void
{
if ($this->port !== null && self::isDefaultPort($this)) {
$this->port = null;
@@ -584,55 +524,47 @@ private function removeDefaultPort()
/**
* Filters the path of a URI
*
- * @param string $path
- *
- * @return string
+ * @param mixed $path
*
* @throws \InvalidArgumentException If the path is invalid.
*/
- private function filterPath($path)
+ private function filterPath($path) : string
{
if (!\is_string($path)) {
throw new \InvalidArgumentException('Path must be a string');
}
- return \preg_replace_callback('/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\\/]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $path);
+ return \preg_replace_callback('/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\\/]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $path);
}
/**
* Filters the query string or fragment of a URI.
*
- * @param string $str
- *
- * @return string
+ * @param mixed $str
*
* @throws \InvalidArgumentException If the query or fragment is invalid.
*/
- private function filterQueryAndFragment($str)
+ private function filterQueryAndFragment($str) : string
{
if (!\is_string($str)) {
throw new \InvalidArgumentException('Query and fragment must be a string');
}
- return \preg_replace_callback('/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\\/\\?]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $str);
+ return \preg_replace_callback('/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\\/\\?]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $str);
}
- private function rawurlencodeMatchZero(array $match)
+ private function rawurlencodeMatchZero(array $match) : string
{
return \rawurlencode($match[0]);
}
- private function validateState()
+ private function validateState() : void
{
if ($this->host === '' && ($this->scheme === 'http' || $this->scheme === 'https')) {
$this->host = self::HTTP_DEFAULT_HOST;
}
if ($this->getAuthority() === '') {
if (0 === \strpos($this->path, '//')) {
- throw new \InvalidArgumentException('The path of a URI without an authority must not start with two slashes "//"');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Psr7\Exception\MalformedUriException('The path of a URI without an authority must not start with two slashes "//"');
}
if ($this->scheme === '' && \false !== \strpos(\explode('/', $this->path, 2)[0], ':')) {
- throw new \InvalidArgumentException('A relative URI must not have a path beginning with a segment containing a colon');
+ throw new \YoastSEO_Vendor\GuzzleHttp\Psr7\Exception\MalformedUriException('A relative URI must not have a path beginning with a segment containing a colon');
}
- } elseif (isset($this->path[0]) && $this->path[0] !== '/') {
- @\trigger_error('The path of a URI with an authority must start with a slash "/" or be empty. Automagically fixing the URI ' . 'by adding a leading slash to the path is deprecated since version 1.4 and will throw an exception instead.', \E_USER_DEPRECATED);
- $this->path = '/' . $this->path;
- //throw new \InvalidArgumentException('The path of a URI with an authority must start with a slash "/" or be empty');
}
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php
index 0726da764..b4a4dfa3c 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriComparator.php
@@ -1,5 +1,6 @@
getHost(), $modified->getHost()) !== 0) {
return \true;
@@ -29,10 +28,7 @@ public static function isCrossOrigin(\YoastSEO_Vendor\Psr\Http\Message\UriInterf
}
return \false;
}
- /**
- * @return int
- */
- private static function computePort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ private static function computePort(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : int
{
$port = $uri->getPort();
if (null !== $port) {
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php
index 330c10072..897f21200 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriNormalizer.php
@@ -1,5 +1,6 @@
withPath(\preg_replace_callback($regex, $callback, $uri->getPath()))->withQuery(\preg_replace_callback($regex, $callback, $uri->getQuery()));
}
- private static function decodeUnreservedCharacters(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri)
+ private static function decodeUnreservedCharacters(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $uri) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
$regex = '/%(?:2D|2E|5F|7E|3[0-9]|[46][1-9A-F]|[57][0-9A])/i';
$callback = function (array $match) {
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php
index 80f039b3c..ecf335887 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/UriResolver.php
@@ -1,5 +1,6 @@
getScheme() !== '' && ($base->getScheme() !== $target->getScheme() || $target->getAuthority() === '' && $base->getAuthority() !== '')) {
return $target;
@@ -150,12 +137,13 @@ public static function relativize(\YoastSEO_Vendor\Psr\Http\Message\UriInterface
// inherit the base query component when resolving.
if ($target->getQuery() === '') {
$segments = \explode('/', $target->getPath());
+ /** @var string $lastSegment */
$lastSegment = \end($segments);
return $emptyPathUri->withPath($lastSegment === '' ? './' : $lastSegment);
}
return $emptyPathUri;
}
- private static function getRelativePath(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $base, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $target)
+ private static function getRelativePath(\YoastSEO_Vendor\Psr\Http\Message\UriInterface $base, \YoastSEO_Vendor\Psr\Http\Message\UriInterface $target) : string
{
$sourceSegments = \explode('/', $base->getPath());
$targetSegments = \explode('/', $target->getPath());
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php
index d86c308de..b31a6e6fb 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/Utils.php
@@ -1,5 +1,6 @@
$keys
- *
- * @return array
+ * @param string[] $keys
*/
- public static function caselessRemove($keys, array $data)
+ public static function caselessRemove(array $keys, array $data) : array
{
$result = [];
foreach ($keys as &$key) {
$key = \strtolower($key);
}
foreach ($data as $k => $v) {
- if (!\in_array(\strtolower($k), $keys)) {
+ if (!\is_string($k) || !\in_array(\strtolower($k), $keys)) {
$result[$k] = $v;
}
}
@@ -39,7 +38,7 @@ public static function caselessRemove($keys, array $data)
*
* @throws \RuntimeException on error.
*/
- public static function copyToStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $dest, $maxLen = -1)
+ public static function copyToStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $source, \YoastSEO_Vendor\Psr\Http\Message\StreamInterface $dest, int $maxLen = -1) : void
{
$bufferSize = 8192;
if ($maxLen === -1) {
@@ -69,18 +68,15 @@ public static function copyToStream(\YoastSEO_Vendor\Psr\Http\Message\StreamInte
* @param int $maxLen Maximum number of bytes to read. Pass -1
* to read the entire stream.
*
- * @return string
- *
* @throws \RuntimeException on error.
*/
- public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $maxLen = -1)
+ public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, int $maxLen = -1) : string
{
$buffer = '';
if ($maxLen === -1) {
while (!$stream->eof()) {
$buf = $stream->read(1048576);
- // Using a loose equality here to match on '' and false.
- if ($buf == null) {
+ if ($buf === '') {
break;
}
$buffer .= $buf;
@@ -90,8 +86,7 @@ public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInte
$len = 0;
while (!$stream->eof() && $len < $maxLen) {
$buf = $stream->read($maxLen - $len);
- // Using a loose equality here to match on '' and false.
- if ($buf == null) {
+ if ($buf === '') {
break;
}
$buffer .= $buf;
@@ -109,11 +104,9 @@ public static function copyToString(\YoastSEO_Vendor\Psr\Http\Message\StreamInte
* @param string $algo Hash algorithm (e.g. md5, crc32, etc)
* @param bool $rawOutput Whether or not to use raw output
*
- * @return string Returns the hash of the stream
- *
* @throws \RuntimeException on error.
*/
- public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $algo, $rawOutput = \false)
+ public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, string $algo, bool $rawOutput = \false) : string
{
$pos = $stream->tell();
if ($pos > 0) {
@@ -123,7 +116,7 @@ public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $s
while (!$stream->eof()) {
\hash_update($ctx, $stream->read(1048576));
}
- $out = \hash_final($ctx, (bool) $rawOutput);
+ $out = \hash_final($ctx, $rawOutput);
$stream->seek($pos);
return $out;
}
@@ -144,10 +137,8 @@ public static function hash(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $s
*
* @param RequestInterface $request Request to clone and modify.
* @param array $changes Changes to apply.
- *
- * @return RequestInterface
*/
- public static function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $changes)
+ public static function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $changes) : \YoastSEO_Vendor\Psr\Http\Message\RequestInterface
{
if (!$changes) {
return $request;
@@ -180,29 +171,26 @@ public static function modifyRequest(\YoastSEO_Vendor\Psr\Http\Message\RequestIn
$uri = $uri->withQuery($changes['query']);
}
if ($request instanceof \YoastSEO_Vendor\Psr\Http\Message\ServerRequestInterface) {
- $new = (new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest(isset($changes['method']) ? $changes['method'] : $request->getMethod(), $uri, $headers, isset($changes['body']) ? $changes['body'] : $request->getBody(), isset($changes['version']) ? $changes['version'] : $request->getProtocolVersion(), $request->getServerParams()))->withParsedBody($request->getParsedBody())->withQueryParams($request->getQueryParams())->withCookieParams($request->getCookieParams())->withUploadedFiles($request->getUploadedFiles());
+ $new = (new \YoastSEO_Vendor\GuzzleHttp\Psr7\ServerRequest($changes['method'] ?? $request->getMethod(), $uri, $headers, $changes['body'] ?? $request->getBody(), $changes['version'] ?? $request->getProtocolVersion(), $request->getServerParams()))->withParsedBody($request->getParsedBody())->withQueryParams($request->getQueryParams())->withCookieParams($request->getCookieParams())->withUploadedFiles($request->getUploadedFiles());
foreach ($request->getAttributes() as $key => $value) {
$new = $new->withAttribute($key, $value);
}
return $new;
}
- return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request(isset($changes['method']) ? $changes['method'] : $request->getMethod(), $uri, $headers, isset($changes['body']) ? $changes['body'] : $request->getBody(), isset($changes['version']) ? $changes['version'] : $request->getProtocolVersion());
+ return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Request($changes['method'] ?? $request->getMethod(), $uri, $headers, $changes['body'] ?? $request->getBody(), $changes['version'] ?? $request->getProtocolVersion());
}
/**
* Read a line from the stream up to the maximum allowed buffer length.
*
* @param StreamInterface $stream Stream to read from
* @param int|null $maxLength Maximum buffer length
- *
- * @return string
*/
- public static function readLine(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, $maxLength = null)
+ public static function readLine(\YoastSEO_Vendor\Psr\Http\Message\StreamInterface $stream, int $maxLength = null) : string
{
$buffer = '';
$size = 0;
while (!$stream->eof()) {
- // Using a loose equality here to match on '' and false.
- if (null == ($byte = $stream->read(1))) {
+ if ('' === ($byte = $stream->read(1))) {
return $buffer;
}
$buffer .= $byte;
@@ -243,18 +231,16 @@ public static function readLine(\YoastSEO_Vendor\Psr\Http\Message\StreamInterfac
* buffered and used in subsequent reads.
*
* @param resource|string|int|float|bool|StreamInterface|callable|\Iterator|null $resource Entity body data
- * @param array $options Additional options
- *
- * @return StreamInterface
+ * @param array{size?: int, metadata?: array} $options Additional options
*
* @throws \InvalidArgumentException if the $resource arg is not valid.
*/
- public static function streamFor($resource = '', array $options = [])
+ public static function streamFor($resource = '', array $options = []) : \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
if (\is_scalar($resource)) {
$stream = self::tryFopen('php://temp', 'r+');
if ($resource !== '') {
- \fwrite($stream, $resource);
+ \fwrite($stream, (string) $resource);
\fseek($stream, 0);
}
return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($stream, $options);
@@ -265,15 +251,16 @@ public static function streamFor($resource = '', array $options = [])
* The 'php://input' is a special stream with quirks and inconsistencies.
* We avoid using that stream by reading it into php://temp
*/
- $metaData = \stream_get_meta_data($resource);
- if (isset($metaData['uri']) && $metaData['uri'] === 'php://input') {
+ /** @var resource $resource */
+ if ((\stream_get_meta_data($resource)['uri'] ?? '') === 'php://input') {
$stream = self::tryFopen('php://temp', 'w+');
- \fwrite($stream, \stream_get_contents($resource));
+ \stream_copy_to_stream($resource, $stream);
\fseek($stream, 0);
$resource = $stream;
}
return new \YoastSEO_Vendor\GuzzleHttp\Psr7\Stream($resource, $options);
case 'object':
+ /** @var object $resource */
if ($resource instanceof \YoastSEO_Vendor\Psr\Http\Message\StreamInterface) {
return $resource;
} elseif ($resource instanceof \Iterator) {
@@ -286,7 +273,7 @@ public static function streamFor($resource = '', array $options = [])
return $result;
}, $options);
} elseif (\method_exists($resource, '__toString')) {
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::streamFor((string) $resource, $options);
+ return self::streamFor((string) $resource, $options);
}
break;
case 'NULL':
@@ -310,14 +297,15 @@ public static function streamFor($resource = '', array $options = [])
*
* @throws \RuntimeException if the file cannot be opened
*/
- public static function tryFopen($filename, $mode)
+ public static function tryFopen(string $filename, string $mode)
{
$ex = null;
- \set_error_handler(function () use($filename, $mode, &$ex) {
- $ex = new \RuntimeException(\sprintf('Unable to open "%s" using mode "%s": %s', $filename, $mode, \func_get_args()[1]));
+ \set_error_handler(static function (int $errno, string $errstr) use($filename, $mode, &$ex) : bool {
+ $ex = new \RuntimeException(\sprintf('Unable to open "%s" using mode "%s": %s', $filename, $mode, $errstr));
return \true;
});
try {
+ /** @var resource $handle */
$handle = \fopen($filename, $mode);
} catch (\Throwable $e) {
$ex = new \RuntimeException(\sprintf('Unable to open "%s" using mode "%s": %s', $filename, $mode, $e->getMessage()), 0, $e);
@@ -329,6 +317,40 @@ public static function tryFopen($filename, $mode)
}
return $handle;
}
+ /**
+ * Safely gets the contents of a given stream.
+ *
+ * When stream_get_contents fails, PHP normally raises a warning. This
+ * function adds an error handler that checks for errors and throws an
+ * exception instead.
+ *
+ * @param resource $stream
+ *
+ * @throws \RuntimeException if the stream cannot be read
+ */
+ public static function tryGetContents($stream) : string
+ {
+ $ex = null;
+ \set_error_handler(static function (int $errno, string $errstr) use(&$ex) : bool {
+ $ex = new \RuntimeException(\sprintf('Unable to read stream contents: %s', $errstr));
+ return \true;
+ });
+ try {
+ /** @var string|false $contents */
+ $contents = \stream_get_contents($stream);
+ if ($contents === \false) {
+ $ex = new \RuntimeException('Unable to read stream contents');
+ }
+ } catch (\Throwable $e) {
+ $ex = new \RuntimeException(\sprintf('Unable to read stream contents: %s', $e->getMessage()), 0, $e);
+ }
+ \restore_error_handler();
+ if ($ex) {
+ /** @var $ex \RuntimeException */
+ throw $ex;
+ }
+ return $contents;
+ }
/**
* Returns a UriInterface for the given value.
*
@@ -338,11 +360,9 @@ public static function tryFopen($filename, $mode)
*
* @param string|UriInterface $uri
*
- * @return UriInterface
- *
* @throws \InvalidArgumentException
*/
- public static function uriFor($uri)
+ public static function uriFor($uri) : \YoastSEO_Vendor\Psr\Http\Message\UriInterface
{
if ($uri instanceof \YoastSEO_Vendor\Psr\Http\Message\UriInterface) {
return $uri;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php
deleted file mode 100755
index 4a9245568..000000000
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions.php
+++ /dev/null
@@ -1,400 +0,0 @@
- '1', 'foo[b]' => '2'])`.
- *
- * @param string $str Query string to parse
- * @param int|bool $urlEncoding How the query string is encoded
- *
- * @return array
- *
- * @deprecated parse_query will be removed in guzzlehttp/psr7:2.0. Use Query::parse instead.
- */
-function parse_query($str, $urlEncoding = \true)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Query::parse($str, $urlEncoding);
-}
-/**
- * Build a query string from an array of key value pairs.
- *
- * This function can use the return value of `parse_query()` to build a query
- * string. This function does not modify the provided keys when an array is
- * encountered (like `http_build_query()` would).
- *
- * @param array $params Query string parameters.
- * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986
- * to encode using RFC3986, or PHP_QUERY_RFC1738
- * to encode using RFC1738.
- *
- * @return string
- *
- * @deprecated build_query will be removed in guzzlehttp/psr7:2.0. Use Query::build instead.
- */
-function build_query(array $params, $encoding = \PHP_QUERY_RFC3986)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Query::build($params, $encoding);
-}
-/**
- * Determines the mimetype of a file by looking at its extension.
- *
- * @param string $filename
- *
- * @return string|null
- *
- * @deprecated mimetype_from_filename will be removed in guzzlehttp/psr7:2.0. Use MimeType::fromFilename instead.
- */
-function mimetype_from_filename($filename)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromFilename($filename);
-}
-/**
- * Maps a file extensions to a mimetype.
- *
- * @param $extension string The file extension.
- *
- * @return string|null
- *
- * @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types
- * @deprecated mimetype_from_extension will be removed in guzzlehttp/psr7:2.0. Use MimeType::fromExtension instead.
- */
-function mimetype_from_extension($extension)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\MimeType::fromExtension($extension);
-}
-/**
- * Parses an HTTP message into an associative array.
- *
- * The array contains the "start-line" key containing the start line of
- * the message, "headers" key containing an associative array of header
- * array values, and a "body" key containing the body of the message.
- *
- * @param string $message HTTP request or response to parse.
- *
- * @return array
- *
- * @internal
- *
- * @deprecated _parse_message will be removed in guzzlehttp/psr7:2.0. Use Message::parseMessage instead.
- */
-function _parse_message($message)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::parseMessage($message);
-}
-/**
- * Constructs a URI for an HTTP request message.
- *
- * @param string $path Path from the start-line
- * @param array $headers Array of headers (each value an array).
- *
- * @return string
- *
- * @internal
- *
- * @deprecated _parse_request_uri will be removed in guzzlehttp/psr7:2.0. Use Message::parseRequestUri instead.
- */
-function _parse_request_uri($path, array $headers)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::parseRequestUri($path, $headers);
-}
-/**
- * Get a short summary of the message body.
- *
- * Will return `null` if the response is not printable.
- *
- * @param MessageInterface $message The message to get the body summary
- * @param int $truncateAt The maximum allowed size of the summary
- *
- * @return string|null
- *
- * @deprecated get_message_body_summary will be removed in guzzlehttp/psr7:2.0. Use Message::bodySummary instead.
- */
-function get_message_body_summary(\YoastSEO_Vendor\Psr\Http\Message\MessageInterface $message, $truncateAt = 120)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Message::bodySummary($message, $truncateAt);
-}
-/**
- * Remove the items given by the keys, case insensitively from the data.
- *
- * @param iterable $keys
- *
- * @return array
- *
- * @internal
- *
- * @deprecated _caseless_remove will be removed in guzzlehttp/psr7:2.0. Use Utils::caselessRemove instead.
- */
-function _caseless_remove($keys, array $data)
-{
- return \YoastSEO_Vendor\GuzzleHttp\Psr7\Utils::caselessRemove($keys, $data);
-}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php
deleted file mode 100755
index d21cb5596..000000000
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/psr7/src/functions_include.php
+++ /dev/null
@@ -1,8 +0,0 @@
-state;
}
+ /**
+ * Set the value of the pkceCode parameter.
+ *
+ * When using PKCE this should be set before requesting an access token.
+ *
+ * @param string $pkceCode
+ * @return self
+ */
+ public function setPkceCode($pkceCode)
+ {
+ $this->pkceCode = $pkceCode;
+ return $this;
+ }
+ /**
+ * Returns the current value of the pkceCode parameter.
+ *
+ * This can be accessed by the redirect handler during authorization.
+ *
+ * @return string|null
+ */
+ public function getPkceCode()
+ {
+ return $this->pkceCode;
+ }
/**
* Returns the base URL for authorizing a client.
*
@@ -264,6 +304,18 @@ protected function getRandomState($length = 32)
// the amount of bytes by half to produce the correct length.
return \bin2hex(\random_bytes($length / 2));
}
+ /**
+ * Returns a new random string to use as PKCE code_verifier and
+ * hashed as code_challenge parameters in an authorization flow.
+ * Must be between 43 and 128 characters long.
+ *
+ * @param int $length Length of the random string to be generated.
+ * @return string
+ */
+ protected function getRandomPkceCode($length = 64)
+ {
+ return \substr(\strtr(\base64_encode(\random_bytes($length)), '+/', '-_'), 0, $length);
+ }
/**
* Returns the default scopes used by this provider.
*
@@ -283,6 +335,13 @@ protected function getScopeSeparator()
{
return ',';
}
+ /**
+ * @return string|null
+ */
+ protected function getPkceMethod()
+ {
+ return null;
+ }
/**
* Returns authorization parameters based on provided options.
*
@@ -304,6 +363,18 @@ protected function getAuthorizationParameters(array $options)
}
// Store the state as it may need to be accessed later on.
$this->state = $options['state'];
+ $pkceMethod = $this->getPkceMethod();
+ if (!empty($pkceMethod)) {
+ $this->pkceCode = $this->getRandomPkceCode();
+ if ($pkceMethod === static::PKCE_METHOD_S256) {
+ $options['code_challenge'] = \trim(\strtr(\base64_encode(\hash('sha256', $this->pkceCode, \true)), '+/', '-_'), '=');
+ } elseif ($pkceMethod === static::PKCE_METHOD_PLAIN) {
+ $options['code_challenge'] = $this->pkceCode;
+ } else {
+ throw new \InvalidArgumentException('Unknown PKCE method "' . $pkceMethod . '".');
+ }
+ $options['code_challenge_method'] = $pkceMethod;
+ }
// Business code layer might set a different redirect_uri parameter
// depending on the context, leave it as-is
if (!isset($options['redirect_uri'])) {
@@ -443,8 +514,8 @@ protected function getAccessTokenRequest(array $params)
/**
* Requests an access token using a specified grant and option set.
*
- * @param mixed $grant
- * @param array $options
+ * @param mixed $grant
+ * @param array $options
* @throws IdentityProviderException
* @return AccessTokenInterface
*/
@@ -452,6 +523,9 @@ public function getAccessToken($grant, array $options = [])
{
$grant = $this->verifyGrant($grant);
$params = ['client_id' => $this->clientId, 'client_secret' => $this->clientSecret, 'redirect_uri' => $this->redirectUri];
+ if (!empty($this->pkceCode)) {
+ $params['code_verifier'] = $this->pkceCode;
+ }
$params = $grant->prepareRequestParameters($params, $options);
$request = $this->getAccessTokenRequest($params);
$response = $this->getParsedResponse($request);
@@ -479,7 +553,7 @@ public function getRequest($method, $url, array $options = [])
*
* @param string $method
* @param string $url
- * @param AccessTokenInterface|string $token
+ * @param AccessTokenInterface|string|null $token
* @param array $options Any of "headers", "body", and "protocolVersion".
* @return RequestInterface
*/
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php
index f4ed40a30..47ea3a597 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php
@@ -26,7 +26,7 @@ class IdentityProviderException extends \Exception
/**
* @param string $message
* @param int $code
- * @param array|string $response The response body
+ * @param mixed $response The response body
*/
public function __construct($message, $code, $response)
{
@@ -36,7 +36,7 @@ public function __construct($message, $code, $response)
/**
* Returns the exception's response body.
*
- * @return array|string
+ * @return mixed
*/
public function getResponseBody()
{
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php
index 39206e3e4..26e09d760 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/GenericProvider.php
@@ -66,6 +66,10 @@ class GenericProvider extends \YoastSEO_Vendor\League\OAuth2\Client\Provider\Abs
* @var string
*/
private $responseResourceOwnerId = 'id';
+ /**
+ * @var string|null
+ */
+ private $pkceMethod = null;
/**
* @param array $options
* @param array $collaborators
@@ -89,7 +93,7 @@ public function __construct(array $options = [], array $collaborators = [])
*/
protected function getConfigurableOptions()
{
- return \array_merge($this->getRequiredOptions(), ['accessTokenMethod', 'accessTokenResourceOwnerId', 'scopeSeparator', 'responseError', 'responseCode', 'responseResourceOwnerId', 'scopes']);
+ return \array_merge($this->getRequiredOptions(), ['accessTokenMethod', 'accessTokenResourceOwnerId', 'scopeSeparator', 'responseError', 'responseCode', 'responseResourceOwnerId', 'scopes', 'pkceMethod']);
}
/**
* Returns all options that are required.
@@ -163,6 +167,13 @@ protected function getScopeSeparator()
{
return $this->scopeSeparator ?: parent::getScopeSeparator();
}
+ /**
+ * @inheritdoc
+ */
+ protected function getPkceMethod()
+ {
+ return $this->pkceMethod ?: parent::getPkceMethod();
+ }
/**
* @inheritdoc
*/
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php
new file mode 100755
index 000000000..3145203fb
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/psr/http-client/src/ClientExceptionInterface.php
@@ -0,0 +1,10 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+if (!function_exists('trigger_deprecation')) {
+ /**
+ * Triggers a silenced deprecation notice.
+ *
+ * @param string $package The name of the Composer package that is triggering the deprecation
+ * @param string $version The version of the package that introduced the deprecation
+ * @param string $message The message of the deprecation
+ * @param mixed ...$args Values to insert in the message using printf() formatting
+ *
+ * @author Nicolas Grekas
+ */
+ function trigger_deprecation(string $package, string $version, string $message, ...$args): void
+ {
+ @trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED);
+ }
+}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php
index f3d92bc65..6373d096a 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Config/OptionsConfig.php
@@ -11,6 +11,6 @@ class OptionsConfig extends \YoastSEO_Vendor\WordProof\SDK\Config\Config
*/
protected static function values()
{
- return ['source_id' => ['escape' => 'integer', 'default' => null], 'access_token' => ['escape' => 'text_field', 'default' => null], 'balance' => ['escape' => 'integer', 'default' => 0], 'settings' => ['cast' => 'object', 'options' => ['certificate_link_text' => ['escape' => 'text_field', 'default' => __('View this content\'s Timestamp certificate', 'wordproof')], 'hide_certificate_link' => ['escape' => 'boolean', 'default' => \false], 'selected_post_types' => ['escape' => 'text_field', 'default' => []], 'show_revisions' => ['escape' => 'boolean', 'default' => \true]]]];
+ return ['source_id' => ['escape' => 'integer', 'default' => null], 'access_token' => ['escape' => 'text_field', 'default' => null], 'balance' => ['escape' => 'integer', 'default' => 0], 'settings' => ['cast' => 'object', 'options' => ['certificate_link_text' => ['escape' => 'text_field', 'default' => __('View this content\'s Timestamp certificate', 'wordproof')], 'hide_certificate_link' => ['escape' => 'boolean', 'default' => \false], 'selected_post_types' => ['escape' => 'text_field', 'default' => []], 'show_revisions' => ['escape' => 'boolean', 'default' => \true]]], 'identity' => ['cast' => 'object', 'options' => ['provider' => ['escape' => 'text_field', 'default' => null], 'first_name' => ['escape' => 'text_field', 'default' => null], 'last_name' => ['escape' => 'text_field', 'default' => null], 'profile_picture' => ['escape' => 'url', 'default' => null], 'proof_url' => ['escape' => 'url', 'default' => null]]]];
}
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php
index c2341a725..2a2d9b641 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/CertificateController.php
@@ -5,6 +5,7 @@
use YoastSEO_Vendor\WordProof\SDK\Helpers\AppConfigHelper;
use YoastSEO_Vendor\WordProof\SDK\Helpers\CertificateHelper;
use YoastSEO_Vendor\WordProof\SDK\Helpers\EnvironmentHelper;
+use YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper;
use YoastSEO_Vendor\WordProof\SDK\Helpers\PostMetaHelper;
use YoastSEO_Vendor\WordProof\SDK\Helpers\SettingsHelper;
class CertificateController
@@ -55,7 +56,12 @@ public function certificateTag($content)
$showRevisions = \YoastSEO_Vendor\WordProof\SDK\Helpers\SettingsHelper::showRevisions() ? 'true' : 'false';
$debug = \YoastSEO_Vendor\WordProof\SDK\Helpers\EnvironmentHelper::development() ? 'true' : 'false';
$lastModified = \get_the_modified_date('c', $post->ID);
- $content .= "\n" . ' ';
+ $identity = \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::get('identity');
+ $identityProvider = isset($identity->provider) ? $identity->provider : '';
+ $identityName = (isset($identity->first_name) ? $identity->first_name : '') . ' ' . (isset($identity->last_name) ? $identity->last_name : '');
+ $identityProfilePicture = isset($identity->profile_picture) ? $identity->profile_picture : '';
+ $identityProofUrl = isset($identity->proof_url) ? $identity->proof_url : '';
+ $content .= "\n" . ' ';
$content .= "\n" . '
';
$content .= "\n";
return $content;
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php
new file mode 100755
index 000000000..5fae24f25
--- /dev/null
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/IdentityController.php
@@ -0,0 +1,56 @@
+ $data['first_name'], 'last_name' => $data['last_name'], 'provider' => $data['provider'], 'profile_picture' => $data['profile_picture'], 'proof_url' => \YoastSEO_Vendor\WordProof\SDK\Helpers\EnvironmentHelper::url() . '/identity/' . \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::sourceId()];
+ }
+ /**
+ * Store identity data
+ *
+ * @param array $data
+ *
+ * @return bool
+ * @throws ValidationException
+ */
+ public function store($data)
+ {
+ return \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::set('identity', $this->validate($data));
+ }
+ /**
+ * Delete the stored identity data
+ *
+ * @return mixed
+ */
+ public function delete()
+ {
+ return \YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::delete('identity');
+ }
+}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php
index 07203885f..74de16965 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Controllers/RestApiController.php
@@ -2,6 +2,7 @@
namespace YoastSEO_Vendor\WordProof\SDK\Controllers;
+use YoastSEO_Vendor\WordProof\SDK\Exceptions\ValidationException;
use YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper;
use YoastSEO_Vendor\WordProof\SDK\Helpers\RestApiHelper;
use YoastSEO_Vendor\WordProof\SDK\Helpers\PostMetaHelper;
@@ -166,6 +167,17 @@ public function webhook(\WP_REST_Request $request)
\YoastSEO_Vendor\WordProof\SDK\Helpers\PostMetaHelper::update($response->data->uid, $key, \json_decode($response->data->hash_input));
$this->setBlockchainTransaction($response->data);
break;
+ case 'set_identity':
+ try {
+ (new \YoastSEO_Vendor\WordProof\SDK\Controllers\IdentityController())->store((array) $response->data);
+ return new \WP_REST_Response(null, 201);
+ } catch (\YoastSEO_Vendor\WordProof\SDK\Exceptions\ValidationException $e) {
+ return new \WP_REST_Response(['message' => $e->getMessage()], 400);
+ }
+ case 'delete_identity':
+ (new \YoastSEO_Vendor\WordProof\SDK\Controllers\IdentityController())->delete();
+ $data = (object) ['status' => 200, 'message' => 'success'];
+ return new \WP_REST_Response($data, $data->status);
default:
break;
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php
index 4e4ddc142..0b1f39f76 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Helpers/AuthenticationHelper.php
@@ -12,6 +12,8 @@ class AuthenticationHelper
public static function logout()
{
\YoastSEO_Vendor\WordProof\SDK\Helpers\OptionsHelper::resetAuthentication();
+ \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::getOnce('wordproof_v2_authenticate_with_token');
+ \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::getOnce('wordproof_v2_get_existing_source');
}
/**
* Returns if the user is authenticated.
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php
index 90741bb1a..f0d45ba4f 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/Support/Authentication.php
@@ -28,8 +28,9 @@ public static function authorize($redirectUrl = null)
* Login with user if v2 plugin data exist.
*/
$accessToken = \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::get('wordproof_v2_authenticate_with_token');
- if ($accessToken) {
- $data = \array_merge($data, ['access_token_login' => $accessToken]);
+ $sourceId = \YoastSEO_Vendor\WordProof\SDK\Helpers\TransientHelper::get('wordproof_v2_get_existing_source');
+ if ($accessToken && $sourceId) {
+ $data = \array_merge($data, ['access_token_login' => $accessToken, 'source_id' => $sourceId]);
} else {
$data = \array_merge($data, ['confirm_account' => \true]);
}
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php
index d66269f85..f3c566c87 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/app/WordPressSDK.php
@@ -21,7 +21,7 @@ class WordPressSDK
* The version of this SDK
* @var string
*/
- public $version = '1.3.2';
+ public $version = '1.3.5';
/**
* @var null|WordPressSDK
*/
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js
index 1dffbcc3c..ee196c17c 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-block-editor.js
@@ -1,4 +1,4 @@
-!function(){var e={703:function(e,t,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,o,r,a,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(e,t,o){e.exports=o(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.element,t=window.wp.data,n=window.wp.apiFetch,r=o.n(n);async function a(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await e();return!!r&&(r.status===n?t(r):o(r))}catch(e){}}async function s(e){try{return await r()(e)}catch(e){return e.error&&e.status?e:e instanceof window.Response&&await e.json()}}const i=async()=>await a((async()=>await c()),(e=>e),(()=>!1)),c=async()=>await s({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:p}=lodash,d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return p(window,"wordproofSdk.data"+(e?`.${e}`:""),t)};var l=o(697),u=o.n(l);function w(e){const t=new window.CustomEvent(e);window.dispatchEvent(t)}const f=e=>{const{response:t,createSuccessNotice:o,createErrorNotice:n,postId:r}=e;if(null===t||200===t.status)return;const a={id:"wordproof-timestamp-notice"};t&&201===t.status?0===t.balance?(a.actions=[{label:d("translations.open_settings_button_text"),onClick:()=>{w("wordproof:open_settings")},variant:"link"}],n(d("translations.no_balance"),a)):(o(d("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),h(r,t.hash,n,a)):t.error&&("not_authenticated"===t.error?(a.type="snackbar",a.actions=[{label:d("translations.open_authentication_button_text"),onClick:()=>{w("wordproof:open_authentication")},variant:"link"}],n(d("translations.not_authenticated"),a)):n(d("translations.timestamp_failed"),a))},h=async(e,t,o,n)=>{setTimeout((async()=>{const r=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp/transaction/latest`,method:"GET"}))(e);r.hash!==t&&(n.type="snackbar",o(d("translations.webhook_failed"),n))}),1e4)};f.proptypes={timestampResponse:u().any.isRequired,createSuccessNotice:u().func.isRequired,createErrorNotice:u().func.isRequired,postId:u().number.isRequired};const{debounce:m}=lodash,{applyFilters:y}=wp.hooks;const{dispatch:v}=wp.data;const{subscribe:_,select:g}=wp.data;function b(e){let t=!0;_((()=>{const o=g("core/editor").isSavingPost(),n=g("core/editor").isAutosavingPost(),r=g("core/editor").didPostSaveRequestSucceed();if(o&&r&&!n){if(t)return void(t=!1);e()}}))}const{__:__}=wp.i18n,{useCallback:E}=wp.element,{withSelect:P}=wp.data,{compose:k}=wp.compose,T=t=>{const{isAuthenticated:o}=t,n=d("popup_redirect_authentication_url"),r=d("popup_redirect_settings_url"),a=E((e=>{e.preventDefault(),w("wordproof:open_settings")})),s=E((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(e.Fragment,null,o&&(0,e.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,e.createElement)("a",{href:n,onClick:s},__("Open authentication","wordproof")))};T.proptypes={isAuthenticated:u().bool.isRequired};var R=k([P((e=>({isAuthenticated:e("wordproof").getIsAuthenticated()})))])(T);const{Modal:S}=wp.components,C=t=>{const{title:o,children:n,close:r}=t;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(S,{style:{maxWidth:"440px"},title:o,onRequestClose:r},n))};C.proptypes={title:u().string.isRequired,children:u().any,close:u().func.isRequired};var O=C;const{Button:q}=wp.components,{useCallback:W}=wp.element,{__:A}=wp.i18n,L=t=>{const{close:o}=t,n=W((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:A("Authentication denied","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,A("You need to allow WordProof to access your site to finish the WordProof installation.","wordproof")),(0,e.createElement)(q,{variant:"primary",onClick:n},A("Retry authentication","wordproof"))))};L.proptypes={close:u().func.isRequired};var $=L;function x(t,o){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(0,e.createInterpolateElement)(t,{a:(0,e.createElement)("a",{id:n,href:o,target:"_blank",rel:"noopener noreferrer"})})}const{Button:I}=wp.components,{useCallback:D}=wp.element,{__:F,sprintf:M}=wp.i18n,N=t=>{const{close:o}=t,n=D((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:F("Authentication failed","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,M(
+!function(){var e={703:function(e,t,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,o,r,a,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var o={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(e,t,o){e.exports=o(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.element,t=window.wp.data,n=window.wp.apiFetch,r=o.n(n);async function a(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await e();return!!r&&(r.status===n?t(r):o(r))}catch(e){}}async function s(e){try{return await r()(e)}catch(e){return e.error&&e.status?e:e instanceof window.Response&&await e.json()}}const i=async()=>await a((async()=>await c()),(e=>e),(()=>!1)),c=async()=>await s({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:p}=lodash,d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return p(window,"wordproofSdk.data"+(e?`.${e}`:""),t)};var l=o(697),u=o.n(l);function w(e){const t=new window.CustomEvent(e);window.dispatchEvent(t)}const f=e=>{const{response:t,createSuccessNotice:o,createErrorNotice:n,postId:r}=e;if(null===t||200===t.status)return;const a={id:"wordproof-timestamp-notice"};t&&201===t.status?0===t.balance?(a.actions=[{label:d("translations.open_settings_button_text"),onClick:()=>{w("wordproof:open_settings")},variant:"link"}],n(d("translations.no_balance"),a)):(o(d("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),h(r,t.hash,n,a)):t.error&&("not_authenticated"===t.error?(a.type="snackbar",a.actions=[{label:d("translations.open_authentication_button_text"),onClick:()=>{w("wordproof:open_authentication")},variant:"link"}],n(d("translations.not_authenticated"),a)):n(d("translations.timestamp_failed"),a))},h=async(e,t,o,n)=>{setTimeout((async()=>{const r=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp/transaction/latest`,method:"GET"}))(e);r.hash!==t&&(n.type="snackbar",o(d("translations.webhook_failed"),n))}),1e4)};f.proptypes={timestampResponse:u().any.isRequired,createSuccessNotice:u().func.isRequired,createErrorNotice:u().func.isRequired,postId:u().number.isRequired};const{debounce:m}=lodash,{applyFilters:y}=wp.hooks;const{dispatch:v}=wp.data;const{subscribe:_,select:g}=wp.data;function b(e){let t=!0;_((()=>{const o=g("core/editor").isSavingPost(),n=g("core/editor").isAutosavingPost(),r=g("core/editor").didPostSaveRequestSucceed();if(o&&r&&!n){if(t)return void(t=!1);e()}}))}const{__:__}=wp.i18n,{useCallback:E}=wp.element,{withSelect:k}=wp.data,{compose:P}=wp.compose,T=t=>{const{isAuthenticated:o}=t,n=d("popup_redirect_authentication_url"),r=d("popup_redirect_settings_url"),a=E((e=>{e.preventDefault(),w("wordproof:open_settings")})),s=E((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(e.Fragment,null,o&&(0,e.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,e.createElement)("a",{href:n,onClick:s},__("Open authentication","wordproof")))};T.proptypes={isAuthenticated:u().bool.isRequired};var R=P([k((e=>({isAuthenticated:e("wordproof").getIsAuthenticated()})))])(T);const{Modal:S}=wp.components,C=t=>{const{title:o,children:n,close:r}=t;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(S,{style:{maxWidth:"440px"},title:o,onRequestClose:r},n))};C.proptypes={title:u().string.isRequired,children:u().any,close:u().func.isRequired};var O=C;const{Button:q}=wp.components,{useCallback:W}=wp.element,{__:A}=wp.i18n,L=t=>{const{close:o}=t,n=W((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:A("Authentication denied","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,A("You need to allow WordProof to access your site to finish the WordProof installation.","wordproof")),(0,e.createElement)(q,{variant:"primary",onClick:n},A("Retry authentication","wordproof"))))};L.proptypes={close:u().func.isRequired};var $=L;function x(t,o){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(0,e.createInterpolateElement)(t,{a:(0,e.createElement)("a",{id:n,href:o,target:"_blank",rel:"noopener noreferrer"})})}const{Button:I}=wp.components,{useCallback:D}=wp.element,{__:F,sprintf:M}=wp.i18n,N=t=>{const{close:o}=t,n=D((e=>{e.preventDefault(),w("wordproof:open_authentication")}));return(0,e.createElement)(O,{close:o,title:F("Authentication failed","wordproof")},(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",null,M(
/* Translators: %s expands to WordProof */
F("Something failed during the authentication of your %s account.","wordproof"),"WordProof"),x(M(
/* Translators: %1s and %2s are html tags. %3s expands to WordProof */
@@ -12,4 +12,4 @@ V("The timestamp sent by %s was not received on your website.","WordProof"),"Wor
/* Translators: %1s and %2s are html tags. %3s expands to WordProof */
V("Please contact the %1$s%3$s support team%2$s to help solve this problem.","wordpress-seo"),""," ","WordProof"),"https://help.wordproof.com/")))};J.proptypes={close:u().func.isRequired};var K=J;const{useState:Q,useCallback:Z,useEffect:ee}=wp.element;var te=()=>{const[t,o]=Q(null),n=Z((()=>{o("oauth:failed")})),r=Z((()=>{o("oauth:denied")})),a=Z((()=>{o("webhook:failed")})),s=Z((()=>{o("oauth:success")})),i=Z((()=>{o(null)}));return ee((()=>(window.addEventListener("wordproof:oauth:success",s,!1),window.addEventListener("wordproof:oauth:failed",n,!1),window.addEventListener("wordproof:oauth:denied",r,!1),window.addEventListener("wordproof:webhook:failed",a,!1),()=>{window.removeEventListener("wordproof:oauth:success",s,!1),window.removeEventListener("wordproof:oauth:failed",n,!1),window.removeEventListener("wordproof:oauth:denied",r,!1),window.removeEventListener("wordproof:webhook:failed",a,!1)})),[]),(0,e.createElement)(e.Fragment,null,"oauth:success"===t&&(0,e.createElement)(G,{close:i}),"oauth:denied"===t&&(0,e.createElement)($,{close:i}),"oauth:failed"===t&&(0,e.createElement)(j,{close:i}),"webhook:failed"===t&&(0,e.createElement)(K,{close:i}))};const{__:oe,sprintf:ne}=wp.i18n,{PluginDocumentSettingPanel:re}=wp.editPost,{ToggleControl:ae,PanelRow:se}=wp.components,{compose:ie}=wp.compose,{withSelect:ce,withDispatch:pe}=wp.data,{useCallback:de}=wp.element,le=t=>{let{postType:o,postMeta:n,isAuthenticated:r,selectedPostTypes:a,setPostMeta:s}=t;const i=de((()=>a.includes(o)),[a,o]),c=de((()=>{w("wordproof:open_authentication")}));return void 0===n?(0,e.createElement)(e.Fragment,null):(0,e.createElement)(re,{title:oe("WordProof Timestamp","wordproof"),initialOpen:"true"},(0,e.createElement)(se,null,(0,e.createElement)(ae,{label:ne(
/* translators: %s expands to the post type */
-oe("Timestamp this %s","wordproof"),o),onChange:e=>{s({_wordproof_timestamp:e}),r||!0!==e||c()},checked:n._wordproof_timestamp||i(),disabled:i()})),(0,e.createElement)(se,null,(0,e.createElement)(R,null)),(0,e.createElement)(te,null))};le.proptypes={postType:u().string.isRequired,postMeta:u().object.isRequired,isAuthenticated:u().bool.isRequired,setPostMeta:u().func.isRequired};var ue=ie([ce((e=>({postMeta:e("core/editor").getEditedPostAttribute("meta"),postType:e("core/editor").getCurrentPostType(),isAuthenticated:e("wordproof").getIsAuthenticated(),selectedPostTypes:e("wordproof").getSelectedPostTypes()}))),pe((e=>({setPostMeta(t){e("core/editor").editPost({meta:t})}})))])(le);const{registerPlugin:we}=wp.plugins;we("wordproof-timestamp-panel",{render:()=>(0,e.createElement)(ue,null)}),function(){const{createSuccessNotice:e,createErrorNotice:o}=(0,t.dispatch)("core/notices");(function(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=v("wordproof"),o=d("popup_redirect_authentication_url"),n=d("popup_redirect_settings_url");let r=null;const c=(e,t)=>{r=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${s}`)}(window,e,t),r&&r.focus(),window.addEventListener("message",p,!1)},p=async e=>{const{data:t,source:o,origin:n}=e;if(n===d("origin")&&r===o)switch(t.type){case"wordproof:oauth:granted":!1===await f(t)&&await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await l("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await l("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await l("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await l("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await l("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await l("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":u()}},l=async function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;u(),w(t),!1===o&&(await i(),e(!1)),!0===o&&e(!0)},u=()=>{window.removeEventListener("message",p,!1),r.close()},f=async e=>{await a((()=>(async e=>{const{state:t,code:o}=e;return await s({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:t,code:o}})})(e)),(async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return r.postMessage(t,d("origin")),!0}),(async()=>!1))},h=async e=>{await a((()=>(async e=>{const{settings:t}=e;return await s({path:"wordproof/v1/settings",method:"POST",data:{settings:t}})})(e)),(async()=>{const o=e.settings;return o.selectedPostTypes&&t(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(e=>{e.preventDefault(),c(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(e=>{e.preventDefault(),c(n,"WordProof_Settings")}),!1)})(),function(e,t,o){e(m((async()=>{if(y("wordproof.timestamp",!0)){const e=d("current_post_id"),n=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp`,method:"POST"}))(e);f({response:n,createSuccessNotice:t,createErrorNotice:o,postId:e})}}),500))}(b,e,o)}()}()}();
\ No newline at end of file
+oe("Timestamp this %s","wordproof"),o),onChange:e=>{s({_wordproof_timestamp:e}),r||!0!==e||c()},checked:n._wordproof_timestamp||i(),disabled:i()})),(0,e.createElement)(se,null,(0,e.createElement)(R,null)),(0,e.createElement)(te,null))};le.proptypes={postType:u().string.isRequired,postMeta:u().object.isRequired,isAuthenticated:u().bool.isRequired,setPostMeta:u().func.isRequired};var ue=ie([ce((e=>({postMeta:e("core/editor").getEditedPostAttribute("meta"),postType:e("core/editor").getCurrentPostType(),isAuthenticated:e("wordproof").getIsAuthenticated(),selectedPostTypes:e("wordproof").getSelectedPostTypes()}))),pe((e=>({setPostMeta(t){e("core/editor").editPost({meta:t})}})))])(le);const{registerPlugin:we}=wp.plugins;we("wordproof-timestamp-panel",{render:()=>(0,e.createElement)(ue,null)}),function(){const{createSuccessNotice:e,createErrorNotice:o}=(0,t.dispatch)("core/notices");(function(){const{setIsAuthenticated:e,setSelectedPostTypes:t}=v("wordproof"),o=d("popup_redirect_authentication_url"),n=d("popup_redirect_settings_url");let r=null;const c=(e,t)=>{r=function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=e.top.outerHeight/2+e.top.screenY-r/2,s=e.top.outerWidth/2+e.top.screenX-n/2;return e.open(t,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${s}`)}(window,e,t),r&&r.focus(),window.addEventListener("message",p,!1)},p=async e=>{const{data:t,source:o,origin:n}=e;if(n===d("origin")&&r===o)switch(t.type){case"wordproof:oauth:granted":!1===await f(t)&&await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await l("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await l("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await l("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await l("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await l("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await l("wordproof:settings:updated"),await h(t);break;case"wordproof:oauth:destroy":await l("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await l("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":u()}},l=async function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;u(),w(t),!1===o&&(await i(),e(!1)),!0===o&&e(!0)},u=()=>{window.removeEventListener("message",p,!1),r.close()},f=async e=>{await a((()=>(async e=>{const{state:t,code:o}=e;return await s({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:t,code:o}})})(e)),(async e=>{const t={type:"wordproof:sdk:access-token",source_id:e.source_id};return r.postMessage(t,d("origin")),!0}),(async()=>!1))},h=async e=>{await a((()=>(async e=>{const{settings:t}=e;return await s({path:"wordproof/v1/settings",method:"POST",data:{settings:t}})})(e)),(async()=>{const o=e.settings;return o.selectedPostTypes&&t(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(e=>{e.preventDefault(),c(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(e=>{e.preventDefault(),c(n,"WordProof_Settings")}),!1)})(),function(e,t,o){e(m((async()=>{if(y("wordproof.timestamp",!0)){const e=d("current_post_id"),n=await(async e=>s({path:`wordproof/v1/posts/${e}/timestamp`,method:"POST"}))(e);f({response:n,createSuccessNotice:t,createErrorNotice:o,postId:e})}}),500))}(b,e,o)}()}()}();
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js
index cf1014ced..48e758a27 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-classic-editor.js
@@ -1 +1 @@
-!function(){var t={703:function(t,e,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,t.exports=function(){function t(t,e,o,r,a,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function e(){return t}t.isRequired=t;var o={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(t,e,o){t.exports=o(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";var t=window.wp.element,e=window.wp.apiFetch,n=o.n(e);async function r(t,e,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await t();return!!r&&(r.status===n?e(r):o(r))}catch(t){}}async function a(t){try{return await n()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const s=async()=>await r((async()=>await(async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}))()),(t=>t),(()=>!1)),{get:i}=lodash,c=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(window,"wordproofSdk.data"+(t?`.${t}`:""),e)};function d(t){const e=new window.CustomEvent(t);window.dispatchEvent(e)}function p(){d("wordproof:open_authentication")}const{dispatch:u}=wp.data;var w=o(697),f=o.n(w);const{__:__}=wp.i18n,{useCallback:l}=wp.element,{withSelect:h}=wp.data,{compose:y}=wp.compose,g=e=>{const{isAuthenticated:o}=e,n=c("popup_redirect_authentication_url"),r=c("popup_redirect_settings_url"),a=l((t=>{t.preventDefault(),d("wordproof:open_settings")})),s=l((t=>{t.preventDefault(),p()}));return(0,t.createElement)(t.Fragment,null,o&&(0,t.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,t.createElement)("a",{href:n,onClick:s},__("Open authentication","wordproof")))};g.proptypes={isAuthenticated:f().bool.isRequired};var _=y([h((t=>({isAuthenticated:t("wordproof").getIsAuthenticated()})))])(g);const{render:v}=wp.element,{select:b,subscribe:m}=wp.data;(function(){const{setIsAuthenticated:t,setSelectedPostTypes:e}=u("wordproof"),o=c("popup_redirect_authentication_url"),n=c("popup_redirect_settings_url");let i=null;const p=(t,e)=>{i=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=t.top.outerHeight/2+t.top.screenY-r/2,s=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(e,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${s}`)}(window,t,e),i&&i.focus(),window.addEventListener("message",w,!1)},w=async t=>{const{data:e,source:o,origin:n}=t;if(n===c("origin")&&i===o)switch(e.type){case"wordproof:oauth:granted":!1===await h(e)&&await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await f("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await f("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await f("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await f("wordproof:settings:updated"),await y(e);break;case"wordproof:oauth:destroy":await f("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await f("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":l()}},f=async function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;l(),d(e),!1===o&&(await s(),t(!1)),!0===o&&t(!0)},l=()=>{window.removeEventListener("message",w,!1),i.close()},h=async t=>{await r((()=>(async t=>{const{state:e,code:o}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:e,code:o}})})(t)),(async t=>{const e={type:"wordproof:sdk:access-token",source_id:t.source_id};return i.postMessage(e,c("origin")),!0}),(async()=>!1))},y=async t=>{await r((()=>(async t=>{const{settings:e}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:e}})})(t)),(async()=>{const o=t.settings;return o.selectedPostTypes&&e(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),p(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),p(n,"WordProof_Settings")}),!1)})(),window.addEventListener("DOMContentLoaded",(e=>{O=document.querySelector("#_wordproof_timestamp"),E=O.checked,O&&(P=document.querySelector("#wordproof-action-link"),P&&v((0,t.createElement)(_,null),P),T(S()),m((()=>{T(S())})),O.addEventListener("change",(t=>{!b("wordproof").getIsAuthenticated()&&O.checked&&p()})))}));const k=c("current_post_type");let O=null,E=null,P=null;function T(t){t.includes(k)?(O.disabled=!0,O.checked=!0):(O.disabled=!1,O.checked=E)}function S(){return b("wordproof").getSelectedPostTypes()}}()}();
\ No newline at end of file
+!function(){var t={703:function(t,e,o){"use strict";var n=o(414);function r(){}function a(){}a.resetWarningCache=r,t.exports=function(){function t(t,e,o,r,a,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var o={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:a,resetWarningCache:r};return o.PropTypes=o,o}},697:function(t,e,o){t.exports=o(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,o),a.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";var t=window.wp.element,e=window.wp.apiFetch,n=o.n(e);async function r(t,e,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const r=await t();return!!r&&(r.status===n?e(r):o(r))}catch(t){}}async function a(t){try{return await n()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const i=async()=>await r((async()=>await(async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}))()),(t=>t),(()=>!1)),{get:s}=lodash,c=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(window,"wordproofSdk.data"+(t?`.${t}`:""),e)};function d(t){const e=new window.CustomEvent(t);window.dispatchEvent(e)}function p(){d("wordproof:open_authentication")}const{dispatch:u}=wp.data;var w=o(697),f=o.n(w);const{__:__}=wp.i18n,{useCallback:l}=wp.element,{withSelect:h}=wp.data,{compose:y}=wp.compose,g=e=>{const{isAuthenticated:o}=e,n=c("popup_redirect_authentication_url"),r=c("popup_redirect_settings_url"),a=l((t=>{t.preventDefault(),d("wordproof:open_settings")})),i=l((t=>{t.preventDefault(),p()}));return(0,t.createElement)(t.Fragment,null,o&&(0,t.createElement)("a",{href:r,onClick:a},__("Open settings","wordproof")),!o&&(0,t.createElement)("a",{href:n,onClick:i},__("Open authentication","wordproof")))};g.proptypes={isAuthenticated:f().bool.isRequired};var _=y([h((t=>({isAuthenticated:t("wordproof").getIsAuthenticated()})))])(g);const{render:v}=wp.element,{select:b,subscribe:m}=wp.data;(function(){const{setIsAuthenticated:t,setSelectedPostTypes:e}=u("wordproof"),o=c("popup_redirect_authentication_url"),n=c("popup_redirect_settings_url");let s=null;const p=(t,e)=>{s=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const a=t.top.outerHeight/2+t.top.screenY-r/2,i=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(e,o,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${r},\n\t\ttop=${a},\n\t\tleft=${i}`)}(window,t,e),s&&s.focus(),window.addEventListener("message",w,!1)},w=async t=>{const{data:e,source:o,origin:n}=t;if(n===c("origin")&&s===o)switch(e.type){case"wordproof:oauth:granted":!1===await h(e)&&await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await f("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await f("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await f("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await f("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await f("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await f("wordproof:settings:updated"),await y(e);break;case"wordproof:oauth:destroy":await f("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await f("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":l()}},f=async function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;l(),d(e),!1===o&&(await i(),t(!1)),!0===o&&t(!0)},l=()=>{window.removeEventListener("message",w,!1),s.close()},h=async t=>{await r((()=>(async t=>{const{state:e,code:o}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:e,code:o}})})(t)),(async t=>{const e={type:"wordproof:sdk:access-token",source_id:t.source_id};return s.postMessage(e,c("origin")),!0}),(async()=>!1))},y=async t=>{await r((()=>(async t=>{const{settings:e}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:e}})})(t)),(async()=>{const o=t.settings;return o.selectedPostTypes&&e(o.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),p(o,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),p(n,"WordProof_Settings")}),!1)})(),window.addEventListener("DOMContentLoaded",(e=>{O=document.querySelector("#_wordproof_timestamp"),E=O.checked,O&&(P=document.querySelector("#wordproof-action-link"),P&&v((0,t.createElement)(_,null),P),T(S()),m((()=>{T(S())})),O.addEventListener("change",(t=>{!b("wordproof").getIsAuthenticated()&&O.checked&&p()})))}));const k=c("current_post_type");let O=null,E=null,P=null;function T(t){t.includes(k)?(O.disabled=!0,O.checked=!0):(O.disabled=!1,O.checked=E)}function S(){return b("wordproof").getSelectedPostTypes()}}()}();
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js
index b0b756886..f61b37a31 100755
--- a/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js
+++ b/wp-content/plugins/wordpress-seo/vendor_prefixed/wordproof/wordpress-sdk/build/wordproof-elementor-editor.js
@@ -1 +1 @@
-!function(){var t={703:function(t,o,e){"use strict";var n=e(414);function a(){}function r(){}r.resetWarningCache=a,t.exports=function(){function t(t,o,e,a,r,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function o(){return t}t.isRequired=t;var e={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:o,element:t,elementType:t,instanceOf:o,node:t,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:a};return e.PropTypes=e,e}},697:function(t,o,e){t.exports=e(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},o={};function e(n){var a=o[n];if(void 0!==a)return a.exports;var r=o[n]={exports:{}};return t[n](r,r.exports,e),r.exports}e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,{a:o}),o},e.d=function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},e.o=function(t,o){return Object.prototype.hasOwnProperty.call(t,o)},function(){"use strict";var t=window.wp.apiFetch,o=e.n(t);async function n(t,o,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const a=await t();return!!a&&(a.status===n?o(a):e(a))}catch(t){}}async function a(t){try{return await o()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const r=async()=>await n((async()=>await s()),(t=>t),(()=>!1)),s=async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:i}=lodash,c=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(window,"wordproofSdk.data"+(t?`.${t}`:""),o)};var d=e(697),p=e.n(d);function u(t){const o=new window.CustomEvent(t);window.dispatchEvent(o)}const w=t=>{const{response:o,createSuccessNotice:e,createErrorNotice:n,postId:a}=t;if(null===o||200===o.status)return;const r={id:"wordproof-timestamp-notice"};o&&201===o.status?0===o.balance?(r.actions=[{label:c("translations.open_settings_button_text"),onClick:()=>{u("wordproof:open_settings")},variant:"link"}],n(c("translations.no_balance"),r)):(e(c("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),f(a,o.hash,n,r)):o.error&&("not_authenticated"===o.error?(r.type="snackbar",r.actions=[{label:c("translations.open_authentication_button_text"),onClick:()=>{u("wordproof:open_authentication")},variant:"link"}],n(c("translations.not_authenticated"),r)):n(c("translations.timestamp_failed"),r))},f=async(t,o,e,n)=>{setTimeout((async()=>{const r=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp/transaction/latest`,method:"GET"}))(t);r.hash!==o&&(n.type="snackbar",e(c("translations.webhook_failed"),n))}),1e4)};w.proptypes={timestampResponse:p().any.isRequired,createSuccessNotice:p().func.isRequired,createErrorNotice:p().func.isRequired,postId:p().number.isRequired};const{debounce:l}=lodash,{applyFilters:h}=wp.hooks;const{dispatch:y}=wp.data;$e.modules.hookUI.Base;class m extends $e.modules.hookData.Base{constructor(t,o,e){super(),this.hook=t,this.id=o,this.callback=e}getCommand(){return this.hook}getId(){return this.id}apply(){return this.callback()}}function b(t,o){let e=null;o.actions&&(e=[],o.actions.forEach((t=>{e.push({name:"wordproof_notice_button",text:t.label,callback(){t.onClick()}})}))),window.elementor.notifications.showToast({message:t,buttons:e})}(function(){const{setIsAuthenticated:t,setSelectedPostTypes:o}=y("wordproof"),e=c("popup_redirect_authentication_url"),s=c("popup_redirect_settings_url");let i=null;const d=(t,o)=>{i=function(t,o){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const r=t.top.outerHeight/2+t.top.screenY-a/2,s=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(o,e,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${a},\n\t\ttop=${r},\n\t\tleft=${s}`)}(window,t,o),i&&i.focus(),window.addEventListener("message",p,!1)},p=async t=>{const{data:o,source:e,origin:n}=t;if(n===c("origin")&&i===e)switch(o.type){case"wordproof:oauth:granted":!1===await l(o)&&await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await w("wordproof:oauth:denied",!1);break;case"wordproof:webhook:success":await w("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await w("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await w("wordproof:settings:updated"),await h(o);break;case"wordproof:oauth:destroy":await w("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await w("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":f()}},w=async function(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;f(),u(o),!1===e&&(await r(),t(!1)),!0===e&&t(!0)},f=()=>{window.removeEventListener("message",p,!1),i.close()},l=async t=>{await n((()=>(async t=>{const{state:o,code:e}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:o,code:e}})})(t)),(async t=>{const o={type:"wordproof:sdk:access-token",source_id:t.source_id};return i.postMessage(o,c("origin")),!0}),(async()=>!1))},h=async t=>{await n((()=>(async t=>{const{settings:o}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:o}})})(t)),(async()=>{const e=t.settings;return e.selectedPostTypes&&o(e.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),d(e,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),d(s,"WordProof_Settings")}),!1)})(),function(t,o,e){t(l((async()=>{if(h("wordproof.timestamp",!0)){const t=c("current_post_id"),n=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp`,method:"POST"}))(t);w({response:n,createSuccessNotice:o,createErrorNotice:e,postId:t})}}),500))}((function(t){!function(t,o,e){$e&&$e.hooks.registerDataAfter(new m("document/save/save","wordproof/timestamper",e))}(0,0,(()=>{window.setTimeout(t,1e3)}))}),b,b)}()}();
\ No newline at end of file
+!function(){var t={703:function(t,o,e){"use strict";var n=e(414);function a(){}function r(){}r.resetWarningCache=a,t.exports=function(){function t(t,o,e,a,r,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function o(){return t}t.isRequired=t;var e={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:o,element:t,elementType:t,instanceOf:o,node:t,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:a};return e.PropTypes=e,e}},697:function(t,o,e){t.exports=e(703)()},414:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},o={};function e(n){var a=o[n];if(void 0!==a)return a.exports;var r=o[n]={exports:{}};return t[n](r,r.exports,e),r.exports}e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,{a:o}),o},e.d=function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},e.o=function(t,o){return Object.prototype.hasOwnProperty.call(t,o)},function(){"use strict";var t=window.wp.apiFetch,o=e.n(t);async function n(t,o,e){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;try{const a=await t();return!!a&&(a.status===n?o(a):e(a))}catch(t){}}async function a(t){try{return await o()(t)}catch(t){return t.error&&t.status?t:t instanceof window.Response&&await t.json()}}const r=async()=>await n((async()=>await s()),(t=>t),(()=>!1)),s=async()=>await a({path:"wordproof/v1/oauth/destroy",method:"POST"}),{get:i}=lodash,c=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(window,"wordproofSdk.data"+(t?`.${t}`:""),o)};var d=e(697),p=e.n(d);function u(t){const o=new window.CustomEvent(t);window.dispatchEvent(o)}const w=t=>{const{response:o,createSuccessNotice:e,createErrorNotice:n,postId:a}=t;if(null===o||200===o.status)return;const r={id:"wordproof-timestamp-notice"};o&&201===o.status?0===o.balance?(r.actions=[{label:c("translations.open_settings_button_text"),onClick:()=>{u("wordproof:open_settings")},variant:"link"}],n(c("translations.no_balance"),r)):(e(c("translations.timestamp_success"),{type:"snackbar",id:"wordproof-timestamp-notice"}),f(a,o.hash,n,r)):o.error&&("not_authenticated"===o.error?(r.type="snackbar",r.actions=[{label:c("translations.open_authentication_button_text"),onClick:()=>{u("wordproof:open_authentication")},variant:"link"}],n(c("translations.not_authenticated"),r)):n(c("translations.timestamp_failed"),r))},f=async(t,o,e,n)=>{setTimeout((async()=>{const r=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp/transaction/latest`,method:"GET"}))(t);r.hash!==o&&(n.type="snackbar",e(c("translations.webhook_failed"),n))}),1e4)};w.proptypes={timestampResponse:p().any.isRequired,createSuccessNotice:p().func.isRequired,createErrorNotice:p().func.isRequired,postId:p().number.isRequired};const{debounce:l}=lodash,{applyFilters:h}=wp.hooks;const{dispatch:y}=wp.data;$e.modules.hookUI.Base;class m extends $e.modules.hookData.Base{constructor(t,o,e){super(),this.hook=t,this.id=o,this.callback=e}getCommand(){return this.hook}getId(){return this.id}apply(){return this.callback()}}function b(t,o){let e=null;o.actions&&(e=[],o.actions.forEach((t=>{e.push({name:"wordproof_notice_button",text:t.label,callback(){t.onClick()}})}))),window.elementor.notifications.showToast({message:t,buttons:e})}(function(){const{setIsAuthenticated:t,setSelectedPostTypes:o}=y("wordproof"),e=c("popup_redirect_authentication_url"),s=c("popup_redirect_settings_url");let i=null;const d=(t,o)=>{i=function(t,o){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:800,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:680;const r=t.top.outerHeight/2+t.top.screenY-a/2,s=t.top.outerWidth/2+t.top.screenX-n/2;return t.open(o,e,`toolbar=no,\n\t\tlocation=no,\n\t\tdirectories=no,\n\t\tstatus=no,\n\t\tmenubar=no,\n\t\tresizable=no,\n\t\tcopyhistory=no,\n\t\twidth=${n},\n\t\theight=${a},\n\t\ttop=${r},\n\t\tleft=${s}`)}(window,t,o),i&&i.focus(),window.addEventListener("message",p,!1)},p=async t=>{const{data:o,source:e,origin:n}=t;if(n===c("origin")&&i===e)switch(o.type){case"wordproof:oauth:granted":!1===await l(o)&&await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:failed":await w("wordproof:oauth:failed",!1);break;case"wordproof:oauth:denied":await w("wordproof:oauth:denied",!1);break;case"wordproof:oauth:invalid_token":await w("wordproof:oauth:invalid_token",!1);break;case"wordproof:webhook:success":await w("wordproof:oauth:success",!0);break;case"wordproof:webhook:failed":await w("wordproof:webhook:failed",!1);break;case"wordproof:settings:updated":await w("wordproof:settings:updated"),await h(o);break;case"wordproof:oauth:destroy":await w("wordproof:oauth:destroy",!1);break;case"wordproof:oauth:retry":await w("wordproof:open_authentication",!1);break;case"wordproof:oauth:close":f()}},w=async function(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;f(),u(o),!1===e&&(await r(),t(!1)),!0===e&&t(!0)},f=()=>{window.removeEventListener("message",p,!1),i.close()},l=async t=>{await n((()=>(async t=>{const{state:o,code:e}=t;return await a({path:"wordproof/v1/oauth/authenticate",method:"POST",data:{state:o,code:e}})})(t)),(async t=>{const o={type:"wordproof:sdk:access-token",source_id:t.source_id};return i.postMessage(o,c("origin")),!0}),(async()=>!1))},h=async t=>{await n((()=>(async t=>{const{settings:o}=t;return await a({path:"wordproof/v1/settings",method:"POST",data:{settings:o}})})(t)),(async()=>{const e=t.settings;return e.selectedPostTypes&&o(e.selectedPostTypes),!0}),(async()=>!1))};window.addEventListener("wordproof:open_authentication",(t=>{t.preventDefault(),d(e,"WordProof_Authentication")}),!1),window.addEventListener("wordproof:open_settings",(t=>{t.preventDefault(),d(s,"WordProof_Settings")}),!1)})(),function(t,o,e){t(l((async()=>{if(h("wordproof.timestamp",!0)){const t=c("current_post_id"),n=await(async t=>a({path:`wordproof/v1/posts/${t}/timestamp`,method:"POST"}))(t);w({response:n,createSuccessNotice:o,createErrorNotice:e,postId:t})}}),500))}((function(t){!function(t,o,e){$e&&$e.hooks.registerDataAfter(new m("document/save/save","wordproof/timestamper",e))}(0,0,(()=>{window.setTimeout(t,1e3)}))}),b,b)}()}();
\ No newline at end of file
diff --git a/wp-content/plugins/wordpress-seo/wp-seo-main.php b/wp-content/plugins/wordpress-seo/wp-seo-main.php
index eb201b78b..db09c5e3f 100755
--- a/wp-content/plugins/wordpress-seo/wp-seo-main.php
+++ b/wp-content/plugins/wordpress-seo/wp-seo-main.php
@@ -15,7 +15,7 @@
* {@internal Nobody should be able to overrule the real version number as this can cause
* serious issues with the options, so no if ( ! defined() ).}}
*/
-define( 'WPSEO_VERSION', '21.2' );
+define( 'WPSEO_VERSION', '21.3' );
if ( ! defined( 'WPSEO_PATH' ) ) {
@@ -80,6 +80,17 @@ function wpseo_auto_load( $class_name ) {
return;
}
+/**
+ * Include the file from the `symfony/deprecation-contracts` dependency instead of autoloading it via composer.
+ *
+ * We need to do that because autoloading via composer prevents the vendor-prefixing of the dependency itself.
+ * Note that we don't expect the function to be ever called since the OAuth2 library should not provide invalid input.
+ */
+$deprecation_contracts_file = WPSEO_PATH . 'vendor_prefixed/symfony/deprecation-contracts/functions.php';
+if ( is_readable( $deprecation_contracts_file ) ) {
+ include $deprecation_contracts_file;
+}
+
if ( function_exists( 'spl_autoload_register' ) ) {
spl_autoload_register( 'wpseo_auto_load' );
}
diff --git a/wp-content/plugins/wordpress-seo/wp-seo.php b/wp-content/plugins/wordpress-seo/wp-seo.php
index 1c2bce393..7b88903a8 100755
--- a/wp-content/plugins/wordpress-seo/wp-seo.php
+++ b/wp-content/plugins/wordpress-seo/wp-seo.php
@@ -8,7 +8,7 @@
*
* @wordpress-plugin
* Plugin Name: Yoast SEO
- * Version: 21.2
+ * Version: 21.3
* Plugin URI: https://yoa.st/1uj
* Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more.
* Author: Team Yoast
@@ -20,7 +20,7 @@
* Requires PHP: 7.2.5
*
* WC requires at least: 7.1
- * WC tested up to: 8.0
+ * WC tested up to: 8.1
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js
index d7e4c7057..bdd156ffa 100755
--- a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js
+++ b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.js
@@ -15,9 +15,9 @@ function rocket_css_lazyload_launch() {
if (pair) {
styleElement.innerHTML += pair.style;
pair.elements.forEach(el => {
- el.setAttribute('data-rocket-lazy-bg', 'loaded');
// Stop observing the target element
observer.unobserve(el);
+ el.setAttribute(`data-rocket-lazy-bg-${pair.hash}`, 'loaded');
});
}
})
@@ -29,7 +29,7 @@ function rocket_css_lazyload_launch() {
function lazyload(e = []) {
- const pass = e.length === 0 || e.find(e => e.type !== 'attributes' || e.attributeName === 'class');
+ const pass = e.length > 0;
if(! pass ) {
return;
@@ -40,7 +40,7 @@ function rocket_css_lazyload_launch() {
const elements = document.querySelectorAll(pair.selector);
elements.forEach(el => {
- if(el.getAttribute('data-rocket-lazy-bg') === 'loaded') {
+ if(el.getAttribute(`data-rocket-lazy-bg-${pair.hash}`) === 'loaded') {
return;
}
observer.observe(el);
diff --git a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js
index 274036445..519c78d96 100755
--- a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js
+++ b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js
@@ -1 +1 @@
-!function o(n,c,i){function s(t,e){if(!c[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return s(n[t][1][e]||e)},r,r.exports,o,n,c,i)}return c[t].exports}for(var u="function"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(e=>{e&&(o.innerHTML+=e.style,e.elements.forEach(e=>{e.setAttribute("data-rocket-lazy-bg","loaded"),n.unobserve(e)}))})}})},{rootMargin:e+"px"});function t(){let e=0"attributes"!==e.type||"class"===e.attributeName)||r.forEach(t=>{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{"loaded"!==e.getAttribute("data-rocket-lazy-bg")&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector("body"),c(e,t)}()},{}]},{},[1]);
+!function o(n,c,s){function i(t,e){if(!c[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return i(n[t][1][e]||e)},r,r.exports,o,n,c,s)}return c[t].exports}for(var u="function"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(t=>{t&&(o.innerHTML+=t.style,t.elements.forEach(e=>{n.unobserve(e),e.setAttribute("data-rocket-lazy-bg-".concat(t.hash),"loaded")}))})}})},{rootMargin:e+"px"});function t(){0<(0{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{"loaded"!==e.getAttribute("data-rocket-lazy-bg-".concat(t.hash))&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector("body"),c(e,t)}()},{}]},{},[1]);
diff --git a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map
index 4e5e6f18b..57418e37c 100755
--- a/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map
+++ b/wp-content/plugins/wp-rocket/assets/js/lazyload-css.min.js.map
@@ -1 +1 @@
-{"version":3,"names":[],"mappings":"","sources":["lazyload-css.min.js"],"sourcesContent":["!function o(n,c,i){function s(t,e){if(!c[t]){if(!n[t]){var r=\"function\"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error(\"Cannot find module '\"+t+\"'\")).code=\"MODULE_NOT_FOUND\",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return s(n[t][1][e]||e)},r,r.exports,o,n,c,i)}return c[t].exports}for(var u=\"function\"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(e=>{e&&(o.innerHTML+=e.style,e.elements.forEach(e=>{e.setAttribute(\"data-rocket-lazy-bg\",\"loaded\"),n.unobserve(e)}))})}})},{rootMargin:e+\"px\"});function t(){let e=0\"attributes\"!==e.type||\"class\"===e.attributeName)||r.forEach(t=>{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{\"loaded\"!==e.getAttribute(\"data-rocket-lazy-bg\")&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector(\"body\"),c(e,t)}()},{}]},{},[1]);"],"file":"lazyload-css.min.js"}
+{"version":3,"names":[],"mappings":"","sources":["lazyload-css.min.js"],"sourcesContent":["!function o(n,c,s){function i(t,e){if(!c[t]){if(!n[t]){var r=\"function\"==typeof require&&require;if(!e&&r)return r(t,!0);if(u)return u(t,!0);throw(r=new Error(\"Cannot find module '\"+t+\"'\")).code=\"MODULE_NOT_FOUND\",r}r=c[t]={exports:{}},n[t][0].call(r.exports,function(e){return i(n[t][1][e]||e)},r,r.exports,o,n,c,s)}return c[t].exports}for(var u=\"function\"==typeof require&&require,e=0;e{e.forEach(t=>{if(t.isIntersecting){const e=r.filter(e=>t.target.matches(e.selector));e.map(t=>{t&&(o.innerHTML+=t.style,t.elements.forEach(e=>{n.unobserve(e),e.setAttribute(\"data-rocket-lazy-bg-\".concat(t.hash),\"loaded\")}))})}})},{rootMargin:e+\"px\"});function t(){0<(0{try{const e=document.querySelectorAll(t.selector);e.forEach(e=>{\"loaded\"!==e.getAttribute(\"data-rocket-lazy-bg-\".concat(t.hash))&&(n.observe(e),(t.elements||(t.elements=[])).push(e))})}catch(e){console.error(e)}})}t();const c=function(){const o=window.MutationObserver;return function(e,t){if(e&&1===e.nodeType){const r=new o(t);return r.observe(e,{attributes:!0,childList:!0,subtree:!0}),r}}}();e=document.querySelector(\"body\"),c(e,t)}()},{}]},{},[1]);"],"file":"lazyload-css.min.js"}
\ No newline at end of file
diff --git a/wp-content/plugins/wp-rocket/composer.lock b/wp-content/plugins/wp-rocket/composer.lock
index 08337611e..5dbfb8372 100755
--- a/wp-content/plugins/wp-rocket/composer.lock
+++ b/wp-content/plugins/wp-rocket/composer.lock
@@ -59,16 +59,16 @@
"packages-dev": [
{
"name": "antecedent/patchwork",
- "version": "2.1.25",
+ "version": "2.1.26",
"source": {
"type": "git",
"url": "https://github.com/antecedent/patchwork.git",
- "reference": "17314e042d45e0dacb0a494c2d1ef50e7621136a"
+ "reference": "f2dae0851b2eae4c51969af740fdd0356d7f8f55"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/antecedent/patchwork/zipball/17314e042d45e0dacb0a494c2d1ef50e7621136a",
- "reference": "17314e042d45e0dacb0a494c2d1ef50e7621136a",
+ "url": "https://api.github.com/repos/antecedent/patchwork/zipball/f2dae0851b2eae4c51969af740fdd0356d7f8f55",
+ "reference": "f2dae0851b2eae4c51969af740fdd0356d7f8f55",
"shasum": ""
},
"require": {
@@ -101,9 +101,9 @@
],
"support": {
"issues": "https://github.com/antecedent/patchwork/issues",
- "source": "https://github.com/antecedent/patchwork/tree/2.1.25"
+ "source": "https://github.com/antecedent/patchwork/tree/2.1.26"
},
- "time": "2023-02-19T12:51:24+00:00"
+ "time": "2023-09-18T08:18:37+00:00"
},
{
"name": "brain/monkey",
@@ -1289,16 +1289,16 @@
},
{
"name": "phpstan/phpstan",
- "version": "1.10.33",
+ "version": "1.10.35",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "03b1cf9f814ba0863c4e9affea49a4d1ed9a2ed1"
+ "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/03b1cf9f814ba0863c4e9affea49a4d1ed9a2ed1",
- "reference": "03b1cf9f814ba0863c4e9affea49a4d1ed9a2ed1",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e730e5facb75ffe09dfb229795e8c01a459f26c3",
+ "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3",
"shasum": ""
},
"require": {
@@ -1347,20 +1347,20 @@
"type": "tidelift"
}
],
- "time": "2023-09-04T12:20:53+00:00"
+ "time": "2023-09-19T15:27:56+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.28",
+ "version": "9.2.29",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef"
+ "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef",
- "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
"shasum": ""
},
"require": {
@@ -1417,7 +1417,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.28"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
},
"funding": [
{
@@ -1425,7 +1425,7 @@
"type": "github"
}
],
- "time": "2023-09-12T14:36:20+00:00"
+ "time": "2023-09-19T04:57:46+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -1670,16 +1670,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.12",
+ "version": "9.6.13",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f"
+ "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a122c2ebd469b751d774aa0f613dc0d67697653f",
- "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
+ "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
"shasum": ""
},
"require": {
@@ -1753,7 +1753,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.12"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
},
"funding": [
{
@@ -1769,7 +1769,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-12T14:39:31+00:00"
+ "time": "2023-09-19T05:39:22+00:00"
},
{
"name": "psr/container",
@@ -1880,12 +1880,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "6cbe3472c940a80f587886423020673520d36a29"
+ "reference": "898c7f218667877a7e6e47f467518608c9a82072"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/6cbe3472c940a80f587886423020673520d36a29",
- "reference": "6cbe3472c940a80f587886423020673520d36a29",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/898c7f218667877a7e6e47f467518608c9a82072",
+ "reference": "898c7f218667877a7e6e47f467518608c9a82072",
"shasum": ""
},
"conflict": {
@@ -1952,6 +1952,7 @@
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
"cartalyst/sentry": "<=2.1.6",
"catfan/medoo": "<1.7.5",
+ "cecil/cecil": "<7.47.1",
"centreon/centreon": "<22.10.0.0-beta1",
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"chriskacerguis/codeigniter-restserver": "<=2.7.1",
@@ -1978,6 +1979,7 @@
"czproject/git-php": "<4.0.3",
"darylldoyle/safe-svg": "<1.9.10",
"datadog/dd-trace": ">=0.30,<0.30.2",
+ "datatables/datatables": "<1.10.10",
"david-garcia/phpwhois": "<=4.3.1",
"dbrisinajumi/d2files": "<1",
"dcat/laravel-admin": "<=2.1.3.0-beta",
@@ -2054,7 +2056,7 @@
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
"friendsoftypo3/mediace": ">=7.6.2,<7.6.5",
"friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6",
- "froala/wysiwyg-editor": "<3.2.7",
+ "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.1",
"froxlor/froxlor": "<2.1",
"fuel/core": "<1.8.1",
"funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3",
@@ -2066,7 +2068,7 @@
"getkirby/panel": "<2.5.14",
"getkirby/starterkit": "<=3.7.0.2",
"gilacms/gila": "<=1.11.4",
- "gleez/cms": "<=1.2",
+ "gleez/cms": "<=1.2|==2",
"globalpayments/php-sdk": "<2",
"gogentooss/samlbase": "<1.2.7",
"google/protobuf": "<3.15",
@@ -2103,7 +2105,7 @@
"in2code/ipandlanguageredirect": "<5.1.2",
"in2code/lux": "<17.6.1|>=18,<24.0.2",
"innologi/typo3-appointments": "<2.0.6",
- "intelliants/subrion": "<=4.2.1",
+ "intelliants/subrion": "<4.2.2",
"islandora/islandora": ">=2,<2.4.1",
"ivankristianto/phpwhois": "<=4.3",
"jackalope/jackalope-doctrine-dbal": "<1.7.4",
@@ -2111,6 +2113,7 @@
"james-heinrich/phpthumb": "<1.7.12",
"jasig/phpcas": "<1.3.3",
"jcbrand/converse.js": "<3.3.3",
+ "joomla/application": "<1.0.13",
"joomla/archive": "<1.1.12|>=2,<2.0.1",
"joomla/filesystem": "<1.6.2|>=2,<2.0.1",
"joomla/filter": "<1.4.4|>=2,<2.0.1",
@@ -2188,6 +2191,7 @@
"neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6",
"neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3",
"neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2",
+ "neos/neos-ui": "<=8.3.3",
"neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5",
"netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15",
"nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6",
@@ -2253,7 +2257,7 @@
"pimcore/pimcore": "<10.6.8",
"pixelfed/pixelfed": "<=0.11.4",
"pocketmine/bedrock-protocol": "<8.0.2",
- "pocketmine/pocketmine-mp": "<4.22.3|>=5,<5.2.1",
+ "pocketmine/pocketmine-mp": "<=4.23|>=5,<5.3.1",
"pressbooks/pressbooks": "<5.18",
"prestashop/autoupgrade": ">=4,<4.10.1",
"prestashop/blockwishlist": ">=2,<2.1.1",
@@ -2344,7 +2348,6 @@
"stormpath/sdk": "<9.9.99",
"studio-42/elfinder": "<2.1.62",
"subhh/libconnect": "<7.0.8|>=8,<8.1",
- "subrion/cms": "<=4.2.1",
"sukohi/surpass": "<1",
"sulu/sulu": "<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8|==2.4.0.0-RC1|>=2.5,<2.5.10",
"sumocoders/framework-user-bundle": "<1.4",
@@ -2414,7 +2417,7 @@
"truckersmp/phpwhois": "<=4.3.1",
"ttskch/pagination-service-provider": "<1",
"twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3",
- "typo3/cms": "<8.7.38|>=9,<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2",
+ "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2",
"typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1",
"typo3/cms-core": "<8.7.51|>=9,<9.5.42|>=10,<10.4.39|>=11,<11.5.30|>=12,<12.4.4",
"typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1",
@@ -2538,7 +2541,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-11T21:04:03+00:00"
+ "time": "2023-09-22T22:04:11+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -3751,16 +3754,16 @@
},
{
"name": "woocommerce/action-scheduler",
- "version": "3.6.2",
+ "version": "3.6.3",
"source": {
"type": "git",
"url": "https://github.com/woocommerce/action-scheduler.git",
- "reference": "4eb2fa9737a53e4d284dafcf3e0bf428b5f941bc"
+ "reference": "c33dd732e37c90f37c3f9662f7eed888c11dc60d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/4eb2fa9737a53e4d284dafcf3e0bf428b5f941bc",
- "reference": "4eb2fa9737a53e4d284dafcf3e0bf428b5f941bc",
+ "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/c33dd732e37c90f37c3f9662f7eed888c11dc60d",
+ "reference": "c33dd732e37c90f37c3f9662f7eed888c11dc60d",
"shasum": ""
},
"require-dev": {
@@ -3785,9 +3788,9 @@
"homepage": "https://actionscheduler.org/",
"support": {
"issues": "https://github.com/woocommerce/action-scheduler/issues",
- "source": "https://github.com/woocommerce/action-scheduler/tree/3.6.2"
+ "source": "https://github.com/woocommerce/action-scheduler/tree/3.6.3"
},
- "time": "2023-08-09T19:43:41+00:00"
+ "time": "2023-09-13T13:40:20+00:00"
},
{
"name": "wp-coding-standards/wpcs",
diff --git a/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json b/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json
index d166b6b4e..37333fbbb 100755
--- a/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json
+++ b/wp-content/plugins/wp-rocket/dynamic-lists-delayjs.json
@@ -1 +1 @@
-{"plugins":{"ffc21030-519a-4853-8cea-49f959e82731":{"id":"plugin:def67a2c1ddd6df2353e4772b6fd4e5b","title":"Additional Variation Images Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woo-variation-gallery\/assets\/js\/slick.min.js","\/woo-variation-gallery\/assets\/js\/frontend.min.js","\/wp-includes\/js\/underscore.min.js","variation_custom_fields"],"is_default":0,"condition":"woo-variation-gallery\/woo-variation-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"0e7dc253-acd0-4421-877f-a7101d848717":{"id":"plugin:4b82cc7379d46c6272f5d556bb264eec","title":"Advanced Ads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/(.*).js","advanced_ads_ready","advadsCfpQueue","adsbygoogle","adservice.google","\/advanced-ads(.*)","advads_items","advads_tracking_ads"],"is_default":0,"condition":"advanced-ads\/advanced-ads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a4d5c058-9120-47ee-977c-f30f83fb1a75":{"id":"plugin:a076fbb79772f497349a76ee74a7f708","title":"All-in-one Compliance for GDPR \/ CCPA Cookie Consent","type":"plugin","icon":"","exclusions":["iubenda_cs.js","var _iub"],"is_default":0,"condition":"iubenda-cookie-law-solution\/iubenda_cookie_solution.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"79a5082f-821a-4a4b-a0e3-caaf22cf3f75":{"id":"plugin:9bdceaa1bb89135730a3b2aa4db94c22","title":"AMO Team Showcase","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/amo-team-showcase\/public\/js\/wookmark.js","\/amo-team-showcase\/public\/js\/amo-team-showcase-public.js","\/wp-includes\/js\/imagesloaded.min.js","amoTeamVars"],"is_default":0,"condition":"amo-team-showcase\/amo-team-showcase.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d058cae-4460-4354-bab3-a96445650bd8":{"id":"plugin:b739df50f3f5bf400075f17dca652517","title":"AnyWhere Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/anywhere-elementor-pro\/build\/index.js"],"is_default":0,"condition":"anywhere-elementor-pro\/anywhere-elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a1614c7-55b1-4b6d-88e5-6e8ddc630dae":{"id":"plugin:46741e77eaf4d13a0c80be6b86379758","title":"Astra - Pro Addon","type":"plugin","icon":"","exclusions":["\/astra-addon\/astra-addon-(.*).js"],"is_default":0,"condition":"astra-addon\/astra-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"37d96403-f9ea-4481-b2f8-374d7c93e61a":{"id":"plugin:ccd87807930a1856717fd276c336db9a","title":"Beaver Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/bb-plugin\/","\/bb-plugin\/js\/yui3.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/bb-plugin\/js\/fl-slideshow.min.js"],"is_default":0,"condition":"beaver-builder-lite-version\/fl-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f83dbf3b-783e-4ef9-9b18-8a469ca7102d":{"title":"Bloom","condition":"bloom\/bloom.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bloom\/"],"icon_url":"","type":"plugin","id":"plugin:e57cdfbc09f4e0f7445c279d9f580bdd","is_default":0,"created_at":1685189070},"135aadd2-cd4a-44ae-8dcf-801f3f2316c0":{"id":"plugin:055ef01accbad6378e3d1a4965600964","title":"Booked","type":"plugin","icon":"","exclusions":["\/booked\/","\/js\/jquery\/ui\/datepicker.min.js"],"is_default":0,"condition":"booked\/booked.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ddfee9b0-e5a9-4d3f-8c21-b999cbb61c33":{"id":"plugin:492f9b0d55f3bf07c68e915ea1dfb72a","title":"Bookly","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bookly-responsive-appointment-booking-tool\/frontend\/","window.bookly"],"is_default":0,"condition":"bookly-responsive-appointment-booking-tool\/main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a013fd6-0881-4dbe-8e93-33edefe7f717":{"id":"plugin:e1ec2daca513de476bd3dae79366e9ab","title":"Borlabs Cookie","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","borlabsCookieConfig","borlabs-cookie.min.js","borlabsCookieContentBlocker","BorlabsCookieBox"],"is_default":0,"condition":"borlabs-cookie\/borlabs-cookie.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3999e680-4049-4494-945c-768cecc1a2c4":{"id":"plugin:43019d66af7b41e65bb602c01e10c6a0","title":"Brizy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/group-(.*).js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/preview.js","Brizy.emit"],"is_default":0,"condition":"brizy\/brizy.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"af4d9357-3def-42a1-86b7-419553444b4d":{"id":"plugin:5c317f9f244597d8f236ecb7d8e41752","title":"Carousel Upsells and Related Product for WooCommerce","type":"plugin","icon":"","exclusions":["\/carousel-upsells-and-related-product-for-woocommerce\/assets\/js\/glide.min.js","carusel_poduct_related"],"is_default":0,"condition":"carousel-upsells-and-related-product-for-woocommerce\/ffxf-woo-glide-related-and-upsells.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d866d90-5451-43ba-a4d1-75b64f9235e1":{"id":"plugin:0a3a29603ebac8fe0808f64f5c8edbb2","title":"clickskeks.at Cookiebanner","type":"plugin","icon":"","exclusions":["clickskeks"],"is_default":0,"condition":"clickskeks\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c09695cc-2387-4416-881a-c0b392188a26":{"title":"Complianz","condition":"complianz-gdpr\/complianz-gpdr.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","complianz"],"icon_url":"","type":"plugin","id":"plugin:a766f95208154cd69a3e15150a42f325","is_default":0,"created_at":1685188788},"7e551e3b-fbe4-4235-87a9-b476bc9e2020":{"id":"plugin:949b1b923d51d10a2fb67a2a39d166b3","title":"Content Egg","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/content-egg\/res\/js\/morrisjs\/morris.min.js","\/content-egg\/res\/js\/morrisjs\/raphael.min.js","Morris.Area"],"is_default":0,"condition":"content-egg\/content-egg.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7fbca6c5-9239-4550-a755-6f041f867a57":{"title":"Cookie Notice & Compliance for GDPR \/ CCPA","condition":"cookie-notice\/cookie-notice.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/cookie-notice\/","var cnArgs"],"icon_url":"","type":"plugin","id":"plugin:213d0f883ae27aefb3a7937656bbd11e","is_default":0,"created_at":1681379736},"26722567-fe35-44b5-a5a7-fb0f3a38c3f2":{"id":"plugin:1d10ad30bbcf0fd4b26e9625a07abcfc","title":"Cookiebot CMP","type":"plugin","icon":"","exclusions":["consent.cookiebot.com"],"is_default":0,"condition":"cookiebot\/cookiebot.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"74110e36-89e5-440d-bec3-7133da3277c2":{"id":"plugin:edcf103293ceab711e999d419d038ca1","title":"Coupon Referral Program","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/coupon-referral-program\/","\/wp-includes\/js\/jquery\/ui\/draggable.min.js"],"is_default":0,"condition":"coupon-referral-program\/coupon-referral-program.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ed63e02f-d6c5-481a-bcb9-aae15f72aa21":{"id":"plugin:c3e26264dcfd25802805b4fd1a2a449c","title":"Crisp - Live Chat and Chatbot","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","CRISP_RUNTIME_CONFIG","l.js"],"is_default":0,"condition":"crisp\/crisp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8eb622b-279c-4f84-86e0-785e9497add7":{"id":"plugin:6e4bf949e12f0bebfefb48f6c316102a","title":"Custom Twitter Feeds pro","type":"plugin","icon":"","exclusions":["\/custom-twitter-feeds-pro\/js\/ctf-scripts.min.js"],"is_default":0,"condition":"custom-twitter-feeds-pro\/custom-twitter-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1624ef15-e25b-406d-bdf9-d4b78d7a59e7":{"id":"plugin:1f893b343e72ce55e6c9013fbda172fa","title":"Customer Reviews for WooCommerce Plugin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/customer-reviews-woocommerce\/js\/colcade.js"],"is_default":0,"condition":"customer-reviews-woocommerce\/ivole.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c15fe3b3-0eaa-48f9-bf04-0e778b1f8c63":{"title":"Divi - Supreme","condition":"supreme-modules-for-divi\/supreme-modules-for-divi.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/supreme-modules-for-divi\/"],"icon_url":"","type":"plugin","id":"plugin:b5489ae4d8b949f536d6dd2e5b0c1a95","is_default":0,"created_at":1679738701},"dd31451b-989a-4517-b02a-e2c2e2023366":{"id":"plugin:5caed322df984bbfd3ecb506cf12b688","title":"Divi Den Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ddpro\/build\/freddie\/js\/freddieScriptPageTransition.js","\/ddpro\/build\/freddie\/js\/freddieScriptsHeaders.js","\/ddpro\/build\/freddie\/js\/freddieScriptsContents.js","\/ddpro\/build\/freddie\/js\/gsap\/gsap.min.js"],"is_default":0,"condition":"ddpro\/ddpro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2b006370-cc90-42c1-9656-a30fbfbc91c6":{"id":"plugin:402d9b241b04934dd30f32e7ba490e63","title":"Divi Mobile","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","divi-menu","dm_nav"],"is_default":0,"condition":"divi-mobile\/divi-mobile.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"666bbed9-7ce3-457c-ad6e-b5e056d05010":{"title":"Divi Overlays","condition":"divi-overlays\/divi-overlays.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","var DIVI","\/divi-overlays\/"],"icon_url":"","type":"plugin","id":"plugin:1c828c93d87298d2a27c76e13d0880ba","is_default":0,"created_at":1679738664},"42a404af-7792-44be-9baa-565dc3baf25d":{"title":"Divi Pixel","condition":"divi-pixel\/divi-pixel.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/divi-pixel\/dist\/public\/js\/hamburger.min.js"],"icon_url":"","type":"plugin","id":"plugin:dd2494945a487a6cc74d3ab1b2137ccb","is_default":0,"created_at":1686859169},"0b78d762-c7be-45de-9aae-0c5078ec0619":{"id":"plugin:b5fc0101608d0b0627268dc49e3e1f8f","title":"Divi Toolbox","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","jQuery('.preloader')","\/divi-toolbox\/assets\/js\/toolbox-scripts.js"],"is_default":0,"condition":"divi-toolbox\/divi-toolbox.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8baba0f8-4449-47d8-a87d-9b6a116e7684":{"title":"Dynamic Pricing & Discounts Lite for WooCommerce","condition":"woo-dynamic-pricing-discounts-lite\/dynamic-pricing-discounts-lite-for-woocommerce.php","exclusions":["\/woo-dynamic-pricing-discounts-lite\/assets\/OwlCarousel\/dist\/owl.carousel.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:185062bf08db42515488e1853d1f4917","is_default":0,"created_at":1677857247},"0fa129f2-5869-4db7-9bf0-69e4b3549ee2":{"id":"plugin:27478327aa44075a86176fad95640d76","title":"Dynamic Product Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-dynamic-gallery\/","a3revWCDynamicGallery"],"is_default":0,"condition":"woocommerce-dynamic-gallery\/wc_dynamic_gallery_woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"9958c6be-2f67-4791-95c3-a7ad96d599c0":{"title":"Dynamic Product Gallery Premium for WooCommerce","condition":"woocommerce-dynamic-gallery-pro\/wc_dynamic_gallery_woocommerce.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/woocommerce-dynamic-gallery-pro\/assets\/js\/mygallery\/jquery.a3-dgallery.js","settings_defaults_","a3revWCDynamicGallery"],"icon_url":"","type":"plugin","id":"plugin:11dc02a76019f00422f4ac85f47f5135","is_default":0,"created_at":1683208937},"ce26ed21-1be5-481f-80d4-31edfac6d890":{"title":"Dynamic.ooo - Dynamic Content for Elementor","condition":"dynamic-content-for-elementor\/dynamic-content-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/dynamic-content-for-elementor\/assets\/","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:d2bd5b348abe016bdc722acce7755062","is_default":0,"created_at":1683355024},"6a3161a6-1a6f-457a-a9ee-54b376981927":{"id":"plugin:ee1dec033c6481a77fe88de5bef1a02d","title":"Easy Table of Contents","type":"plugin","icon":"","exclusions":["\/easy-table-of-contents\/assets\/js\/front.min.js"],"is_default":0,"condition":"easy-table-of-contents\/easy-table-of-contents.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25a534a0-2c1f-4cf4-9e19-7941bc032b3a":{"id":"plugin:41c8f5f0ab00cb39654aedd783d194e0","title":"Ecwid Ecommerce Shopping Cart","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","app.ecwid.com\/script.js ","\/ecwid-shopping-cart\/js\/frontend.js ","\/ecwid-shopping-cart\/js\/static-page.js ","ecwidParamswindow.ec ","jQuery.mobile ","xSearch ","xCategoriesV2 ","xProductBrowser ","Ecwid.init"],"is_default":0,"condition":"ecwid-shopping-cart\/ecwid-shopping-cart.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40464325-5bae-4a20-bc97-553499e09a73":{"title":"Elementor","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:1d15783218a3137bec4ee8df5353e218","is_default":0,"created_at":1694425872},"ac86b64c-c80a-4053-894d-6caa8b4fdce8":{"title":"Elementor Loop Carrousel","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:0eb8d0bbd1c7ca05ac133ea634f676b7","is_default":0,"created_at":1694442056},"a8fc9fd1-f6d3-41eb-abe9-ef176de6d7e2":{"title":"Elementor - Lazy Load Background Images","condition":"elementor\/elementor.php","exclusions":["lazyloadRunObserver"],"icon_url":"","type":"plugin","id":"plugin:bf248cb2876558452a566c5dd89262b8","is_default":0,"created_at":1694453032},"1948aff5-7850-4979-91fa-0ce181484508":{"id":"plugin:de658ae6c2d05a5a4a947efecf5e0c16","title":"Elementor Custom Skin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ele-custom-skin(.*)\/assets\/js\/"],"is_default":0,"condition":"ele-custom-skin\/ele-custom-skin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25708299-c596-4416-8ad8-740aee0f2752":{"title":"Elementor Pro","condition":"elementor-pro\/elementor-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js"],"icon_url":"","type":"plugin","id":"plugin:030ad23e3851ed7adfa7b9b6c13cf5a6","is_default":0,"created_at":1679490021},"f34dd874-4b34-41e6-a31c-ece3c1efbffc":{"id":"plugin:305581ad4294a30eeb1247982f626005","title":"Elementor Pro - SmartMenus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/assets\/lib\/smartmenus\/jquery.smartmenus.min.js","\/elementor-pro\/assets\/js\/preloaded-elements-handlers.min.js"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"111cc8b2-0be9-438b-9aa3-7f1e301a5697":{"id":"plugin:5ae9f5d99224d5ebc7d0c0bbf5b99787","title":"Elementor Pro - User Cache","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/backbone.min.js","elementorAdminBarConfig","elementorCommonConfig","elementorWebCliConfig","elementorDevToolsConfig"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c1713bf8-e0c3-4cb5-8b3f-841b06aa87ed":{"title":"ElementsKit Lite - Megamenu","condition":"elementskit-lite\/elementskit-lite.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/elementskit(.*)\/"],"icon_url":"","type":"plugin","id":"plugin:b91fed2fc4478dbb7067742c1ee4691b","is_default":0,"created_at":1683270249},"706ff35d-8e33-4b04-a986-346faff704e9":{"id":"plugin:417192424139d89fb2a5b1ee1f2b9613","title":"Essential Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-for-elementor-lite\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b38556dc-2bc4-430f-9c55-7191cf7773db":{"id":"plugin:057757d0593ad9d2dc58124f0077a5df","title":"Essential Addons for Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-elementor\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"719b988f-0d60-40c2-ba46-88f943119cb1":{"id":"plugin:c8e6c490f6438f566ade600c33531a85","title":"Essential Grid","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/essential-grid\/","lightboxOptions"],"is_default":0,"condition":"essential-grid\/essential-grid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"47d3d2ab-160d-4b07-ac25-8250b9e6a951":{"id":"plugin:dafd19fa48a1fef890dc4348052fcb75","title":"EventON Lite","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/eventon-lite\/assets\/js\/(.*)"],"is_default":0,"condition":"eventon-lite\/eventon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"219968d7-cf1f-4ee0-917a-db35dcc93a3e":{"id":"plugin:49ff465628fc3cb6d7f23ff81d9b8339","title":"FacetWP","type":"plugin","icon":"","exclusions":["\/facetwp\/assets\/js\/dist\/front.min.js","window.FWP_"],"is_default":0,"condition":"facetwp\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"acce5701-5917-48d5-83ab-3e626aa420c5":{"id":"plugin:78a1c88a56fa957c802074b6418c6fac","title":"FacetWP - Flyout menu","type":"plugin","icon":"","exclusions":["\/facetwp-flyout\/assets\/js\/front.js"],"is_default":0,"condition":"facetwp-flyout\/facetwp-flyout.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f2a5b95f-1a22-46d2-8b72-42a53e46ae3f":{"id":"plugin:5d7555892a3a9968fde3fa3a335fc3d8","title":"FiboSearch - Ajax Search for WooCommerce","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.js","\/wp-includes\/js\/jquery\/jquery-migrate.js","\/ajax-search-for-woocommerce-premium\/assets\/js\/search.js"],"is_default":0,"condition":"ajax-search-for-woocommerce\/ajax-search-for-woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7d1404e9-be76-449c-87aa-919557abe82d":{"id":"plugin:ad46179e8b0584abaf52056b846da227","title":"FlexBlock","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/flo-flex-builder\/dist\/flex-public.min.js","flexDebug"],"is_default":0,"condition":"flo-flex-builder\/flo-flex-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b9c6a2dc-b226-4e2c-b85e-29ee55b8f751":{"id":"plugin:567a2b15db30ef6bd4904e4317139aac","title":"Fluent Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/fluentform\/public\/js\/(.*).js","\/fluentformpro\/public\/js\/(.*).js"],"is_default":0,"condition":"fluentform\/fluentform.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"10874f8a-2855-4e80-bc46-e484589b76a8":{"id":"plugin:e78c153103f698b2b34892332d6b3b62","title":"Flying Images","type":"plugin","icon":"","exclusions":["flyingImages"],"is_default":0,"condition":"nazy-load\/flying-images.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"53958499-dacd-41d6-93bc-1534fe7d9eda":{"id":"plugin:5a0e40a6c5783856893b803189de1404","title":"FooGallery Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/foobox-image-lightbox\/free\/js\/foobox.free.min.js","\/plugins\/foogallery-premium\/pro\/extensions\/default-templates\/shared\/js\/foogallery.min.js"],"is_default":0,"condition":"foogallery-premium\/foogallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7870d704-2024-4622-838c-fad37d5c6753":{"id":"plugin:ebb5efb57b19ae60e734e456ca2df3f8","title":"Formidable Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","frmSigs","\/formidable-signature\/js\/frm.signature.min.js"],"is_default":0,"condition":"formidable\/formidable.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3f24f9b3-e59e-400f-a784-999f93f60fab":{"id":"plugin:0b08523445b8869a67ca40e777704692","title":"Forminator","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","forminatorFront","\/forminator\/build\/front\/front.multi.min.js","\/forminator\/assets\/js\/library\/jquery.validate.min.js","\/forminator\/assets\/forminator-ui\/js\/forminator-form.min.js","\/forminator\/assets\/forminator-ui\/js\/select2.full.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js"],"is_default":0,"condition":"forminator\/forminator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a600ded-3454-48fb-9811-46afa2ab3c05":{"id":"plugin:5759bf0d47ac3457485314b381a9b528","title":"GDPR Cookie Compliance","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/gdpr-cookie-compliance\/dist\/scripts\/main.js"],"is_default":0,"condition":"gdpr-cookie-compliance\/moove-gdpr.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e21aaa5e-7354-471d-ab86-85f99f48830c":{"id":"plugin:ffb40036ab0583218561de7c28c6bd9b","title":"GDPR Cookie Consent","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/public\/js\/cookie-law-info-public.js","Cli_Data"],"is_default":0,"condition":"webtoffee-gdpr-cookie-consent\/cookie-law-info.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c11ca4ea-1a23-49ee-9a6b-1e549de50ea2":{"id":"plugin:3877953c5ec1e66db92ad844ae8ebafc","title":"Getwid - Gutenberg Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"is_default":0,"condition":"getwid\/getwid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3773bb33-b168-4f68-9963-512da24ac4da":{"title":"GoodLayers Core","condition":"goodlayers-core\/goodlayers-core.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","\/goodlayers-core\/plugins\/script.js ","\/goodlayers-core\/include\/js\/page-builder.js"],"icon_url":"","type":"plugin","id":"plugin:5f124509a56ca2e0644246919ec70434","is_default":0,"created_at":1677854322},"2adabe9b-6e03-4a67-959f-492813d40f69":{"title":"Google Tag Manager for WooCommerce PRO","condition":"gtm-ecommerce-woo-pro\/gtm-ecommerce-woo-pro.php","exclusions":["\/gtm-ecommerce-woo-pro\/assets\/gtm-ecommerce-woo-pro.js"],"icon_url":"","type":"plugin","id":"plugin:e54fd4313007b6fedf8ab4df0e05277a","is_default":0,"created_at":1691218549},"7bf261ac-89d4-492f-8a3d-1c5809b9579a":{"title":"Gravity Forms","condition":"gravityforms\/gravityforms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/gravityforms\/","gform","recaptcha","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/plupload\/plupload.min.js","\/wp-includes\/js\/plupload\/moxie.min.js"],"icon_url":"","type":"plugin","id":"plugin:7a1c1606d094f6bff83c0ee155908367","is_default":0,"created_at":1694457903},"12340193-5c35-4b0d-b0bc-bea690cf1cae":{"id":"plugin:2f3112dd98c39aeb6bde618c9026a29f","title":"Green Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","leform.min.js","leform_customjs_handlers","leform_ajax_url"],"is_default":0,"condition":"green-forms\/green-forms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4d20b427-47cf-4cdf-91c7-ff53602d3b2a":{"id":"plugin:0eb769dddc58f998e913345841b1d0b3","title":"GTM4WP","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","dataLayer"],"is_default":0,"condition":"duracelltomi-google-tag-manager\/duracelltomi-google-tag-manager-for-wordpress.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a2b3c237-728c-49d6-882a-e3885444e9b4":{"id":"plugin:3b085ccda851ccf129d9506462f0cd65","title":"GTranslate","type":"plugin","icon":"","exclusions":["translate.google.com","googleTranslateElementInit"],"is_default":0,"condition":"gtranslate\/gtranslate.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40cd9336-e73f-4a61-a7f6-27ec1ca6892c":{"id":"plugin:e1f17c1eac230219e6fec3ac07406a0d","title":"HBook","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/hbook\/","hb_booking_form_data","hb_max_date"],"is_default":0,"condition":"hbook\/hbook.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"192224c7-df72-4e3d-8f13-3206ac5b2e90":{"title":"Helper - OpenAI Chatbot for WordPress","condition":"\/helper\/index.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/helper\/js\/helper.min.js","mdpHelper"],"icon_url":"","type":"plugin","id":"plugin:07311d992a8a9d6af91e4766d2cb9ac9","is_default":0,"created_at":1691599768},"99cfbb2e-5678-42c2-928f-5cb09d7e43da":{"id":"plugin:269c5766fba124a838ac012a4b5a1a13","title":"HUSKY - Products Filter for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-products-filter\/(.*)","woof"],"is_default":0,"condition":"woocommerce-products-filter\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a964eac-4aeb-49a7-9fd6-4c31b2645dee":{"id":"plugin:d457acfec0f86aac6733f1446f4fc94f","title":"Instagram Feed Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/instagram-feed-pro\/js\/sbi-scripts.min.js","sb_instagram_js_options"],"is_default":0,"condition":"instagram-feed-pro\/instagram-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8f9f4788-1b8d-468b-b291-1fcbd48618b9":{"id":"plugin:513b0c0ec8e12130af9b4bbbb17d7275","title":"Interactive Geo Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/interactive-geo-maps-premium\/assets\/public\/map-service\/app.min.js","\/interactive-geo-maps\/assets\/public\/map-service\/app.js","iMapsData","cdn.amcharts.com\/lib\/"],"is_default":0,"condition":"interactive-geo-maps\/interactive-geo-maps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cf650ca3-afa0-4a13-9e4f-f7cca19abac6":{"title":"Ivory Search","condition":"add-search-to-menu\/add-search-to-menu.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/add-search-to-menu\/public\/js\/ivory-search.min.js"],"icon_url":"","type":"plugin","id":"plugin:7430e9d2c985ae0a3339a7b7e1acc318","is_default":0,"created_at":1677852711},"17a5dd54-1f5e-4d57-a56d-a8a970651954":{"id":"plugin:1c8a1e1ba89a601f88654f094139b469","title":"JetBlocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-blocks\/assets\/js\/jet-blocks.min.js"],"is_default":0,"condition":"jet-blocks\/jet-blocks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b6f78c90-9823-459a-8dc1-1257e5f0d4e3":{"id":"plugin:dac9ec782180f33d0fcc7c4e0e569b9d","title":"JetBlog","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/","ElementorProFrontendConfig","elementorFrontendConfig","hasJetBlogPlaylist"],"is_default":0,"condition":"jet-blog\/jet-blog.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e17173d8-6ef8-4e27-ba0f-379c9aea7eda":{"id":"plugin:0fe8895d1da5247b73a5d0b482df4ac4","title":"JetElements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jet-elements\/","hasJetBlogPlaylist","jetElements","\/wp-includes\/js\/jquery\/ui\/"],"is_default":0,"condition":"jet-elements\/jet-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cfd77501-9c9e-4f11-b994-0178a592fc08":{"title":"JetEngine","condition":"jet-engine\/jet-engine.php","exclusions":["\/jet-engine\/"],"icon_url":"","type":"plugin","id":"plugin:bc998e71546860c8c7f70c45a6c18972","is_default":0,"created_at":1686208296},"36fed829-a2d9-41b5-94f6-2c3b9f07a94e":{"id":"plugin:433a3173f2d06f7d02c7b91c06ed215d","title":"JetMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/assets\/js\/lib\/slick\/slick.min.js","\/jet-elements\/","\/jet-menu\/","elementorFrontendConfig","ElementorProFrontendConfig","hasJetBlogPlaylist","JetEngineSettings","jetMenuPublicSettings","\/jet-reviews\/assets\/js\/lib\/vue.min.js"],"is_default":0,"condition":"jet-menu\/jet-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"580cfed7-f034-4e39-bc7a-cdd01923ce87":{"id":"plugin:51714cfdb43f231a1c93e7cffb1007ab","title":"JetPopup","type":"plugin","icon":"","exclusions":["\/jet-popup\/assets\/js\/lib\/anime-js\/anime.min.js","\/jet-popup\/assets\/js\/jet-popup-frontend.js","\/jet-woo-builder\/","var jetPopupData"],"is_default":0,"condition":"jet-popup\/jet-popup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d9cd2730-12e2-42d7-a082-6f0efcd466cc":{"id":"plugin:df3bc4b6a8a9f28a5ba24cb7496bbc72","title":"JetProductGallery","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-woo-product-gallery\/assets\/lib\/swiper\/swiper.min.js","\/jet-woo-product-gallery\/assets\/js\/jet-woo-product-gallery.min.js"],"is_default":0,"condition":"jet-woo-product-gallery\/jet-woo-product-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"544aa37b-4d52-4182-99e8-abe23585da14":{"id":"plugin:5921fc95965ac7fccb7296957bd9abff","title":"JetReviews","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-reviews\/assets\/js\/jet-reviews-frontend.js","\/jet-reviews\/assets\/js\/lib\/vue.min.js","jetReviewsWidget"],"is_default":0,"condition":"jet-reviews\/jet-reviews.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8460089-34b4-4f8f-8694-5d92fa48aa82":{"title":"JetSmartFilters","condition":"jet-smart-filters\/jet-smart-filters.php","exclusions":["jetOffcanvasInitialized"],"icon_url":"","type":"plugin","id":"plugin:0cd63a514de1f1acb88e2bde65c4bc8d","is_default":0,"created_at":1694447256},"fe3c4915-6f8b-49b7-aa9c-c97b264d9f12":{"id":"plugin:a346b60514ef52afeffc6e2ef2793da3","title":"JetSticky","type":"plugin","icon":"","exclusions":["\/jetsticky-for-elementor\/"],"is_default":0,"condition":"jetsticky-for-elementor\/jetsticky-for-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b7f89562-230c-4f63-8360-7aad6df31e02":{"id":"plugin:829272546b040d5aaeeeaf976b6cd4ec","title":"JetTricks","type":"plugin","icon":"","exclusions":["\/jet-tricks\/"],"is_default":0,"condition":"jet-tricks\/jet-tricks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"90451e2a-553a-4496-9fa4-cffedbe69d43":{"id":"plugin:f44f3dbd09149f57db370e4132b057db","title":"JetWoo Widgets For Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jetwoo-widgets-for-elementor\/assets\/js\/jet-woo-widgets.js","\/jet-woo-builder\/assets\/js\/jet-woo-builder.min.js","\/jet-woo-builder\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"944718c2-48c6-4f53-aaa2-460d07e033cc":{"id":"plugin:ed318a971f8a047bed5b02ad546a9c18","title":"JetWooBuilder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js","\/elementor-pro\/","\/elementor\/","elementorFrontendConfig","ElementorProFrontendConfig","JetEngineSettings","\/jet-woo-builder\/","\/jet-woo-builder-custom-quantity-selectors-main\/assets\/js\/main.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f5b62f59-1dae-4cdf-ac3f-f5e846fc9918":{"id":"plugin:9562e253cd4ac2b1e1f70e32cb4e32dc","title":"Layer Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.utils.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.kreaturamedia.jquery.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.transitions.js","initLayerSlider"],"is_default":0,"condition":"LayerSlider\/layerslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e2be718d-83a2-4fa0-bc98-f0df52be3dc1":{"id":"plugin:1425e2735306796fe1539d9184a77e10","title":"LoftLoader Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","loftloader.min.js"],"is_default":0,"condition":"loftloader-pro\/loftloader-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cfa18552-656e-453c-9e14-c07522dc6598":{"id":"plugin:0bf67b8ba84771e1a367fe24590ef09c","title":"MailUp for WordPress","type":"plugin","icon":"","exclusions":["\/mailup-email-and-newsletter-subscription-form\/public\/js\/mailup-public.js","mailup-js-extra"],"is_default":0,"condition":"mailup-email-and-newsletter-subscription-form\/mailup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c5330c66-ba7b-45b1-87e4-ce590ab005dd":{"id":"plugin:10d0de28911c5f66463b9c8783f8148a","title":"Maintenance","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maintenance\/"],"is_default":0,"condition":"maintenance\/maintenance.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"267aef71-afa0-4848-b6f8-3e1ca15c3a23":{"id":"plugin:9460789bdfe77425c895f130991a4cb4","title":"Maps Marker Pro","type":"plugin","icon":"","exclusions":["\/maps-marker-pro\/js\/mapsmarkerpro.js","var mapsMarkerPro"],"is_default":0,"condition":"maps-marker-pro\/maps-marker-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b5a88b63-e906-49b3-8134-420139915ea6":{"title":"Master Popups","condition":"master-popups\/master-popups.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/master-popups\/assets\/public\/js\/master-popups-libs.min.js"],"icon_url":"","type":"plugin","id":"plugin:8fd7bd2c8b0a33e62798573abd12be63","is_default":0,"created_at":1681305305},"4be41549-bf4d-4c49-8346-0f8a3b88fdba":{"id":"plugin:de888634cc4bd51576eed319d5a528fd","title":"Master Slider","type":"plugin","icon":"","exclusions":["masterslider"],"is_default":0,"condition":"master-slider\/master-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"087bee18-7cd1-4c10-8acc-19e1b7c4f4cd":{"id":"plugin:b71309a89bf3c8b558b6fca5d6531919","title":"Max Mega Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/hoverIntent.min.js","\/megamenu\/js\/maxmegamenu.js","var megamenu"],"is_default":0,"condition":"megamenu\/megamenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cf22f0b9-01f4-409e-8a93-ad6743095abd":{"id":"plugin:94a7bae84ef2816494be4af66c577bfc","title":"Meta Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ml-slider\/","var metaslider"],"is_default":0,"condition":"ml-slider\/ml-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bb2cbc0d-20da-415e-8218-c17f1db53579":{"title":"Monarch","condition":"monarch\/monarch.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","dt-place-monarch-icons"],"icon_url":"","type":"plugin","id":"plugin:b7335d6d6d5c5134ea10ac2d9b04226c","is_default":0,"created_at":1677853476},"a98d6a80-4610-4ede-bd33-c3e15bed0a95":{"id":"plugin:4f8651262425ef6d7c223c68a2ec2063","title":"Monster Insights","type":"plugin","icon":"","exclusions":["__gtagTracker","monsterinsights_frontend","\/google-analytics-for-wordpress\/assets\/js\/frontend-gtag.min.js"],"is_default":0,"condition":"google-analytics-for-wordpress\/googleanalytics.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"26e1a36e-7a03-449e-8ecc-e42c41ca291c":{"id":"plugin:f8fc66b302dec2327bdec0434a3b275b","title":"Motion.page","type":"plugin","icon":"","exclusions":["\/motionpage\/core\/includes\/assets\/js\/(.*)","\/motionpage\/core\/includes\/assets\/js\/gsap\/(.*)","\/motionpage\/assets\/js\/(.*)","\/motionpage\/assets\/js\/gsap\/(.*)"],"is_default":0,"condition":"motionpage\/motionpage.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"459fd663-7f80-45fd-8308-d3484981e161":{"title":"Ninja Forms","condition":"ninja-forms\/ninja-forms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js","\/ninja-forms\/assets\/js\/min\/front-end-deps.js","\/ninja-forms\/assets\/js\/min\/front-end.js","nf-"],"icon_url":"","type":"plugin","id":"plugin:1d3ae9c1a96d5062616968b81eef319d","is_default":0,"created_at":1681377675},"c97440dd-7592-40e7-8c98-dac20d39808f":{"id":"plugin:723a588dcd49285ea9f7404e2379b47f","title":"Ninja Tables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ninja-tables(.*)\/assets\/","\/ninja-tables(.*)\/public\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","ninja_table_instance_","ninja_filter_","ninja_table_ready_init_table_id"],"is_default":0,"condition":"ninja-tables\/ninja-tables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ebc01f06-8c35-47fa-9c63-8959c5cbd915":{"id":"plugin:f41a52ab1dd50a81cd3a5e341af0007c","title":"NotificationX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/notificationx\/assets\/public\/js\/(.*).js","notificationXArr"],"is_default":0,"condition":"notificationx\/notificationx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3aaf4a1b-591a-48b7-8d60-e6d65c0f94c9":{"id":"plugin:be8fc72a8b8e8eb5958be13737cff47c","title":"Ocean Elementor Widgets","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ocean-elementor-widgets\/"],"is_default":0,"condition":"ocean-elementor-widgets\/ocean-elementor-widgets.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f053a7d3-62b0-4312-b0ca-6ff63380eb0b":{"id":"plugin:1a14afe852fefe7b22ccad3893672a29","title":"One Click Accessibility","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pojo-accessibility\/assets\/js\/app.min.js"],"is_default":0,"condition":"pojo-accessibility\/pojo-accessibility.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"61e11800-48a9-4354-8a4c-ac9a2b4b033a":{"id":"plugin:b9ed0fe6f2cdbd305691a6b857f4b3dc","title":"OoohBoi Steroids for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ooohboi-steroids-for-elementor\/"],"is_default":0,"condition":"ooohboi-steroids-for-elementor\/ooohboi-steroids.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"560b78a2-f051-490b-9dc6-a602dece0d81":{"id":"plugin:f1ff18a3e04c4e0995fca9cabffe57a7","title":"Optimole","type":"plugin","icon":"","exclusions":["optimoleData"],"is_default":0,"condition":"optimole-wp\/optimole-wp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b0fda458-4bf2-41e9-a159-60d4bb6102a6":{"id":"plugin:48ec18bd3f59772d98f85dddab75e305","title":"OSM - OpenStreetMap","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/osm\/js\/OL\/","\/osm\/js\/osm-v3-plugin-lib.js","vectorM"],"is_default":0,"condition":"osm\/osm.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3743ed67-e0d1-4243-bb1f-ee48a445dd10":{"id":"plugin:9eacf0b76484af0259cd788f4923f20c","title":"OxyExtras","type":"plugin","icon":"","exclusions":["vime","vime.esm.js"],"is_default":0,"condition":"oxyextras\/plugin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"52a21e27-af5b-4476-8d6d-54c323fd1443":{"id":"plugin:e852555c4b4789d78a96d76f503b3262","title":"Oxygen Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/component-framework\/vendor\/aos\/aos.js","AOS.init","oxygen_init_pro_menu","oxy-pro-menu-show-dropdown","oxy-shape-divider","oxygenVSBInitToggleJs"],"is_default":0,"condition":"oxygen\/functions.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ebd282b9-e175-4b83-90a2-fe12389ccd11":{"id":"plugin:6f9419e58ec86c94e7698aaaaf9dc715","title":"PageLoader by Bonfire","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pageloader-by-bonfire\/pageloader.js","bonfire-pageloader-overlay"],"is_default":0,"condition":"pageloader-by-bonfire\/pageloader-by-bonfire.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0baf6353-aa70-41a9-a3bc-d89870a5839b":{"id":"plugin:3a4c4518eb0f60108ab4934fab27d335","title":"PDF Embedder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pdf-embedder\/js\/(.*).js"],"is_default":0,"condition":"pdf-embedder\/pdf_embedder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cba51ec1-87cc-44eb-b12b-d652e3446507":{"id":"plugin:4f90aca5957cccbf623e3bbc31afa204","title":"Perfect Brands for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/perfect-woocommerce-brands\/assets\/lib\/slick\/slick.min.js","\/perfect-woocommerce-brands\/assets\/js\/functions-frontend.min.js"],"is_default":0,"condition":"perfect-woocommerce-brands\/perfect-woocommerce-brands.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"808e7a4e-025c-4fae-bf82-de3716e5eb0d":{"id":"plugin:84fe214646388d7c021dda25003ac165","title":"Photonic","type":"plugin","icon":"","exclusions":["\/photonic\/include\/js\/front-end\/module\/photonic-baguettebox.min.js"],"is_default":0,"condition":"photonic\/photonic.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"936aff7d-a8ac-4473-a7b5-4b1611b6c557":{"id":"plugin:6838be282f853f71be282783cb1c162b","title":"Pixel Caffein","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/pixel-caffeine\/build\/frontend.js","aepc_pixel"],"is_default":0,"condition":"pixel-caffeine\/pixel-caffeine.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ab3a4ef5-2732-4b46-a7c3-17b4e9405cd1":{"id":"plugin:afe0eb7c64d4556a7111c56dd8c4d307","title":"Pixel Manager for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/woocommerce-pixel-manager-pro\/js\/public\/","wpm"],"is_default":0,"condition":"woocommerce-pixel-manager-pro\/woocommerce-pixel-manager.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2774f964-50b2-425e-8a30-0a02f421b7e4":{"id":"plugin:38d4b2986868f543639cd1ebc3e510aa","title":"Popup Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/popup-builder\/public\/js\/(.*).js","\/popupbuilder-exit-intent\/public\/javascript\/ExitIntent.js","var sgpbPublicUrl","SGPB_POPUP_PARAMS"],"is_default":0,"condition":"popup-builder\/popup-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"82dbb1e5-31f9-43d7-b522-52819aa49ba5":{"id":"plugin:786717922362642f34a7ff58e919bd95","title":"Popup Maker","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/pum\/pum-site-scripts.js","pum","\/plugins\/popup-maker\/assets\/js\/site.min.js"],"is_default":0,"condition":"popup-maker\/popup-maker.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"48e08305-1f1c-4ef4-9f13-24af1b155abc":{"id":"plugin:17831cbb64e469c7f66224c8c63d0a58","title":"PowerPack Addons for Elementor","type":"plugin","icon":"","exclusions":["\/powerpack-lite-for-elementor\/assets\/js\/min\/frontend.min.js"],"is_default":0,"condition":"powerpack-lite-for-elementor\/powerpack-lite-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e037ae2f-e36b-4f1a-ada8-eb8fde6746f2":{"id":"plugin:80e1283ea1afead3ca904fad792643c5","title":"Preloader Plus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/preloader-plus\/(.*)"],"is_default":0,"condition":"preloader-plus\/preloader-plus.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90fed478-e89a-455c-8371-836bee58fb81":{"title":"Premium Addons for Elementor","condition":"premium-addons-for-elementor\/premium-addons-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-addons.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/isotope.min.js","\/premium-addons-elementor\/pa-frontend-(.*).min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/slick.min.js","\/premium-addons-pro\/assets\/frontend\/min-js\/tooltipster.min.js","window.scopes_array","lottie.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-nav-menu.min.js"],"icon_url":"","type":"plugin","id":"plugin:debbfbbcbdf9ffb465bbc40008d99f02","is_default":0,"created_at":1693315214},"7e43c261-77be-48fc-b25a-8953a654ae85":{"id":"plugin:100a0382fcf3d1b6b22da928bce46ea8","title":"Presto Player","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/dist\/vendor\/regenerator-runtime.min.js","\/presto-player\/dist\/components\/web-components\/web-components.esm.js","\/presto-player\/src\/player\/player-static.js","var player","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"is_default":0,"condition":"presto-player\/presto-player.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3d6f509f-d040-4279-9a2f-a4e6eae1e9df":{"id":"plugin:c0fce700121492b566517e68301db382","title":"Price Based on Country for WooCommerce Pro","type":"plugin","icon":"","exclusions":["\/woocommerce-product-price-based-on-countries\/assets\/js\/ajax-geolocation.min.js","\/woocommerce-price-based-country-pro-addon\/assets\/js\/currency-switcher.min.js","add-to-cart.min.js","cart-fragments.min.js"],"is_default":0,"condition":"woocommerce-price-based-country-pro-addon\/woocommerce-price-based-country-pro-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b970bc8a-bcbe-4d08-8ac0-a6853ab3f036":{"id":"plugin:f1ecfe258440b371124999ca3bfbfff3","title":"Prime Slider","type":"plugin","icon":"","exclusions":["\/plugins\/bdthemes-prime-slider-lite\/assets\/js\/bdt-uikit.min.js"],"is_default":0,"condition":"bdthemes-prime-slider-lite\/bdthemes-prime-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e5458963-f167-4b68-88e4-77dd39af2842":{"id":"plugin:29ea8f4dd72f5a5c5927917fb0665a05","title":"PRO Elements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pro-elements\/"],"is_default":0,"condition":"pro-elements\/pro-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b119ad72-f498-4576-bb71-9e6d8c37b68f":{"title":"Product Filter by WBW (for WooCommerce)","condition":"woo-product-filter\/woo-product-filter.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-content\/plugins\/woo-product-filter\/modules\/woofilters\/js\/frontend.woofilters.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js"],"icon_url":"","type":"plugin","id":"plugin:e57ad91e0d94fab011353af544873743","is_default":0,"created_at":1685686062},"7b779aca-e497-4da3-8e51-fa12837d15ab":{"title":"Product Filters for WooCommerce","condition":"woocommerce-product-filters\/woocommerce-product-filters.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-product-filters\/","\/woocommerce\/assets\/js\/accounting\/accounting.min.js","\/wp-includes\/js\/jquery\/ui\/","wcpf-load-project","WCPFData"],"icon_url":"","type":"plugin","id":"plugin:719469f1c977f7109d3d6ee21ecd5a16","is_default":0,"created_at":1691235154},"2b2a51f2-bd47-4591-92d8-4a690bce5d99":{"id":"plugin:a898898b2b0ea2cd82e20a6d3a3aa47b","title":"Product Gallery Slider for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/twist\/assets\/js\/slick.min.js","wpgs-public-js-after"],"is_default":0,"condition":"twist\/twist.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"062c5be3-e5ea-4958-9619-44e3410f237e":{"title":"Product Video Gallery for Woocommerce","condition":"product-video-gallery-slider-for-woocommerce\/product-video-gallery-slider-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/product-video-gallery-slider-for-woocommerce\/public\/js\/nickx.front.js"],"icon_url":"","type":"plugin","id":"plugin:bbc653a91f0635cd2edb0b741aa62b85","is_default":0,"created_at":1693512477},"34d225a4-688c-476b-846b-420774160d6b":{"id":"plugin:e0b123d324c6fc85b8682660c34f8829","title":"Rank Math SEO","type":"plugin","icon":"","exclusions":["local_ga_js"],"is_default":0,"condition":"seo-by-rank-math\/rank-math.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"02305ca0-2c2a-4eef-a802-b8a942771ecc":{"title":"Retainful","condition":"retainful-next-order-coupon-for-woocommerce\/retainful-next-order-coupon-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/atc-popup.min.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/exit-intent-popup.js","retainful.com","rnoc-add-to-cart-js-before","rnoc_redirect_coupon_popup"],"icon_url":"","type":"plugin","id":"plugin:f9fdee19ba6aed961d96d86e1521a761","is_default":0,"created_at":1679331508},"b4055250-5813-400f-b663-d390fee989e4":{"id":"plugin:d6a4d07d1b4022d886df52322dcd8a6f","title":"Revolution Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/revslider\/public\/assets\/js\/","\/revslider-(.*)-addon\/","setREVStartSize","rev_slider_","revslider_","window.RS_MODULES"],"is_default":0,"condition":"revslider\/revslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0b4e061a-b366-4d5a-a00e-bded4b107133":{"title":"Royal Elementor Addons","condition":"royal-elementor-addons\/wpr-addons.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/royal-elementor-addons\/assets\/js\/frontend.min.js","\/royal-elementor-addons\/assets\/js\/lib\/jarallax\/jarallax.min.js"],"icon_url":"","type":"plugin","id":"plugin:c4b464373716d7ac8e3cfb019aaa6102","is_default":0,"created_at":1688124503},"1b19ec89-171a-4f85-8c4b-b1bcfc6b1433":{"id":"plugin:5e3f85d8c82cc184b945415d1a862601","title":"Sassy Social Share","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/sassy-social-share\/public\/js\/sassy-social-share-public.js","heateorSssLoadEvent"],"is_default":0,"condition":"sassy-social-share\/sassy-social-share.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f5899925-2ab7-43b6-abc4-51b76d664ca6":{"title":"Scrollsequence","condition":"scrollsequence-pro\/scrollsequence-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/scrollsequence-pro\/public\/js\/gsap__premium_only.js","\/scrollsequence-pro\/public\/js\/gsap-scrolltrigger__premium_only.js","\/scrollsequence-pro\/public\/js\/ssq-lib__premium_only.js","scrollsequence-input-script"],"icon_url":"","type":"plugin","id":"plugin:3df51830b6b80668fc342c8dcea495cf","is_default":0,"created_at":1678111131},"043827fc-3df8-45d6-9cd2-14fbe962987a":{"id":"plugin:9d60b5d2de4d828b78c7b088024377d6","title":"ShiftNav Pro - Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-pro\/assets\/js\/shiftnav(.*).js"],"is_default":0,"condition":"shiftnav-pro\/shiftnav.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bcbaf240-e76f-4620-b7d5-4852c46d4be7":{"id":"plugin:56279bd768c8f27ad1972b6774738bcf","title":"ShiftNav \u2013 Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-responsive-mobile-menu\/"],"is_default":0,"condition":"shiftnav-responsive-mobile-menu\/shiftnav-responsive-mobile-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bbe0543b-b5af-467b-a90d-e2975d892d8d":{"id":"plugin:1bc7ac87d8ab2301a1b904919dc7a798","title":"Short Pixel Adaptive Image","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/shortpixel-adaptive-images\/assets\/js\/ai(.*).min.js","spai_settings"],"is_default":0,"condition":"shortpixel-adaptive-images\/short-pixel-ai.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"543ab43a-6bd3-4948-a09e-3b95e7c9209d":{"id":"plugin:ce4dea8ddc3caa8d00e95cec3202d32a","title":"Showcase IDX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","SIDX","search.showcaseidx.com\/js\/app-(.*).js","cdn.shortpixel.ai"],"is_default":0,"condition":"showcase-idx\/showcaseidx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a16bcab7-1169-46b9-a425-b091478d8312":{"id":"plugin:3ea7d9f75ad03620b0bce2517bd5b8d1","title":"Side Cart WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/plugins\/woocommerce\/assets\/js\/frontend\/add-to-cart.min.js","\/plugins\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/plugins\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"is_default":0,"condition":"side-cart-woocommerce\/xoo-wsc-main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"521f748e-cf09-4019-bd28-b52daef5f16f":{"id":"plugin:7843983bf90dbae16c6e889382c71b23","title":"Simple Banner","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/simple-banner\/","simpleBannerScriptParams"],"is_default":0,"condition":"simple-banner\/simple-banner.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"76026e82-d9cf-482c-b480-55c57693a184":{"id":"plugin:b6825f971d35a5515d095564a2e40936","title":"Site Kit by Google","type":"plugin","icon":"","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('","\/gtag\/js","gtag\\(","\/gtm.js"],"is_default":0,"condition":"google-site-kit\/google-site-kit.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"79c458d7-f7f7-4072-919d-ad337bde6ae3":{"id":"plugin:5ce5dfecdc9d3292c69a1413bbd17d3c","title":"Slick Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/slick-menu\/"],"is_default":0,"condition":"slick-menu\/slick-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"dd0ea584-0c99-4c30-b46d-da35b94c9f0a":{"id":"plugin:ffb5f8cc0ea17886dbd05f601ca3eec0","title":"Slider by Soliloquy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","soliloquy-min.js","soliloquy_slider"],"is_default":0,"condition":"soliloquy-lite\/soliloquy-lite.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ecb2fffc-d289-4f68-ae94-71131f17deee":{"id":"plugin:2f373822dceb191c31c8ad2183d51869","title":"Smart Slider 3","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/smart-slider-3\/(.*).js","_N2"],"is_default":0,"condition":"smart-slider-3\/smart-slider-3.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"284ede43-bf80-419e-8414-46c26cb746f0":{"id":"plugin:720ec9fbbd8a52ce525959a68a5310b3","title":"Smart Slider 3 Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/SmartSlider3\/(.*).js","_N2"],"is_default":0,"condition":"nextend-smart-slider3-pro\/nextend-smart-slider3-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c3334c29-4160-42df-a1ce-f8aeeaee8668":{"title":"Super Socializer","condition":"super-socializer\/super_socializer.php","exclusions":["theChamp","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:660defe26748470c3a47366cd4012579","is_default":0,"created_at":1677853633},"f18b4242-fe3f-4e2b-bfc9-ac2fb3939a90":{"title":"Superfly Menu","condition":"superfly-menu\/main.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate((.*?)(.min?)?).js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/md5.js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/util.js","\/superfly-menu\/js\/public.min.js","window.SFM_is_mobile","var SFM_skew_disabled","var SFM_template"],"icon_url":"","type":"plugin","id":"plugin:ccb15175093bc6c437b78797f0698a7b","is_default":0,"created_at":1684301673},"1a05c00a-8562-45bc-80e8-987a4574b1c9":{"title":"Symplr Ads","condition":"symplr-ads\/symplr-plugin.php","exclusions":["\/symplr-ads\/","cdns.symplr.de"],"icon_url":"","type":"plugin","id":"plugin:3b6d39e28a87e86c4659491e2368ff61","is_default":0,"created_at":1692199959},"858d2d7f-bdac-4d27-ba26-baa9ace96ba4":{"id":"plugin:7d93008296bb5c7c43d4cba185ed2632","title":"Tabby Responsive Tabs","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/tabby-responsive-tabs\/js\/tabby.js","RESPONSIVEUI"],"is_default":0,"condition":"tabby-responsive-tabs\/tabby-responsive-tabs.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e44a5c93-bb77-4624-a121-d846905137ea":{"id":"plugin:2f563bbb7e92363ec3fb2989a1c7dffe","title":"The Plus Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/theplus-addons\/(.*)"],"is_default":0,"condition":"the-plus-addons-for-elementor-page-builder\/theplus_elementor_addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2bbac961-b000-4802-ae97-d52472ec6750":{"title":"The Plus Addons for Elementor Premium","condition":"theplus_elementor_addon\/theplus_elementor_addon.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/theplus_elementor_addon\/","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig"],"icon_url":"","type":"plugin","id":"plugin:6e127deaaeefbe57ff945b1f9e274518","is_default":0,"created_at":1688143611},"666b45e8-749c-4140-bd17-e1cd589e03ee":{"id":"plugin:b9c418b47c986935a1151ab9b42f8971","title":"ThemeREX Addons","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/trx_addons\/js\/__scripts-full.js","\/trx_addons\/components\/cpt\/layouts\/shortcodes\/menu\/superfish.min.js"],"is_default":0,"condition":"trx_addons\/trx_addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a750cada-eb58-4df4-9966-21c8a69332ba":{"id":"plugin:75af9efe22c5cc776636266feb55adf1","title":"Thrive Architect","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-visual-editor\/thrive-visual-editor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"13714cde-680e-4ca4-8607-c35952d6a5f2":{"title":"Thrive Comments","condition":"thrive-comments\/thrive-comments.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"icon_url":"","type":"plugin","id":"plugin:6a72d06ca2f6a888b0d9d5ea93af2edc","is_default":0,"created_at":1677852974},"aa7ca898-499f-4f04-b419-3de199996969":{"id":"plugin:b84d82c02cade64ade00712b9c5652aa","title":"Thrive Leads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"is_default":0,"condition":"thrive-leads\/thrive-leads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9eee297a-8241-4ef2-af97-46074bd0898c":{"id":"plugin:5bb61b0559b0a3fd578315b553451327","title":"Thrive Quiz Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-quiz-builder\/thrive-quiz-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c2f3ec2a-5b09-4845-aa95-84841783fbfc":{"id":"plugin:a7f3e5206abff19ca7cf142260181738","title":"Thrive Ultimatum","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-ultimatum\/","var TVE_Ult_"],"is_default":0,"condition":"thrive-ultimatum\/thrive-ultimatum.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d48b8d2f-e071-4a30-840a-306154a115a0":{"id":"plugin:f57be2014b6a489d053f8367fa6c0f9f","title":"Tidio Chat","type":"plugin","icon":"","exclusions":["document.tidioChatCode"],"is_default":0,"condition":"tidio-live-chat\/tidio-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cb6d33ed-7eb4-4ff9-9ad0-7fc54fbecf6f":{"id":"plugin:c9e0485ec256d4a6a8d92a98c18d76fc","title":"Toolset Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","toolsetCommonEs.fontToHead","toolsetCommonEs.styleToHead","\/toolset-blocks\/vendor\/toolset\/blocks\/public\/js\/frontend.js","\/toolset-blocks\/vendor\/toolset\/common-es\/public\/toolset-common-es-frontend.js","\/toolset-blocks\/public\/js\/views-frontend.js","\/wp-includes\/js\/underscore.min.js"],"is_default":0,"condition":"toolset-blocks\/wp-views.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"4bac6350-0925-49fb-904a-372f22fd6baf":{"id":"plugin:71beda322b37f7fc7d456822493cb972","title":"Top Bar Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/topbar-pro\/js\/tpbr_front.min.js","\/plugins\/topbar-pro\/js\/jquery.cookie.js"],"is_default":0,"condition":"topbar-pro\/topbar_pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"033486e7-0ddc-4915-a848-31504d00448e":{"title":"Twenty20 Image Before-After","condition":"twenty20\/ttwenty.php","exclusions":["\/twenty20\/assets\/js\/(.*).js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","twentytwenty-container"],"icon_url":"","type":"plugin","id":"plugin:23441bba9d3602bc932d697c7cb8aa1f","is_default":0,"created_at":1677858089},"7675a34d-006e-4672-99d5-a81e1b8e47f9":{"id":"plugin:3d59cc34167a7f8123e66b627148e0b7","title":"UberMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ubermenu\/assets\/js\/ubermenu.min.js"],"is_default":0,"condition":"ubermenu\/ubermenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"8233178a-e7b3-43ce-b193-bd0d9c960933":{"id":"plugin:86424c46157c1c7e2e1571055813beee","title":"Ultimate Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ultimate-elementor\/assets\/lib\/slick\/slick.min.js","\/ultimate-elementor\/assets\/min-js\/uael-frontend.min.js","\/ultimate-elementor\/assets\/lib\/isotope\/isotope.min.js","\/ultimate-elementor\/assets\/lib\/jquery-element-resize\/jquery_resize.min.js","\/ultimate-elementor\/assets\/lib\/fancybox\/jquery_fancybox.min.js","\/ultimate-elementor\/assets\/lib\/justifiedgallery\/justifiedgallery.min.js","\/elementor-pro\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/elementor\/assets\/lib\/swiper\/swiper.min.js","\/nasa-core\/assets\/js\/min\/jquery.slick.min.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig"],"is_default":0,"condition":"ultimate-elementor\/ultimate-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8bddf484-6c78-4147-a4e6-d3039904e5f6":{"title":"Ultimate Addons for Elementor - Mobile Menu","condition":"ultimate-elementor\/ultimate-elementor.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/ultimate-elementor\/assets\/js\/uael-nav-menu.js"],"icon_url":"","type":"plugin","id":"plugin:70cfade3a7adbb54196f6acccc5a176f","is_default":0,"created_at":1685969850},"028504f7-b1cd-4318-8a6d-ce186197e89d":{"id":"plugin:0f0a91f0c454021a5ff9fc25c3ed419f","title":"Ultimate Addons for WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Ultimate_VC_Addons\/assets\/"],"is_default":0,"condition":"Ultimate_VC_Addons\/Ultimate_VC_Addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"5754af3d-a6af-49eb-b731-bdd82f26dc4e":{"id":"plugin:34db8636812bad84c8aea037c2ddc8c2","title":"Ultimate Responsive Image Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","sliderPro"],"is_default":0,"condition":"ultimate-responsive-image-slider\/ultimate-responsive-image-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"78ae882d-ae31-4179-b677-8893814938c7":{"title":"Unlimited Elements for Elementor Premium - Slider","condition":"unlimited-elements-for-elementor-premium\/unlimited-elements-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/unlimited-elements-for-elementor-premium\/","uc_"],"icon_url":"","type":"plugin","id":"plugin:17260bc347b8c29bee0010e9ec164184","is_default":0,"created_at":1683270377},"051cbfbb-7ad2-4f06-a493-3cf423a80904":{"id":"plugin:6717ef5673a956bc08ca4a5117065d53","title":"Variation Swatches for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery\/ui\/","\/woo-variation-swatches\/","\/woo-variation-swatches-pro\/","underscore.min.js"],"is_default":0,"condition":"woo-variation-swatches\/woo-variation-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"6879caba-7224-4eca-bcb2-370785b495ea":{"id":"plugin:57597b7683e01892932083413f085134","title":"Web Accessibility By accessiBe","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/accessibe\/","acsbJS"],"is_default":0,"condition":"accessibe\/accessiebe.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"bd6732fe-4c2b-40a1-9035-8464057e2da5":{"title":"WooCommerce - Cart Fragments","condition":"woocommerce\/woocommerce.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"icon_url":"","type":"plugin","id":"plugin:201de694c6fc28c8d580a3b2ca484218","is_default":0,"created_at":1680937567},"d044900d-07e1-4533-9516-33106efcb259":{"title":"WooCommerce - Product description","condition":"woocommerce\/woocommerce.php","exclusions":["\/plugins\/woocommerce\/assets\/js\/frontend\/single-product.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:a82644b4c9417ea3a240939a73344700","is_default":0,"created_at":1679309756},"bff953b1-2213-4666-8112-76a84a3cc207":{"title":"WooCommerce - Product Gallery","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/zoom\/jquery.zoom(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/photoswipe\/","\/woocommerce\/?(.*)\/assets\/js\/flexslider\/jquery.flexslider(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/frontend\/single-product(.min)?.js","wc_single_product_params"],"icon_url":"","type":"plugin","id":"plugin:7665868ff97c265628f376523a4f9ecc","is_default":0,"created_at":1686579689},"016e6ddf-c6e7-49ec-bd3f-2585d9e45895":{"title":"WooCommerce - Select2 library","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/assets\/js\/select2\/select2(.*).js"],"icon_url":"","type":"plugin","id":"plugin:4bca670bd5d55dd24b17fb0193b0891e","is_default":0,"created_at":1681459540},"b9b2c6d7-944f-4ae3-ae04-c9e2204b9dab":{"id":"plugin:9165c768e978d6ad3f696db8c78ccbb2","title":"WooCommerce Attribute Swatches","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/iconic-woo-attribute-swatches-premium\/assets\/frontend\/js\/main.min.js","\/iconic-woo-attribute-swatches-premium\/assets\/vendor\/flickity\/flickity.pkgd.min.js","iconic_was_vars"],"is_default":0,"condition":"iconic-woo-attribute-swatches-premium\/iconic-woo-attribute-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4506c5e9-7349-44c9-9967-34370c83facb":{"title":"WooCommerce Bookings","condition":"woocommerce-bookings\/woocommerce-bookings.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/woocommerce-bookings\/dist\/frontend.js","\/wp-includes\/js\/dist\/date.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/underscore.min.js","\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/wp-includes\/js\/dist\/hooks.min.js"],"icon_url":"","type":"plugin","id":"plugin:14dec6d289b9977fa3a74116feecebcc","is_default":0,"created_at":1693998405},"fec9cd04-c358-45da-a1a8-1668b964016b":{"id":"plugin:456f3b849ba3b6647246aca9d7cdaed5","title":"WooCommerce Product Reviews Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","wc_product_reviews_pro","\/woocommerce-product-reviews-pro\/assets\/js\/frontend\/wc-product-reviews-pro-frontend.min.js","\/woocommerce\/assets\/js\/jquery-tiptip\/jquery.tipTip.min.js"],"is_default":0,"condition":"woocommerce-product-reviews-pro\/woocommerce-product-reviews-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"551a9399-627f-4978-9bae-5cc8e0aefc82":{"id":"plugin:c8577e74eef3b082fb6403760d53f68c","title":"WooCommerce TM Extra Product Options","type":"plugin","icon":"","exclusions":["\/woocommerce-tm-extra-product-options\/assets\/js\/epo.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-util.min.js","\/wp-includes\/js\/dist\/hooks.js","\/wp-includes\/js\/dist\/i18n.js"],"is_default":0,"condition":"woocommerce-tm-extra-product-options\/tm-woo-extra-product-options.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3cac4650-6a52-448e-8e48-e99a772a59a2":{"id":"plugin:c6e6cab8c80fa3fe57d609f72d2d5c56","title":"WooLentor","type":"plugin","icon":"","exclusions":["\/woolementor\/assets\/third-party\/slick\/slick.min.js","\/woolentor-addons","woolentor_addons"],"is_default":0,"condition":"woolentor-addons\/woolentor_addons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"67aeb4cb-1a00-4d10-a00c-34888b4c0dba":{"title":"WooThumbs for WooCommerce","condition":"woothumbs-premium\/woothumbs-premium.php","exclusions":["\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-embed.min.js","\/wp-includes\/js\/wp-util.min.js","\/woothumbs-premium\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:b97b1d3f627769e1dd8305aa25af993c","is_default":0,"created_at":1679065404},"c7a14763-88d0-4344-a6af-e0a8dc5fa8d5":{"id":"plugin:31b9e812a025e5750a6ef0980ee7d2db","title":"WordPress Mega Menu \u2013 QuadMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/quadmenu","#private-menu","#public-menu"],"is_default":0,"condition":"quadmenu\/quadmenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f699fdbd-84a7-4f24-b729-3e4a4f83a4dd":{"id":"plugin:601f8fc7d10cad1c2ec2949c0d9b1651","title":"WP Armour","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/honeypot\/includes\/js\/wpa.js","\/wp-armour-extended\/includes\/js\/wpae.js","wpa_hidden_field","wpa_add_test"],"is_default":0,"condition":"wp-armour-extended\/wp-armour-extended.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"6a28aae5-ef91-43fc-8204-92e3a25642b4":{"id":"plugin:5728f3b9856dfe37a36ab15b0a637198","title":"WP Go Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com"],"is_default":0,"condition":"wp-google-maps\/wpGoogleMaps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c9b991d1-a653-404b-be85-e276b1814e7d":{"title":"WP Google Map Pro","condition":"wp-google-map-gold\/wp-google-map-gold.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","maps.google.com\/maps\/api\/js","\/wp-includes\/js\/masonry.min.js","\/wp-google-map-gold\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:dc12a9b7b9c4c7ce3c532b6b377739f2","is_default":0,"created_at":1677858391},"1f8f9fbf-fbf0-4e3a-b77c-af0fa47e950d":{"id":"plugin:87f572f5f0ec143a8fceba77d0616197","title":"WP Google Maps Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-google-maps(.*)","maps.googleapis.com","mgl_","wpgmza"],"is_default":0,"condition":"wp-google-maps-pro\/wp-google-maps-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"41e4b98c-e63f-4800-a478-02592562322b":{"id":"plugin:3735ca768ede98b25795f4cb057ff4ed","title":"WP iCal Availability","type":"plugin","icon":"","exclusions":["\/wp-ical-availability\/js\/custom-select.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-ical-availability\/"],"is_default":0,"condition":"wp-ical-availability\/wp-ical-availability.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2b06c5b8-dc32-4bb0-8504-3a9f1c3a1ec0":{"title":"WP MapIt","condition":"wp-mapit\/wp_mapit.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-mapit\/wp_mapit\/js\/leaflet.js","\/wp-mapit\/wp_mapit\/js\/wp_mapit_multipin.js"],"icon_url":"","type":"plugin","id":"plugin:ba8d1c7f294a3f5b593556eb3b0bc7d9","is_default":0,"created_at":1679331261},"2039eafd-1c11-4e21-a61b-30857f291ae3":{"id":"plugin:927b8bf7806f2d287559b86a0b455a59","title":"WP Responsive Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-responsive-menu\/(.*)"],"is_default":0,"condition":"wp-responsive-menu\/wp-responsive-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e06be942-cccd-4b2d-a268-06dc78f0b820":{"title":"WP Search with Algolia","condition":"wp-search-with-algolia\/algolia.php","exclusions":["\/wp-search-with-algolia\/js\/algoliasearch\/dist\/algoliasearch-lite.umd.js","\/wp-search-with-algolia\/js\/autocomplete-noconflict.js","\/wp-search-with-algolia\/js\/autocomplete.js\/dist\/autocomplete.min.js","var algolia"],"icon_url":"","type":"plugin","id":"plugin:43267e659d599fbb6b42c719b49bb7a7","is_default":0,"created_at":1677857180},"4fc2a7ae-b9e6-410e-93cf-e6d1962add6a":{"id":"plugin:4fb90fc73fc2b5d1e37ea2dadfd3cef3","title":"WP Smart Preloader","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-smart-preloader\/assets\/js\/wsp-main-script(.min)?.js"],"is_default":0,"condition":"wp-smart-preloader\/wp-preloader.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7ecf40ce-2bcd-412c-bb01-9e71fecf6be8":{"id":"plugin:d37bb5054a24471ca1675d9ab49d01b0","title":"WP Store Locator","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-store-locator\/","\/wp-includes\/js\/underscore.min.js","maps.google.com"],"is_default":0,"condition":"wp-store-locator\/wp-store-locator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a1d19a2-3a48-40ab-8051-f642fc63ce2d":{"title":"WP Ultimate Post Grid","condition":"wp-ultimate-post-grid\/wp-ultimate-post-grid.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-ultimate-post-grid\/dist\/public.js","\/wp-ultimate-post-grid-premium\/dist\/public-premium.js","wpupg_grid_args"],"icon_url":"","type":"plugin","id":"plugin:e24341fef49bd64b89682d583218c108","is_default":0,"created_at":1686597940},"76c86163-ddf3-4113-b620-de9d5058f505":{"id":"plugin:517d7d24da9a7072ed389d0fb30374a0","title":"WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js"],"is_default":0,"condition":"js_composer\/js_composer.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4f5e5b98-c326-4b9f-9ada-3b257862132c":{"id":"plugin:1ec7138c950c355e7af60d49c81139fc","title":"wpDataTables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wpdatatables\/","highcharts"],"is_default":0,"condition":"wpdatatables\/wpdatatables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"18be1b8c-0bc4-4a01-abc6-a127aff380c6":{"id":"plugin:c62ca58ea081c1271de8dadfa7daac69","title":"WPForms","type":"plugin","icon":"","exclusions":["\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra","wpformsRecaptchaLoad"],"is_default":0,"condition":"wpforms\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a3cacb6-81bd-456a-a1cc-a4025f8e5234":{"id":"plugin:0992ac952c0a05bb35e18b1d5744d346","title":"WPForms Lite","type":"plugin","icon":"","exclusions":["wpformsRecaptchaLoad","\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra"],"is_default":0,"condition":"wpforms-lite\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"98bbd410-5b01-4244-a8eb-715765180328":{"title":"XL WooCommerce Sales Triggers","condition":"xl-woocommerce-sales-triggers\/xl-woocommerce-sales-triggers.php","exclusions":["\/xl-woocommerce-sales-triggers\/assets\/js\/wcst_combined.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:ba9e526ddb0157e69757530c6b18b714","is_default":0,"created_at":1677856813},"bf9f9620-dd0e-4e6f-9a45-4eb78a148f42":{"id":"plugin:58663fc781232169e865f6fe7cf1afaa","title":"YITH WooCommerce Ajax Product Filter","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-navigation\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-navigation\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b053279d-e07c-438c-bb3e-3a1f4f5d7c5e":{"id":"plugin:68b637fd247e40c8e135e4771d739b07","title":"YITH WooCommerce AJAX Product Filter Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-product-filter-premium\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-product-filter-premium\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"d94dbbf3-bcab-4e47-9fbb-6b3a7cf92787":{"title":"Yotpo Social Reviews for Woocommerce","condition":"yotpo-social-reviews-for-woocommerce\/wc_yotpo.php","exclusions":["\/yotpo-social-reviews-for-woocommerce\/assets\/js\/headerScript.js"],"icon_url":"","type":"plugin","id":"plugin:45ab742b3fccbd04d7bc973c8582be87","is_default":0,"created_at":1680686421}},"themes":{"9c623554-5834-4669-9e96-1b894c1939b2":{"id":"theme:0193ea55fce2ada93b262f2824008c0f","title":"Andaman","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/andaman\/assets\/js\/","\/wp-andaman-plugins\/shortcodes\/vc_extend\/"],"is_default":0,"condition":"andaman","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7374c5a5-69f8-460f-b44f-dee884a824cd":{"id":"theme:24cbda63f1b898ade5562ab4ec6d97a5","title":"Artale","type":"theme","icon":"","exclusions":["\/artale-elementor\/assets\/js\/modulobox.js","\/artale-elementor\/assets\/js\/artale-elementor.js","\/artale\/js\/jquery-stellar.js","\/artale\/js\/core\/artale-plugins.js","\/artale\/js\/core\/artale-custom.js","var loader"],"is_default":0,"condition":"artale","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"03a9cc62-c167-447d-beb2-65c76c96b056":{"title":"Astra","condition":"astra","exclusions":["\/astra\/assets\/js\/minified\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3cce5f3eaf76e098ba8e28f7bbba3f92","is_default":0,"created_at":1681390022},"2a2b54cb-8e1d-49d2-bfca-93eee231e470":{"id":"theme:72a8d63e59c10bdf512a62b862d143a7","title":"Astra - Carousel","type":"theme","icon":"","exclusions":["var astra","\/astra\/assets\/js\/minified\/style.min.js"],"is_default":0,"condition":"astra","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7783361f-66fc-4d95-a054-4e9545bb5b48":{"title":"Auteur","condition":"g5plus-auteur","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/g5plus-auteur\/assets\/js\/core.min.js","\/g5plus-auteur\/assets\/vendors\/","\/auteur-framework\/libs\/smart-framework\/assets\/vendors\/perfect-scrollbar\/js\/perfect-scrollbar.jquery.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"icon_url":"","type":"theme","id":"theme:6207fe478e269e7547bda70a46607a49","is_default":0,"created_at":1679737107},"4c618038-8fc7-4d48-8d41-a32da14e5c1e":{"title":"AutoTrader","condition":"autotrader","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/autotrader\/(.*).js"],"icon_url":"","type":"theme","id":"theme:046dfeee2b77390c53e0e7f93b6a3792","is_default":0,"created_at":1679736741},"18f04f23-35a0-4c45-8cb6-a91d57ca1790":{"id":"theme:835da12f43373029659f766920e81b47","title":"Avada - Animations & mobile-specific actions","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).js","window.off_canvas_","\/plugins\/fusion-builder\/","\/plugins\/fusion-core\/","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90135867-1b95-498b-80d6-f5dbf2f6b318":{"title":"Avada - FAQ shortcode","condition":"Avada","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/fusion-core\/js\/min\/avada-faqs.js"],"icon_url":"","type":"theme","id":"theme:b084708c80d8582546e5430219aa4670","is_default":0,"created_at":1678277160},"d23b5bb1-1d7f-4109-bf69-b20a2be2d337":{"id":"theme:5e7a2248e1a53d9bb27b187deb541248","title":"Avada - Fusion carousel","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.carouFredSel.js","\/includes\/lib\/assets\/min\/js\/general\/fusion-carousel.js","fusionCarouselVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"98dfa8c1-e72a-4cef-a0b2-8f0c322490fc":{"id":"theme:f16fb109027f4994a7649a8b1663e6f7","title":"Avada - Fusion form","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form-logics.js","\/includes\/lib\/assets\/min\/js\/library\/cssua.js","\/includes\/lib\/assets\/min\/js\/general\/fusion.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"026801fa-af67-47ba-b966-347693f0585f":{"id":"theme:33f50696d353d8bd4eb59ff6e8f44c97","title":"Avada - Fusion grid gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-gallery.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c8349314-15a3-481e-973b-e4d936e4420e":{"id":"theme:56fa9993a573540c83eda9c49fae5e3c","title":"Avada - Fusion slider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-core\/js\/min\/avada-fusion-slider.js","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"55bd510c-78aa-49d5-8304-8be2ee2ab0da":{"id":"theme:2189c1c769d65cfc2182e4822847071b","title":"Avada - Mobile menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-menu.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.easing.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ddf00672-c35c-4b68-aeca-925e68bf12b2":{"id":"theme:97a185f08af70c39c7e221faab0f73eb","title":"Avada - OffCanvas","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).min.js","window.off_canvas_"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"17544cc3-9d3a-4611-bc5d-44d04e2786fa":{"id":"theme:6d49e887153f4b7cad1a3c53bc02d506","title":"Avada - Portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/fusion-core\/js\/min\/avada-portfolio.js","avadaPortfolioVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7a04bc85-0fec-4487-ae05-bb2e5d8d0420":{"id":"theme:e3c0b030e73246225b0609ec32506c47","title":"Avada - portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/library\/packery.js","\/library\/isotope.js","\/library\/imagesLoaded.js","\/general\/fusion-lightbox.js","\/fusion-core\/js\/min\/avada-portfolio.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c6c3347c-14e0-4766-afa5-df33a47f5a5a":{"id":"theme:3ff44421b404c5efffa25e78e479e4ea","title":"Avada - Sticky menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Avada\/assets\/min\/js\/general\/avada-menu.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"232596c1-6a6a-4fe8-a5c3-a60fa74a9456":{"id":"theme:0d727d80bb132f17c737e55883fe4be0","title":"Avada - WooCommerce product gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-woo-product-images.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.flexslider.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"95ece7e4-3b19-45e5-aa28-14f833c9afca":{"title":"Avesa","condition":"avesa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/avesa\/js\/main.js","\/avesa\/js\/isotope.js","\/sw_core\/js\/slick.min.js","\/avesa\/js\/bootstrap-datetimepicker.min.js","\/avesa\/js\/bootstrap.min.js"],"icon_url":"","type":"theme","id":"theme:aad8bfcc594eec02e3b0d635198dee5e","is_default":0,"created_at":1679737993},"f2bfe477-4e45-4e52-a7d9-4d0ba3a92258":{"title":"Besa","condition":"besa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/besa\/js\/"],"icon_url":"","type":"theme","id":"theme:c238e89523c46ca28b08e401f42f6ccc","is_default":0,"created_at":1679738204},"bd94908c-8138-4995-986b-47ec66494bdd":{"title":"BeTheme","condition":"betheme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/betheme\/","mfn","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"icon_url":"","type":"theme","id":"theme:b99156eb9eeb357c0a70bd3bda6861cc","is_default":0,"created_at":1679738639},"6fb2b9d7-6ecc-4260-999c-938fbebdbf01":{"id":"theme:de8504b73ea228d0ea9bbce69752092e","title":"Bridge","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/bridge-creative\/bridge\/js\/","\/wp-includes\/js\/"],"is_default":0,"condition":"bridge","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"65698b6b-85dd-41ef-8fd7-718f1e983dba":{"title":"Car Dealer","condition":"cardealer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/(.*)","\/cardealer\/js\/(.*)"],"icon_url":"","type":"theme","id":"theme:b1111424fff61af8d1e152dcdd6810f6","is_default":0,"created_at":1679737517},"eb86aedb-91e6-480c-b76c-756ac1da41be":{"title":"Clover","condition":"clover-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/clover-theme\/"],"icon_url":"","type":"theme","id":"theme:89372f3d9321ae09c94488592084da29","is_default":0,"created_at":1679738878},"6e90b649-5736-497f-9bc6-515900cfea8a":{"title":"Divi - Animations","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:c0abf30dba4ff13db836d1b01685953a","is_default":0,"created_at":1679737389},"70916c43-4e02-4932-b6aa-91a1815bc755":{"title":"Divi - Background video","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/custom.unified.js","\/js\/mediaelement\/(.*)","mejs"],"icon_url":"","type":"theme","id":"theme:c7edea41ae6716291e2d32a2ab429209","is_default":0,"created_at":1679738240},"08531785-9818-4e30-903e-564637a2ad7a":{"title":"Divi - Counter module","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/easypiechart.js"],"icon_url":"","type":"theme","id":"theme:2c46b9f5a770f260c3f7115bb330b2d5","is_default":0,"created_at":1679736810},"b996762a-84ef-440d-a089-73a187936fbf":{"title":"Divi - Mobile menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js"],"icon_url":"","type":"theme","id":"theme:b9116994f4e4b9b9fa574440c00d2f0d","is_default":0,"created_at":1679738580},"ae096e1e-9c36-46ad-a3d1-c26ea507276b":{"title":"Divi - Sticky elements","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/sticky-elements.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:8b62db03c90245f3e690335b079b05dc","is_default":0,"created_at":1679737191},"349f31f0-dd10-41d3-b0a4-9c5df64879f8":{"title":"Divi - Sticky menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/js\/jquery\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/magnific-popup.js","jqueryParams","firstHeader"],"icon_url":"","type":"theme","id":"theme:b7b84aca0f0dc6a1ced31d38626c50ea","is_default":0,"created_at":1679738821},"59563458-5f04-4959-b3e2-53e49e169d67":{"title":"Divi - WooCommerce Single Product Images","condition":"Divi","exclusions":["\/Divi\/js\/scripts.min.js"],"icon_url":"","type":"theme","id":"theme:f9c5bdba8b39fc877b41dea00fa756f9","is_default":0,"created_at":1684342262},"6426539e-4e43-4fef-ab5a-3eb7b2a8b057":{"title":"Eikra","condition":"eikra","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/eikra\/assets\/js\/","EikraObj"],"icon_url":"","type":"theme","id":"theme:55d2581ad975eb6325bc97fc3d3b0cb8","is_default":0,"created_at":1679738450},"59020bd6-069f-4f2d-afa2-fbdefa03211c":{"title":"Ekko","condition":"ekko","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ekko\/"],"icon_url":"","type":"theme","id":"theme:2c06f4a1949f8ba4e77042a47674fd9e","is_default":0,"created_at":1679737803},"d82f5cdd-c5d3-4596-94dc-1e25aaff2083":{"title":"Elessi","condition":"elessi-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elessi-theme\/assets\/js\/min\/functions.min.js","\/elessi-theme\/assets\/js\/min\/main.min.js"],"icon_url":"","type":"theme","id":"theme:d5d2b7fda7b8a2b5b91d430f7602e230","is_default":0,"created_at":1679737773},"f0587c21-54d0-429d-8efe-18a93dacb18d":{"id":"theme:5fc04cc678cb54567aedb51027933002","title":"Enfold","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/dynamic_avia\/avia-footer-scripts-(.*).js","var avia_is_mobile"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cc0550cb-918e-419d-b4f2-1809cf666dbb":{"id":"theme:eb759a03d0ca292c948f09d004a2963f","title":"Enfold - LayerSlider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","layerslider"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ec883654-4f63-4fae-a3ef-923dcbc2426d":{"title":"Enfold - Shortcodes","condition":"enfold","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/enfold\/js\/avia.js","\/enfold\/js\/shortcodes.js","\/enfold\/config-templatebuilder\/avia-shortcodes\/","\/enfold\/js\/avia-compat.js","\/enfold\/js\/waypoints\/waypoints.min.js","\/enfold\/js\/avia-snippet-(.*).js"],"icon_url":"","type":"theme","id":"theme:072fc4077d7071791d774d6ddbf5dc2a","is_default":0,"created_at":1684519716},"fe3546f0-be3e-4173-8992-a7f6f203b82f":{"title":"Envision","condition":"envision","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/envision\/lib\/js\/app.min.js","var CloudFwOp"],"is_default":1,"icon_url":"","type":"theme","id":"theme:fc5f7d69b646ed95835badc0fc23bc11","created_at":1679737494},"d997b942-19de-4710-9c81-79d3c65cbd76":{"id":"theme:047f009f2a1f4cdf2088c46be47e385b","title":"Ewebot","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/gt3-themes-core\/","\/uploads\/gt3-assets\/js\/(.*)","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"ewebot","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"53d29aec-8ae4-4273-b748-f5bd52dfe177":{"title":"Farvis","condition":"farvis","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/farvis\/"],"icon_url":"","type":"theme","id":"theme:26bff2f3a6ff6347d35edf5c77a35687","is_default":0,"created_at":1679737972},"fb01246b-a5f8-4021-b514-c02cf55e80bd":{"title":"Flatsome","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/assets\/libs\/packery.pkgd.min.js","\/flatsome\/assets\/js\/woocommerce.js"],"icon_url":"","type":"theme","id":"theme:26fb1cf80f074ca199d8a7e94c5fc796","is_default":0,"created_at":1679738732},"4d65dc12-9ce7-4171-94a7-9821fd95240e":{"id":"theme:28a6f8b3319c107a34603be0f01a4bcf","title":"Flatsome - Google map","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com","google.maps.LatLng","\/wp-includes\/js\/hoverIntent.min.js"],"is_default":0,"condition":"flatsome","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"890e15b6-c66b-4a9e-9b7d-55417df94916":{"title":"Flatsome - Images","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/inc\/integrations\/wp-rocket\/flatsome-wp-rocket.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/inc\/extensions\/flatsome-lazy-load\/flatsome-lazy-load.js"],"icon_url":"","type":"theme","id":"theme:f2d60aad9f2f5395e3e145cf8f8ab165","is_default":0,"created_at":1679737691},"cb54d070-8ee0-4c35-9fa9-b2bac73ccf39":{"title":"Frida","condition":"frida","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/frida\/"],"icon_url":"","type":"theme","id":"theme:109ddf56796a5133e12279f3daa5ff62","is_default":0,"created_at":1679738013},"9e78539a-03d9-442b-ab94-dd3b7a9658e4":{"id":"theme:80a330247d61d729fcd78dc01de6ed2f","title":"GeneratePress - Mobile menu","type":"theme","icon":"","exclusions":["\/generatepress\/assets\/js\/menu.min.js","generatepressMenu","\/gp-premium\/menu-plus\/functions\/js\/offside.min.js"],"is_default":0,"condition":"generatepress","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2c72e7e6-cb77-44e9-af87-d5c42ae6db52":{"title":"Honor - WPBakery fix","condition":"honor","exclusions":["\/honor\/js\/__scripts.js","HONOR_STORAGE","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:9f228373ff4d172655dbf5cb3b1bc23a","is_default":0,"created_at":1679736895},"9309d1d3-1035-4a2c-8ced-075bc3ff9957":{"title":"HotelMaster","condition":"hotelmaster","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/hotelmaster\/javascript\/gdlr-script.js","\/hotelmaster\/plugins\/dl-menu\/modernizr.custom.js","\/hotelmaster\/plugins\/dl-menu\/jquery.dlmenu.js","\/hotelmaster\/plugins\/superfish\/js\/superfish.js","\/hotelmaster\/plugins\/jquery.easing.js"],"icon_url":"","type":"theme","id":"theme:978eaddad3b1047e479407b6d92197aa","is_default":0,"created_at":1679738595},"4a09f745-cbb1-47c8-b50a-c8014d5d1335":{"id":"theme:e813a548bceac6765a1cdf2316f1a6ab","title":"HotelMaster - Blog","type":"theme","icon":"","exclusions":["\/wp-includes\/js\/masonry.min.js","\/gp-premium\/blog\/functions\/js\/scripts.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f2d8f704-ec68-4278-9ca2-885daa0c1ce5":{"id":"theme:398a264e302e42640553681e8759cd07","title":"HotelMaster - Masonry","type":"theme","icon":"","exclusions":["\/gp-premium\/menu-plus\/functions\/js\/offside.min.js","offSide"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"df52436c-53d6-461a-b81a-cd0b21680524":{"title":"JNews","condition":"jnews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/jnews\/assets\/js\/","jnews","jfla"],"icon_url":"","type":"theme","id":"theme:5d90e451984f9d894b1aabb0d00f30a2","is_default":0,"created_at":1679738860},"87ed69a2-3295-4fad-a82e-eeb02925a5dc":{"title":"Jobify","condition":"jobify","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/jobify\/js\/jobify.min.js","\/jobify\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:592006aa4562a6915e344e5e2a09e5ee","is_default":0,"created_at":1686856948},"28a0b1ea-8d2f-4931-a48a-166b8df8a773":{"title":"JOYN","condition":"joyn","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/lib\/modernizr-custom.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/spb-functions.min.js","\/swift-framework\/includes\/swift-slider\/assets\/js\/swift-slider.min.js","\/swift-framework\/public\/js\/lib\/imagesloaded.pkgd.min.js","\/joyn\/js\/owl.carousel.min.js","\/joyn\/js\/theme-scripts.js","\/joyn\/js\/functions.js"],"icon_url":"","type":"theme","id":"theme:c395470ad2d4d681836cd942bbb03120","is_default":0,"created_at":1679738527},"542be60a-2346-4740-9a41-8a580c4f013c":{"title":"Juno Toys","condition":"junotoys","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/junotoys\/fw\/js\/core.init.js","\/junotoys\/fw\/js\/core.utils.js","\/junotoys\/fw\/js\/superfish.js","\/junotoys\/fw\/js\/swiper\/swiper.js","\/trx_utils\/shortcodes\/theme.shortcodes.js","\/wp-includes\/js\/jquery\/ui\/(.*)"],"icon_url":"","type":"theme","id":"theme:2acab38e8356d36355bb81d931e7fba4","is_default":0,"created_at":1679737788},"06167710-10c7-446e-a08b-ce676e444102":{"title":"Jupiter","condition":"jupiter","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiter\/","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:89c5c30498c2989611f9044be006197c","is_default":0,"created_at":1679738430},"5d042e1f-7e62-4ec4-ba31-30d396004522":{"title":"JupiterX","condition":"jupiterx","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiterx\/(.*).js","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:b06632962a4948d4944fd8d79ffbfceb","is_default":0,"created_at":1679737312},"c4b030ea-66a1-4729-85bf-a484e373a316":{"title":"Kadence","condition":"kadence","exclusions":["\/kadence\/assets\/js\/navigation.min.js","mobile_menu_breakpoint ","kadenceConfig"],"icon_url":"","type":"theme","id":"theme:4b7907ee68218db279648da9bf7102d1","is_default":0,"created_at":1679737958},"20c605b4-3e3a-4bb0-a5e5-a08e2cb0f31f":{"title":"Kalium","condition":"kalium","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kalium\/assets\/js\/main.min.js","mobile_menu_breakpoint","var _k"],"icon_url":"","type":"theme","id":"theme:1fcb99a1ab06e1e36635365ed3e59ce5","is_default":0,"created_at":1679737406},"e1e04a7d-635a-4e28-83d9-e345ce40e354":{"title":"Kava","condition":"kava","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kava\/assets\/js\/theme-script.js"],"icon_url":"","type":"theme","id":"theme:359d67efbf530c998245225dd3245a88","is_default":0,"created_at":1679738609},"e833c36e-ee89-4924-b608-3f28327c2f85":{"title":"Lay","condition":"lay","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/backbone.min.js","\/wp-includes\/js\/underscore.min.js","\/lay\/","\/laytheme-carousel\/","window.laytheme"],"icon_url":"","type":"theme","id":"theme:7c718c6da874ea6e4b27c6d70bc4e7e8","is_default":0,"created_at":1679737453},"2df2ef47-a833-4711-ba54-48dc62586f37":{"id":"theme:85d9922ac61ed833fd047a67029df8e5","title":"LazaNews","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery.custom.js"],"is_default":0,"condition":"lazanews","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9443304a-34e9-4700-a03a-5f8f62f83ed1":{"title":"Listeo","condition":"listeo","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listeo\/js\/"],"icon_url":"","type":"theme","id":"theme:db7da585545001f5ae614a2810f08f3a","is_default":0,"created_at":1679737244},"77afa73c-c4a8-42a8-aaee-43f6a761364e":{"title":"ListingPro","condition":"listingpro","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listingpro\/assets\/lib\/jquerym.menu\/js\/jquery.mmenu.min.all.js","\/listingpro\/assets\/lib\/Magnific-Popup-master\/jquery.magnific-popup.min.js","\/listingpro\/assets\/js\/select2.full.min.js","\/listingpro\/assets\/js\/jquery.city-autocomplete.js","\/listingpro\/assets\/js\/chosen.jquery.min.js","\/listingpro\/assets\/lib\/bootstrap\/js\/bootstrap-slider.js","\/listingpro\/assets\/js\/jquery-ui.js","\/listingpro\/assets\/js\/mapbox.js","\/listingpro\/assets\/js\/main.js","\/listingpro\/assets\/js\/leaflet.markercluster.js","maps"],"icon_url":"","type":"theme","id":"theme:0b365e43dfc65d2b1b70fac6510c7c9c","is_default":0,"created_at":1679737938},"01b369b5-b578-4314-8e95-40b67a41d75a":{"title":"Master Study","condition":"masterstudy","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/masterstudy\/assets\/js\/custom.js ","\/masterstudy\/assets\/vendors\/jquery.fancybox.min.js ","\/masterstudy\/assets\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:0ee224c20e4ef7d546733d933db598f2","is_default":0,"created_at":1679737878},"6b000cc7-d33b-4109-9c39-6119a5d81cde":{"title":"Maya","condition":"maya","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maya\/js\/jquery.mobilemenu.js","\/maya\/js\/jquery.custom.js","\/maya\/core\/includes\/js\/jquery.tipsy.js"],"icon_url":"","type":"theme","id":"theme:719fe28004fcdd81a820602924aa8074","is_default":0,"created_at":1679737916},"ef3c76d6-1041-473d-81ea-a5a6e8c86735":{"title":"MH Magazine","condition":"mh-magazine","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/mh-magazine\/"],"icon_url":"","type":"theme","id":"theme:2a0cd6efc2f46be69de61712729a2ec9","is_default":0,"created_at":1679737743},"9cbb2777-5524-43b8-af36-692b27452c0d":{"title":"Minimog","condition":"minimog","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/minimog\/"],"icon_url":"","type":"theme","id":"theme:61c0c235042359ee7d2a9035e79a7da2","is_default":0,"created_at":1679738135},"7eb81c74-8062-4a6c-bf66-b7c5bc160141":{"title":"Moozo Elementor","condition":"moozo-elementor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/moozo-elementor\/assets\/js\/countdown.js","\/moozo-elementor\/assets\/vendor\/countdown\/countdown.min.js"],"icon_url":"","type":"theme","id":"theme:2ddb538c8e6b6c766fffd0d5c861fd82","is_default":0,"created_at":1679738623},"e90b7bfa-9ff6-4e1a-bf29-6207d55fdd39":{"title":"Motor","condition":"motor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/motor\/js\/"],"icon_url":"","type":"theme","id":"theme:b33538179f5661a86cbe327a1793e199","is_default":0,"created_at":1683973354},"445e625a-f955-41fa-84de-65d9ea19be07":{"title":"My Listing","condition":"my-listing","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/my-listing\/assets\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","maps.googleapis.com","MyListing","_Explore_Settings"],"icon_url":"","type":"theme","id":"theme:afacb777229ddf5cabceacc64948057d","is_default":0,"created_at":1679737725},"00b8cd2d-2781-4fbb-ac5d-00750ba94ac9":{"title":"Neve - Mobile menu","condition":"neve","exclusions":["\/neve\/assets\/js\/build\/modern\/frontend.js"],"icon_url":"","type":"theme","id":"theme:5ae731cc06dd9284f8172675a6fe81ab","is_default":0,"created_at":1679738714},"483abc54-f1fc-47dc-bfc1-a269c7d1c849":{"id":"theme:649ff22527bac2b1c8e0115cd3851d53","title":"Newspaper - Images","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"50db8d14-d421-4237-be14-a6f7b5c11ec5":{"id":"theme:7e2eeee57ae458c5959342eda6526bf1","title":"Newspaper - Slider & YouTube","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray","tdb_globals","td_youtube_list_ids","iosSlider","\/td-cloud-library\/assets\/js\/js_files_for_front.min.js"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"514f4c30-2b67-4648-960e-dfe1cc401ca5":{"title":"Niva","condition":"niva","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/niva\/js\/","\/sweetthemes-framework\/js\/","mt_typed"],"icon_url":"","type":"theme","id":"theme:c4838f73a344b829ed626635e210dcf4","is_default":0,"created_at":1679738256},"e67ee504-c3b1-455e-88ab-1fae8c830652":{"title":"OceanWP","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/oceanwp\/"],"icon_url":"","type":"theme","id":"theme:db37af4b7d12695d37d9256313a5f37a","is_default":0,"created_at":1679737552},"e44e240a-8765-4f4f-b67e-d54e4b727506":{"title":"OceanWP - Mobile menu","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ocean-side-panel\/assets\/js\/side-panel.min.js","\/oceanwp\/assets\/js\/theme.vanilla.min.js"],"icon_url":"","type":"theme","id":"theme:9babbcd52b2ce558d299a06cd1130a11","is_default":0,"created_at":1679738463},"897b0100-958d-4a02-b6b2-1e753e9869f4":{"title":"PenNews","condition":"pennews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/pennews\/js\/script.min.js","\/pennews\/js\/script.lib.min.js"],"icon_url":"","type":"theme","id":"theme:02811fa00bc1471bb5be0457ce0ee005","is_default":0,"created_at":1679737471},"edd3ba03-e0fd-4b6e-911b-60b29f3471bf":{"title":"Pharmacy Mentor","condition":"pharmacymentor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/pharmacymentor\/"],"icon_url":"","type":"theme","id":"theme:3188aaf1ef2c39937450f2a14ebb1174","is_default":0,"created_at":1679738214},"725415ff-cc76-45cc-a131-3170e5aa30fc":{"title":"Porto","condition":"porto","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme.js","\/porto\/js\/theme.min.js"],"icon_url":"","type":"theme","id":"theme:8493f398f200c8dffe60d46439dd3360","is_default":0,"created_at":1679737758},"2c19bcec-f3ff-4873-bfd7-db6bc0f6433c":{"title":"Porto - Owl Carousel","condition":"porto","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme(|.min).js","\/porto\/js\/libs\/owl.carousel(|.min).js","\/porto\/js\/theme-async(|.min).js","\/prettyPhoto\/jquery.prettyPhoto(|.min).js"],"icon_url":"","type":"theme","id":"theme:f34f5199fb7fca78852cd3fb7758f178","is_default":0,"created_at":1687527252},"31347ccb-f69e-4cd3-bd47-b80ce14ac76e":{"title":"ProPhoto","condition":"prophoto7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/prophoto7\/js\/bundle.front.js","\/wp-includes\/js\/underscore.min.js","PROPHOTO"],"icon_url":"","type":"theme","id":"theme:a5836a56c4472fade4dc6ebfe2281554","is_default":0,"created_at":1679737425},"a8208c04-865c-49aa-ab96-41e378d391c8":{"title":"Publisher","condition":"publisher","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/publisher\/js\/"],"icon_url":"","type":"theme","id":"theme:32c73be0cb175da278c8e2af0811b0d1","is_default":0,"created_at":1679738169},"a0d69f3d-1356-4a1d-a600-2f2f788b8a9a":{"title":"REHub","condition":"rehub-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rehub-theme\/js\/custom_floatpanel.js"],"icon_url":"","type":"theme","id":"theme:321af1febb74f488cf911380893739b2","is_default":0,"created_at":1679738502},"8b74bbe5-7f32-42df-908f-78c99a8cad82":{"title":"Rey","condition":"rey","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rey\/scripts-(.*).js","\/rey-core\/assets\/js\/"],"icon_url":"","type":"theme","id":"theme:e46567cd0f3ec9b37e7230dc87eac367","is_default":0,"created_at":1679737011},"5c9115d3-bcbd-49d6-8feb-4880d2b82bfe":{"title":"Rife Free","condition":"rife-free","exclusions":["\/rife-free\/js\/script.min.js","\/rife-free\/js\/isotope.pkgd.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","var reJS"],"icon_url":"","type":"theme","id":"theme:74a449954de79625eccc6750e87af8f6","is_default":0,"created_at":1679738107},"6542b2fd-1f91-4862-aa18-11eecc02faaf":{"title":"Roisin","condition":"roisin","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/themes\/roisin\/assets\/js\/main.min.js","\/plugins\/roisin-core\/assets\/js\/roisin-core.min.js","\/wp-includes\/js\/hoverIntent.min.js"],"icon_url":"","type":"theme","id":"theme:8f38fe58034772931110930b91cb6797","is_default":0,"created_at":1685964523},"5a192ad9-d150-4aa0-8efc-d68131cb7a37":{"title":"Sahifa - Mobile Menu","condition":"sahifa","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/themes\/sahifa\/js\/ilightbox.packed.js","\/translate_a\/element.js"],"icon_url":"","type":"theme","id":"theme:06ebe49f4c1e5b04cece831f8bb198a3","is_default":0,"created_at":1687540363},"7ae9d978-d63c-4a58-beb3-418bebb5b23c":{"title":"Salient","condition":"salient","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/salient\/","winW > bodyW"],"icon_url":"","type":"theme","id":"theme:b3e12d57ac23897be1bb2c673e3fc761","is_default":0,"created_at":1679736950},"35aaa6c5-4a37-4161-b504-fb3ebc4b1148":{"id":"theme:d612db1dd8dc76faa6a36a9ebfd336dc","title":"Salient - Nectar slider","type":"theme","icon":"","exclusions":["\/salient-nectar-slider\/js\/nectar-slider.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"salient","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"84c95206-3e59-4eb3-a0c9-e2231a1c0a48":{"title":"SEO Lounge","condition":"seolounge","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/seolounge\/js\/radiantthemes-custom.js","\/seolounge\/js\/radiantthemes-core.min.js"],"icon_url":"","type":"theme","id":"theme:3d72b779d9c4ba6b51cc5b245b141433","is_default":0,"created_at":1691695809},"cd44aa56-088a-40dd-bf1e-f835efa68626":{"title":"Shoptimizer","condition":"shoptimizer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shoptimizer\/assets\/js\/lazyload-bg.js","\/shoptimizer\/assets\/js\/main.min.js"],"icon_url":"","type":"theme","id":"theme:6c32b43f4da639e5901574fac6b7d387","is_default":0,"created_at":1679737143},"d2c48a48-430a-4eea-bc05-99b66f1f6a7b":{"title":"SmartMag","condition":"smart-mag","exclusions":["\/smart-mag\/js\/lazyload.js"],"icon_url":"","type":"theme","id":"theme:23d6b7878bd0087addb067db3fa39864","is_default":0,"created_at":1679738490},"dd0d9133-ef17-4dac-b174-9f25d535838f":{"title":"Soledad","condition":"soledad","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/soledad\/js\/main.js","\/soledad\/js\/more-post.js","\/soledad\/js\/libs-script.min.js"],"icon_url":"","type":"theme","id":"theme:d3f78b26c2d11c99230171cc6378d06e","is_default":0,"created_at":1679737664},"d657dc56-5c04-439a-8987-401f89a65bf9":{"title":"Stockholm","condition":"stockholm","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/stockholm\/js\/"],"icon_url":"","type":"theme","id":"theme:fcfff492e00727b63cf5dff9f59bc2a4","is_default":0,"created_at":1679738378},"121f9b1b-d3cd-4dde-915e-0b348abf6687":{"title":"Storefront","condition":"storefront","exclusions":["\/storefront\/assets\/js\/navigation.min.js"],"icon_url":"","type":"theme","id":"theme:f0dca7e4eaedf573d4664be249845942","is_default":0,"created_at":1679738793},"41cfc83f-ff02-4a35-a3b7-e92db213b224":{"title":"StreamTube","condition":"streamtube","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/streamtube\/","\/streamtube-core\/"],"icon_url":"","type":"theme","id":"theme:9772ccddd470688f6bc6aee86e34d29b","is_default":0,"created_at":1679331431},"aec0a548-4c6b-400a-80ed-19a49e0faef0":{"title":"The7","condition":"dt-the7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","loader-removed","\/Ultimate_VC_Addons\/assets\/min-js\/","\/dt-the7\/","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:7934c689fd20e30b6bfc69bb9d46cb63","is_default":0,"created_at":1679737892},"538354ff-d69f-40be-b0cc-df3790599dd2":{"title":"TheGem","condition":"thegem","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thegem\/js\/","gemSettings","thegemSlideshow","tgpLazyItemsOptions"],"icon_url":"","type":"theme","id":"theme:153c54fe73897da838ce39152b1db5a8","is_default":0,"created_at":1679738477},"68f2de3b-e2b8-4edf-b82f-93fd7834c65f":{"title":"Total","condition":"Total","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Total\/assets\/js\/total.min.js"],"icon_url":"","type":"theme","id":"theme:96b0141273eabab320119c467cdcaf17","is_default":0,"created_at":1679737571},"6dc1cb35-6b50-4da0-9834-dddf169edaa6":{"id":"theme:7c37c885d7fecf788f635734f99e8610","title":"Townhub","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/townhub-add-ons\/assets\/js\/(.*)","\/wp-includes\/js\/dist\/vendor\/react.js","\/wp-includes\/js\/dist\/vendor\/react-dom.js"],"is_default":0,"condition":"townhub","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f484f86b-e316-4871-9322-dee3925349fe":{"title":"Travel Monster - Owl Carousel","condition":"travel-monster","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/wp-travel-engine\/assets\/lib\/owl-carousel(.*)\/owl.carousel(|.min).js","var isRtl"],"icon_url":"","type":"theme","id":"theme:d3e8da87b3affd399205438fbc8a4f05","is_default":0,"created_at":1690822771},"14cb0a85-8bee-491e-99d7-5f20a07f4bdd":{"title":"Uncode","condition":"uncode","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uncode\/library\/js\/init(.min)?.js","\/uncode\/library\/js\/plugins(.min)?.js","\/uncode\/library\/js\/app(.min)?.js","\/uncode\/library\/js\/woocommerce-uncode(.min)?.js","\/wp-includes\/js\/mediaelement\/mediaelement-and-player.min.js","initHeader","initBox","fixMenuHeight","initRow"],"icon_url":"","type":"theme","id":"theme:18ba19b98aefbb6c0fde6c6bf92e9cfc","is_default":0,"created_at":1679738154},"88e96479-1aa2-4adc-8f07-20bc0368a63f":{"title":"Werkstatt","condition":"werkstatt","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js\/underscore.min.js","\/werkstatt\/assets\/js\/vendor.min.js","\/werkstatt\/assets\/js\/fullscreen.min.js","\/werkstatt\/assets\/js\/app.min.js"],"icon_url":"","type":"theme","id":"theme:38faa29db5a07b8fef6aee9cc11cafec","is_default":0,"created_at":1679737639},"60c4110b-a960-4d44-b619-6d79514dbf75":{"title":"Woodmart","condition":"woodmart","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/imagesloaded.min.js","\/woodmart\/js\/scripts\/wc\/","\/woodmart\/js\/scripts\/global\/","\/woodmart\/js\/libs\/owl.carousel.min.js","\/woodmart\/js\/libs\/owl.carousel.js","\/woodmart\/js\/libs\/slick.js"],"icon_url":"","type":"theme","id":"theme:06338f13cb89e5309ad2eb7e4d457be4","is_default":0,"created_at":1679738777},"119ebd1c-6b46-4f07-8d6a-3498d9c8814f":{"title":"XStore","condition":"xstore","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/xstore\/js\/","\/et-core-plugin\/packages\/st-woo-swatches\/public\/js\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3de9d9ba385200548f177d9c704ae92a","is_default":0,"created_at":1679738190},"9a7a548c-07a1-4dff-93fc-6e8230b67853":{"id":"theme:119d329456073aa10969d7cbd9760f28","title":"YOOtheme Pro","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","uikit.min.js"],"is_default":0,"condition":"yootheme","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f74c499e-b7d9-4590-8671-379f51f468c8":{"title":"Zeen","condition":"zeen","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/zeen\/assets\/js\/","\/js.cookie.min.js"],"icon_url":"","type":"theme","id":"theme:acb52844f996627788836366404a3245","is_default":0,"created_at":1679737859}},"scripts":{"dd0c5a5b-ec56-49f9-9aa4-89e1e3a6a28a":{"title":"Amazon Ads","exclusions":["amazon-adsystem.com"],"icon_url":"","type":"script","id":"script:b82a5936d8ea0745016caeb71629ae5d","is_default":0,"created_at":1681390276},"980edf32-c64b-4370-bf23-c62b079e71c3":{"title":"Google AdSense","exclusions":["adsbygoogle"],"icon_url":"","type":"script","id":"script:0206e6040c8ff64b8d6ee5fef2ce1c90","is_default":0,"created_at":1681377840},"2499bb90-0753-4b2b-9bd4-1525f94c7437":{"title":"Google Analytics","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('"],"icon_url":"","type":"script","id":"script:d86cf69a8b82547a94ca3f6a307cf9a6","is_default":0,"created_at":1681388311},"6f460036-3106-4b8c-9951-d32de9b1258f":{"title":"Google Maps","exclusions":["maps.googleapis.com","maps.google.com"],"icon_url":"","type":"script","id":"script:4d60ab2c6d11d753267484006c23e54c","is_default":0,"created_at":1681390259},"ac2d5720-9418-468c-80a0-3874ee743c0f":{"title":"Google Optimize","exclusions":["a,s,y,n,c,h,i,d,e","googleoptimize.com\/optimize.js","async-hide"],"icon_url":"","type":"script","id":"script:031a0cece38c4739df67f910dcabf1bd","is_default":0,"created_at":1681390261},"122e6ebb-51fd-477f-97fb-559593f1a48b":{"title":"Google Recaptcha","exclusions":["recaptcha"],"icon_url":"","type":"script","id":"script:032cb16577cbf07bc7c02bac83bd936d","is_default":0,"created_at":1681390264},"219277ae-b2ac-4d42-913d-eaea40985295":{"title":"Google Tag Manager","exclusions":["\/gtag\/js","gtag\\(","\/gtm.js","async-hide"],"icon_url":"","type":"script","id":"script:1d3c65b2b03ef35e14df6b163ea3a1f6","is_default":0,"created_at":1681390266},"f632e3f4-20e6-471e-a78d-86afbea63586":{"title":"HubSpot","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","js.hsforms.net","hbspt.forms.create"],"icon_url":"","type":"script","id":"script:de4bd8ef4675ebb85a055955de76d0ee","is_default":0,"created_at":1679331623},"5d606add-ffb8-4a06-b295-5f722710fbfd":{"title":"Refari","exclusions":["widget.refari.co","refari"],"icon_url":"","type":"script","id":"script:a705e197b13b47e72a105c923e044358","is_default":0,"created_at":1683797056},"742ec14a-27a1-4789-b9c8-a9c3a3cf7042":{"title":"Reviews.io","exclusions":["\/carousel-inline-iframeless\/dist.js","carouselInlineWidget"],"icon_url":"","type":"script","id":"script:4df445c576f45889506ba175a4c39fdc","is_default":0,"created_at":1684389426},"05d3eb78-f574-49be-95e1-3f11714005d1":{"id":"script:ce7566d1d08cc094b74cf283cf9c56a5","title":"Stripe","type":"script","icon":"","exclusions":["js.stripe.com"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b56bf06c-2f8c-4757-b536-a689fb0e75f9":{"title":"Typekit","exclusions":["typekit"],"icon_url":"","type":"script","id":"script:7815e38b93e3b500a632681bd594bd61","is_default":0,"created_at":1681390268},"49c38c0a-43b9-4237-88cb-57ddd519f0ad":{"title":"Venatus Media","exclusions":["\/ad-manager.min.js","__vm_add"],"icon_url":"","type":"script","id":"script:abe11528732aed9a19a97e73b242faa5","is_default":0,"created_at":1681390272},"2c1d0998-8ab5-478c-8eb9-9e375b46363e":{"title":"Wistia","exclusions":["fast.wistia.com"],"icon_url":"","type":"script","id":"script:9a0111f8c3186c1cb3113587c660c041","is_default":0,"created_at":1681390274},"0627fe24-7e9d-400f-b064-d98bec2ba85e":{"id":"script:dbd1875130c71eb4b2ef768ad18d820c","title":"Yandex Ads","type":"script","icon":"","exclusions":["yandex.ru","window.yaContextCb"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""}}}
\ No newline at end of file
+{"plugins":{"ffc21030-519a-4853-8cea-49f959e82731":{"id":"plugin:def67a2c1ddd6df2353e4772b6fd4e5b","title":"Additional Variation Images Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woo-variation-gallery\/assets\/js\/slick.min.js","\/woo-variation-gallery\/assets\/js\/frontend.min.js","\/wp-includes\/js\/underscore.min.js","variation_custom_fields"],"is_default":0,"condition":"woo-variation-gallery\/woo-variation-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"0e7dc253-acd0-4421-877f-a7101d848717":{"id":"plugin:4b82cc7379d46c6272f5d556bb264eec","title":"Advanced Ads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/(.*).js","advanced_ads_ready","advadsCfpQueue","adsbygoogle","adservice.google","\/advanced-ads(.*)","advads_items","advads_tracking_ads"],"is_default":0,"condition":"advanced-ads\/advanced-ads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a4d5c058-9120-47ee-977c-f30f83fb1a75":{"id":"plugin:a076fbb79772f497349a76ee74a7f708","title":"All-in-one Compliance for GDPR \/ CCPA Cookie Consent","type":"plugin","icon":"","exclusions":["iubenda_cs.js","var _iub"],"is_default":0,"condition":"iubenda-cookie-law-solution\/iubenda_cookie_solution.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"79a5082f-821a-4a4b-a0e3-caaf22cf3f75":{"id":"plugin:9bdceaa1bb89135730a3b2aa4db94c22","title":"AMO Team Showcase","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/amo-team-showcase\/public\/js\/wookmark.js","\/amo-team-showcase\/public\/js\/amo-team-showcase-public.js","\/wp-includes\/js\/imagesloaded.min.js","amoTeamVars"],"is_default":0,"condition":"amo-team-showcase\/amo-team-showcase.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d058cae-4460-4354-bab3-a96445650bd8":{"id":"plugin:b739df50f3f5bf400075f17dca652517","title":"AnyWhere Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/anywhere-elementor-pro\/build\/index.js"],"is_default":0,"condition":"anywhere-elementor-pro\/anywhere-elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a1614c7-55b1-4b6d-88e5-6e8ddc630dae":{"id":"plugin:46741e77eaf4d13a0c80be6b86379758","title":"Astra - Pro Addon","type":"plugin","icon":"","exclusions":["\/astra-addon\/astra-addon-(.*).js"],"is_default":0,"condition":"astra-addon\/astra-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"37d96403-f9ea-4481-b2f8-374d7c93e61a":{"id":"plugin:ccd87807930a1856717fd276c336db9a","title":"Beaver Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/bb-plugin\/","\/bb-plugin\/js\/yui3.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/bb-plugin\/js\/fl-slideshow.min.js"],"is_default":0,"condition":"beaver-builder-lite-version\/fl-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f83dbf3b-783e-4ef9-9b18-8a469ca7102d":{"title":"Bloom","condition":"bloom\/bloom.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bloom\/"],"icon_url":"","type":"plugin","id":"plugin:e57cdfbc09f4e0f7445c279d9f580bdd","is_default":0,"created_at":1685189070},"135aadd2-cd4a-44ae-8dcf-801f3f2316c0":{"id":"plugin:055ef01accbad6378e3d1a4965600964","title":"Booked","type":"plugin","icon":"","exclusions":["\/booked\/","\/js\/jquery\/ui\/datepicker.min.js"],"is_default":0,"condition":"booked\/booked.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ddfee9b0-e5a9-4d3f-8c21-b999cbb61c33":{"id":"plugin:492f9b0d55f3bf07c68e915ea1dfb72a","title":"Bookly","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/bookly-responsive-appointment-booking-tool\/frontend\/","window.bookly"],"is_default":0,"condition":"bookly-responsive-appointment-booking-tool\/main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a013fd6-0881-4dbe-8e93-33edefe7f717":{"id":"plugin:e1ec2daca513de476bd3dae79366e9ab","title":"Borlabs Cookie","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","borlabsCookieConfig","borlabs-cookie.min.js","borlabsCookieContentBlocker","BorlabsCookieBox"],"is_default":0,"condition":"borlabs-cookie\/borlabs-cookie.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3999e680-4049-4494-945c-768cecc1a2c4":{"id":"plugin:43019d66af7b41e65bb602c01e10c6a0","title":"Brizy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/group-(.*).js","\/brizy\/public\/editor-build\/(.*)-wp\/editor\/js\/preview.js","Brizy.emit"],"is_default":0,"condition":"brizy\/brizy.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"af4d9357-3def-42a1-86b7-419553444b4d":{"id":"plugin:5c317f9f244597d8f236ecb7d8e41752","title":"Carousel Upsells and Related Product for WooCommerce","type":"plugin","icon":"","exclusions":["\/carousel-upsells-and-related-product-for-woocommerce\/assets\/js\/glide.min.js","carusel_poduct_related"],"is_default":0,"condition":"carousel-upsells-and-related-product-for-woocommerce\/ffxf-woo-glide-related-and-upsells.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1d866d90-5451-43ba-a4d1-75b64f9235e1":{"id":"plugin:0a3a29603ebac8fe0808f64f5c8edbb2","title":"clickskeks.at Cookiebanner","type":"plugin","icon":"","exclusions":["clickskeks"],"is_default":0,"condition":"clickskeks\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c09695cc-2387-4416-881a-c0b392188a26":{"title":"Complianz","condition":"complianz-gdpr\/complianz-gpdr.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","complianz"],"icon_url":"","type":"plugin","id":"plugin:a766f95208154cd69a3e15150a42f325","is_default":0,"created_at":1685188788},"7e551e3b-fbe4-4235-87a9-b476bc9e2020":{"id":"plugin:949b1b923d51d10a2fb67a2a39d166b3","title":"Content Egg","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/content-egg\/res\/js\/morrisjs\/morris.min.js","\/content-egg\/res\/js\/morrisjs\/raphael.min.js","Morris.Area"],"is_default":0,"condition":"content-egg\/content-egg.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7fbca6c5-9239-4550-a755-6f041f867a57":{"title":"Cookie Notice & Compliance for GDPR \/ CCPA","condition":"cookie-notice\/cookie-notice.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/cookie-notice\/","var cnArgs"],"icon_url":"","type":"plugin","id":"plugin:213d0f883ae27aefb3a7937656bbd11e","is_default":0,"created_at":1681379736},"26722567-fe35-44b5-a5a7-fb0f3a38c3f2":{"id":"plugin:1d10ad30bbcf0fd4b26e9625a07abcfc","title":"Cookiebot CMP","type":"plugin","icon":"","exclusions":["consent.cookiebot.com"],"is_default":0,"condition":"cookiebot\/cookiebot.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"74110e36-89e5-440d-bec3-7133da3277c2":{"id":"plugin:edcf103293ceab711e999d419d038ca1","title":"Coupon Referral Program","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/coupon-referral-program\/","\/wp-includes\/js\/jquery\/ui\/draggable.min.js"],"is_default":0,"condition":"coupon-referral-program\/coupon-referral-program.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ed63e02f-d6c5-481a-bcb9-aae15f72aa21":{"id":"plugin:c3e26264dcfd25802805b4fd1a2a449c","title":"Crisp - Live Chat and Chatbot","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","CRISP_RUNTIME_CONFIG","l.js"],"is_default":0,"condition":"crisp\/crisp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8eb622b-279c-4f84-86e0-785e9497add7":{"id":"plugin:6e4bf949e12f0bebfefb48f6c316102a","title":"Custom Twitter Feeds pro","type":"plugin","icon":"","exclusions":["\/custom-twitter-feeds-pro\/js\/ctf-scripts.min.js"],"is_default":0,"condition":"custom-twitter-feeds-pro\/custom-twitter-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"1624ef15-e25b-406d-bdf9-d4b78d7a59e7":{"id":"plugin:1f893b343e72ce55e6c9013fbda172fa","title":"Customer Reviews for WooCommerce Plugin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/customer-reviews-woocommerce\/js\/colcade.js"],"is_default":0,"condition":"customer-reviews-woocommerce\/ivole.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c15fe3b3-0eaa-48f9-bf04-0e778b1f8c63":{"title":"Divi - Supreme","condition":"supreme-modules-for-divi\/supreme-modules-for-divi.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/supreme-modules-for-divi\/"],"icon_url":"","type":"plugin","id":"plugin:b5489ae4d8b949f536d6dd2e5b0c1a95","is_default":0,"created_at":1679738701},"dd31451b-989a-4517-b02a-e2c2e2023366":{"id":"plugin:5caed322df984bbfd3ecb506cf12b688","title":"Divi Den Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ddpro\/build\/freddie\/js\/freddieScriptPageTransition.js","\/ddpro\/build\/freddie\/js\/freddieScriptsHeaders.js","\/ddpro\/build\/freddie\/js\/freddieScriptsContents.js","\/ddpro\/build\/freddie\/js\/gsap\/gsap.min.js"],"is_default":0,"condition":"ddpro\/ddpro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2b006370-cc90-42c1-9656-a30fbfbc91c6":{"id":"plugin:402d9b241b04934dd30f32e7ba490e63","title":"Divi Mobile","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","divi-menu","dm_nav"],"is_default":0,"condition":"divi-mobile\/divi-mobile.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"666bbed9-7ce3-457c-ad6e-b5e056d05010":{"title":"Divi Overlays","condition":"divi-overlays\/divi-overlays.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","var DIVI","\/divi-overlays\/"],"icon_url":"","type":"plugin","id":"plugin:1c828c93d87298d2a27c76e13d0880ba","is_default":0,"created_at":1679738664},"42a404af-7792-44be-9baa-565dc3baf25d":{"title":"Divi Pixel","condition":"divi-pixel\/divi-pixel.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/divi-pixel\/dist\/public\/js\/hamburger.min.js"],"icon_url":"","type":"plugin","id":"plugin:dd2494945a487a6cc74d3ab1b2137ccb","is_default":0,"created_at":1686859169},"85f5c099-c481-4c38-bbb9-8b76113bdfd5":{"title":"Divi Supreme Pro","condition":"supreme-modules-pro-for-divi\/supreme-modules-pro-for-divi.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","elm.style.display","\/supreme-modules-pro-for-divi\/includes\/modules\/ImageCarousel\/frontend.min.js","\/supreme-modules-pro-for-divi\/public\/js\/swiper-bundle.min.js"],"icon_url":"","type":"plugin","id":"plugin:3d5f0ae7751702fd1bb490fcf991a334","is_default":0,"created_at":1695118162},"0b78d762-c7be-45de-9aae-0c5078ec0619":{"id":"plugin:b5fc0101608d0b0627268dc49e3e1f8f","title":"Divi Toolbox","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","jQuery('.preloader')","\/divi-toolbox\/assets\/js\/toolbox-scripts.js"],"is_default":0,"condition":"divi-toolbox\/divi-toolbox.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8baba0f8-4449-47d8-a87d-9b6a116e7684":{"title":"Dynamic Pricing & Discounts Lite for WooCommerce","condition":"woo-dynamic-pricing-discounts-lite\/dynamic-pricing-discounts-lite-for-woocommerce.php","exclusions":["\/woo-dynamic-pricing-discounts-lite\/assets\/OwlCarousel\/dist\/owl.carousel.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:185062bf08db42515488e1853d1f4917","is_default":0,"created_at":1677857247},"0fa129f2-5869-4db7-9bf0-69e4b3549ee2":{"id":"plugin:27478327aa44075a86176fad95640d76","title":"Dynamic Product Gallery for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-dynamic-gallery\/","a3revWCDynamicGallery"],"is_default":0,"condition":"woocommerce-dynamic-gallery\/wc_dynamic_gallery_woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"9958c6be-2f67-4791-95c3-a7ad96d599c0":{"title":"Dynamic Product Gallery Premium for WooCommerce","condition":"woocommerce-dynamic-gallery-pro\/wc_dynamic_gallery_woocommerce.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/woocommerce-dynamic-gallery-pro\/assets\/js\/mygallery\/jquery.a3-dgallery.js","settings_defaults_","a3revWCDynamicGallery"],"icon_url":"","type":"plugin","id":"plugin:11dc02a76019f00422f4ac85f47f5135","is_default":0,"created_at":1683208937},"ce26ed21-1be5-481f-80d4-31edfac6d890":{"title":"Dynamic.ooo - Dynamic Content for Elementor","condition":"dynamic-content-for-elementor\/dynamic-content-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/dynamic-content-for-elementor\/assets\/","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:d2bd5b348abe016bdc722acce7755062","is_default":0,"created_at":1683355024},"6a3161a6-1a6f-457a-a9ee-54b376981927":{"id":"plugin:ee1dec033c6481a77fe88de5bef1a02d","title":"Easy Table of Contents","type":"plugin","icon":"","exclusions":["\/easy-table-of-contents\/assets\/js\/front.min.js"],"is_default":0,"condition":"easy-table-of-contents\/easy-table-of-contents.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25a534a0-2c1f-4cf4-9e19-7941bc032b3a":{"id":"plugin:41c8f5f0ab00cb39654aedd783d194e0","title":"Ecwid Ecommerce Shopping Cart","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","app.ecwid.com\/script.js ","\/ecwid-shopping-cart\/js\/frontend.js ","\/ecwid-shopping-cart\/js\/static-page.js ","ecwidParamswindow.ec ","jQuery.mobile ","xSearch ","xCategoriesV2 ","xProductBrowser ","Ecwid.init"],"is_default":0,"condition":"ecwid-shopping-cart\/ecwid-shopping-cart.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40464325-5bae-4a20-bc97-553499e09a73":{"title":"Elementor","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:1d15783218a3137bec4ee8df5353e218","is_default":0,"created_at":1694425872},"ac86b64c-c80a-4053-894d-6caa8b4fdce8":{"title":"Elementor Loop Carrousel","condition":"elementor\/elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"icon_url":"","type":"plugin","id":"plugin:0eb8d0bbd1c7ca05ac133ea634f676b7","is_default":0,"created_at":1694442056},"a8fc9fd1-f6d3-41eb-abe9-ef176de6d7e2":{"title":"Elementor - Lazy Load Background Images","condition":"elementor\/elementor.php","exclusions":["lazyloadRunObserver"],"icon_url":"","type":"plugin","id":"plugin:bf248cb2876558452a566c5dd89262b8","is_default":0,"created_at":1694453032},"1948aff5-7850-4979-91fa-0ce181484508":{"id":"plugin:de658ae6c2d05a5a4a947efecf5e0c16","title":"Elementor Custom Skin","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ele-custom-skin(.*)\/assets\/js\/"],"is_default":0,"condition":"ele-custom-skin\/ele-custom-skin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"25708299-c596-4416-8ad8-740aee0f2752":{"title":"Elementor Pro","condition":"elementor-pro\/elementor-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig","\/happy-elementor-addons-pro\/","\/header-footer-elementor\/inc\/js\/frontend.js"],"icon_url":"","type":"plugin","id":"plugin:030ad23e3851ed7adfa7b9b6c13cf5a6","is_default":0,"created_at":1679490021},"f34dd874-4b34-41e6-a31c-ece3c1efbffc":{"id":"plugin:305581ad4294a30eeb1247982f626005","title":"Elementor Pro - SmartMenus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/assets\/lib\/smartmenus\/jquery.smartmenus.min.js","\/elementor-pro\/assets\/js\/preloaded-elements-handlers.min.js"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"111cc8b2-0be9-438b-9aa3-7f1e301a5697":{"id":"plugin:5ae9f5d99224d5ebc7d0c0bbf5b99787","title":"Elementor Pro - User Cache","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/backbone.min.js","elementorAdminBarConfig","elementorCommonConfig","elementorWebCliConfig","elementorDevToolsConfig"],"is_default":0,"condition":"elementor-pro\/elementor-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c1713bf8-e0c3-4cb5-8b3f-841b06aa87ed":{"title":"ElementsKit Lite - Megamenu","condition":"elementskit-lite\/elementskit-lite.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/elementskit(.*)\/"],"icon_url":"","type":"plugin","id":"plugin:b91fed2fc4478dbb7067742c1ee4691b","is_default":0,"created_at":1683270249},"706ff35d-8e33-4b04-a986-346faff704e9":{"id":"plugin:417192424139d89fb2a5b1ee1f2b9613","title":"Essential Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-for-elementor-lite\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b38556dc-2bc4-430f-9c55-7191cf7773db":{"id":"plugin:057757d0593ad9d2dc58124f0077a5df","title":"Essential Addons for Elementor Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/essential-addons(-for)?-elementor(-lite)?\/.*(.min)?.js"],"is_default":0,"condition":"essential-addons-elementor\/essential_adons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"719b988f-0d60-40c2-ba46-88f943119cb1":{"id":"plugin:c8e6c490f6438f566ade600c33531a85","title":"Essential Grid","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/essential-grid\/","lightboxOptions"],"is_default":0,"condition":"essential-grid\/essential-grid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"47d3d2ab-160d-4b07-ac25-8250b9e6a951":{"id":"plugin:dafd19fa48a1fef890dc4348052fcb75","title":"EventON Lite","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/eventon-lite\/assets\/js\/(.*)"],"is_default":0,"condition":"eventon-lite\/eventon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"219968d7-cf1f-4ee0-917a-db35dcc93a3e":{"id":"plugin:49ff465628fc3cb6d7f23ff81d9b8339","title":"FacetWP","type":"plugin","icon":"","exclusions":["\/facetwp\/assets\/js\/dist\/front.min.js","window.FWP_"],"is_default":0,"condition":"facetwp\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"acce5701-5917-48d5-83ab-3e626aa420c5":{"id":"plugin:78a1c88a56fa957c802074b6418c6fac","title":"FacetWP - Flyout menu","type":"plugin","icon":"","exclusions":["\/facetwp-flyout\/assets\/js\/front.js"],"is_default":0,"condition":"facetwp-flyout\/facetwp-flyout.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f2a5b95f-1a22-46d2-8b72-42a53e46ae3f":{"id":"plugin:5d7555892a3a9968fde3fa3a335fc3d8","title":"FiboSearch - Ajax Search for WooCommerce","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.js","\/wp-includes\/js\/jquery\/jquery-migrate.js","\/ajax-search-for-woocommerce-premium\/assets\/js\/search.js"],"is_default":0,"condition":"ajax-search-for-woocommerce\/ajax-search-for-woocommerce.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7d1404e9-be76-449c-87aa-919557abe82d":{"id":"plugin:ad46179e8b0584abaf52056b846da227","title":"FlexBlock","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/flo-flex-builder\/dist\/flex-public.min.js","flexDebug"],"is_default":0,"condition":"flo-flex-builder\/flo-flex-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b9c6a2dc-b226-4e2c-b85e-29ee55b8f751":{"id":"plugin:567a2b15db30ef6bd4904e4317139aac","title":"Fluent Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/fluentform\/public\/js\/(.*).js","\/fluentformpro\/public\/js\/(.*).js"],"is_default":0,"condition":"fluentform\/fluentform.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"10874f8a-2855-4e80-bc46-e484589b76a8":{"id":"plugin:e78c153103f698b2b34892332d6b3b62","title":"Flying Images","type":"plugin","icon":"","exclusions":["flyingImages"],"is_default":0,"condition":"nazy-load\/flying-images.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"53958499-dacd-41d6-93bc-1534fe7d9eda":{"id":"plugin:5a0e40a6c5783856893b803189de1404","title":"FooGallery Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/foobox-image-lightbox\/free\/js\/foobox.free.min.js","\/plugins\/foogallery-premium\/pro\/extensions\/default-templates\/shared\/js\/foogallery.min.js"],"is_default":0,"condition":"foogallery-premium\/foogallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7870d704-2024-4622-838c-fad37d5c6753":{"id":"plugin:ebb5efb57b19ae60e734e456ca2df3f8","title":"Formidable Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","frmSigs","\/formidable-signature\/js\/frm.signature.min.js"],"is_default":0,"condition":"formidable\/formidable.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3f24f9b3-e59e-400f-a784-999f93f60fab":{"id":"plugin:0b08523445b8869a67ca40e777704692","title":"Forminator","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","forminatorFront","\/forminator\/build\/front\/front.multi.min.js","\/forminator\/assets\/js\/library\/jquery.validate.min.js","\/forminator\/assets\/forminator-ui\/js\/forminator-form.min.js","\/forminator\/assets\/forminator-ui\/js\/select2.full.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js"],"is_default":0,"condition":"forminator\/forminator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a600ded-3454-48fb-9811-46afa2ab3c05":{"id":"plugin:5759bf0d47ac3457485314b381a9b528","title":"GDPR Cookie Compliance","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/gdpr-cookie-compliance\/dist\/scripts\/main.js"],"is_default":0,"condition":"gdpr-cookie-compliance\/moove-gdpr.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e21aaa5e-7354-471d-ab86-85f99f48830c":{"id":"plugin:ffb40036ab0583218561de7c28c6bd9b","title":"GDPR Cookie Consent","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/public\/js\/cookie-law-info-public.js","Cli_Data"],"is_default":0,"condition":"webtoffee-gdpr-cookie-consent\/cookie-law-info.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c11ca4ea-1a23-49ee-9a6b-1e549de50ea2":{"id":"plugin:3877953c5ec1e66db92ad844ae8ebafc","title":"Getwid - Gutenberg Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"is_default":0,"condition":"getwid\/getwid.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3773bb33-b168-4f68-9963-512da24ac4da":{"title":"GoodLayers Core","condition":"goodlayers-core\/goodlayers-core.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js ","\/goodlayers-core\/plugins\/script.js ","\/goodlayers-core\/include\/js\/page-builder.js"],"icon_url":"","type":"plugin","id":"plugin:5f124509a56ca2e0644246919ec70434","is_default":0,"created_at":1677854322},"2adabe9b-6e03-4a67-959f-492813d40f69":{"title":"Google Tag Manager for WooCommerce PRO","condition":"gtm-ecommerce-woo-pro\/gtm-ecommerce-woo-pro.php","exclusions":["\/gtm-ecommerce-woo-pro\/assets\/gtm-ecommerce-woo-pro.js"],"icon_url":"","type":"plugin","id":"plugin:e54fd4313007b6fedf8ab4df0e05277a","is_default":0,"created_at":1691218549},"7bf261ac-89d4-492f-8a3d-1c5809b9579a":{"title":"Gravity Forms","condition":"gravityforms\/gravityforms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/gravityforms\/","gform","recaptcha","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/wp-includes\/js\/plupload\/plupload.min.js","\/wp-includes\/js\/plupload\/moxie.min.js"],"icon_url":"","type":"plugin","id":"plugin:7a1c1606d094f6bff83c0ee155908367","is_default":0,"created_at":1694457903},"12340193-5c35-4b0d-b0bc-bea690cf1cae":{"id":"plugin:2f3112dd98c39aeb6bde618c9026a29f","title":"Green Forms","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","leform.min.js","leform_customjs_handlers","leform_ajax_url"],"is_default":0,"condition":"green-forms\/green-forms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4d20b427-47cf-4cdf-91c7-ff53602d3b2a":{"id":"plugin:0eb769dddc58f998e913345841b1d0b3","title":"GTM4WP","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","dataLayer"],"is_default":0,"condition":"duracelltomi-google-tag-manager\/duracelltomi-google-tag-manager-for-wordpress.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a2b3c237-728c-49d6-882a-e3885444e9b4":{"id":"plugin:3b085ccda851ccf129d9506462f0cd65","title":"GTranslate","type":"plugin","icon":"","exclusions":["translate.google.com","googleTranslateElementInit"],"is_default":0,"condition":"gtranslate\/gtranslate.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"40cd9336-e73f-4a61-a7f6-27ec1ca6892c":{"id":"plugin:e1f17c1eac230219e6fec3ac07406a0d","title":"HBook","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/hbook\/","hb_booking_form_data","hb_max_date"],"is_default":0,"condition":"hbook\/hbook.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"192224c7-df72-4e3d-8f13-3206ac5b2e90":{"title":"Helper - OpenAI Chatbot for WordPress","condition":"\/helper\/index.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/helper\/js\/helper.min.js","mdpHelper"],"icon_url":"","type":"plugin","id":"plugin:07311d992a8a9d6af91e4766d2cb9ac9","is_default":0,"created_at":1691599768},"99cfbb2e-5678-42c2-928f-5cb09d7e43da":{"id":"plugin:269c5766fba124a838ac012a4b5a1a13","title":"HUSKY - Products Filter for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-products-filter\/(.*)","woof"],"is_default":0,"condition":"woocommerce-products-filter\/index.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3a964eac-4aeb-49a7-9fd6-4c31b2645dee":{"id":"plugin:d457acfec0f86aac6733f1446f4fc94f","title":"Instagram Feed Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/instagram-feed-pro\/js\/sbi-scripts.min.js","sb_instagram_js_options"],"is_default":0,"condition":"instagram-feed-pro\/instagram-feed.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8f9f4788-1b8d-468b-b291-1fcbd48618b9":{"id":"plugin:513b0c0ec8e12130af9b4bbbb17d7275","title":"Interactive Geo Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/interactive-geo-maps-premium\/assets\/public\/map-service\/app.min.js","\/interactive-geo-maps\/assets\/public\/map-service\/app.js","iMapsData","cdn.amcharts.com\/lib\/"],"is_default":0,"condition":"interactive-geo-maps\/interactive-geo-maps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cf650ca3-afa0-4a13-9e4f-f7cca19abac6":{"title":"Ivory Search","condition":"add-search-to-menu\/add-search-to-menu.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/add-search-to-menu\/public\/js\/ivory-search.min.js"],"icon_url":"","type":"plugin","id":"plugin:7430e9d2c985ae0a3339a7b7e1acc318","is_default":0,"created_at":1677852711},"17a5dd54-1f5e-4d57-a56d-a8a970651954":{"id":"plugin:1c8a1e1ba89a601f88654f094139b469","title":"JetBlocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-blocks\/assets\/js\/jet-blocks.min.js"],"is_default":0,"condition":"jet-blocks\/jet-blocks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b6f78c90-9823-459a-8dc1-1257e5f0d4e3":{"id":"plugin:dac9ec782180f33d0fcc7c4e0e569b9d","title":"JetBlog","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/","ElementorProFrontendConfig","elementorFrontendConfig","hasJetBlogPlaylist"],"is_default":0,"condition":"jet-blog\/jet-blog.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"e17173d8-6ef8-4e27-ba0f-379c9aea7eda":{"id":"plugin:0fe8895d1da5247b73a5d0b482df4ac4","title":"JetElements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jet-elements\/","hasJetBlogPlaylist","jetElements","\/wp-includes\/js\/jquery\/ui\/"],"is_default":0,"condition":"jet-elements\/jet-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cfd77501-9c9e-4f11-b994-0178a592fc08":{"title":"JetEngine","condition":"jet-engine\/jet-engine.php","exclusions":["\/jet-engine\/"],"icon_url":"","type":"plugin","id":"plugin:bc998e71546860c8c7f70c45a6c18972","is_default":0,"created_at":1686208296},"36fed829-a2d9-41b5-94f6-2c3b9f07a94e":{"id":"plugin:433a3173f2d06f7d02c7b91c06ed215d","title":"JetMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor-pro\/","\/elementor\/","\/jet-blog\/assets\/js\/lib\/slick\/slick.min.js","\/jet-elements\/","\/jet-menu\/","elementorFrontendConfig","ElementorProFrontendConfig","hasJetBlogPlaylist","JetEngineSettings","jetMenuPublicSettings","\/jet-reviews\/assets\/js\/lib\/vue.min.js"],"is_default":0,"condition":"jet-menu\/jet-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"580cfed7-f034-4e39-bc7a-cdd01923ce87":{"id":"plugin:51714cfdb43f231a1c93e7cffb1007ab","title":"JetPopup","type":"plugin","icon":"","exclusions":["\/jet-popup\/assets\/js\/lib\/anime-js\/anime.min.js","\/jet-popup\/assets\/js\/jet-popup-frontend.js","\/jet-woo-builder\/","var jetPopupData"],"is_default":0,"condition":"jet-popup\/jet-popup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d9cd2730-12e2-42d7-a082-6f0efcd466cc":{"id":"plugin:df3bc4b6a8a9f28a5ba24cb7496bbc72","title":"JetProductGallery","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-woo-product-gallery\/assets\/lib\/swiper\/swiper.min.js","\/jet-woo-product-gallery\/assets\/js\/jet-woo-product-gallery.min.js"],"is_default":0,"condition":"jet-woo-product-gallery\/jet-woo-product-gallery.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"544aa37b-4d52-4182-99e8-abe23585da14":{"id":"plugin:5921fc95965ac7fccb7296957bd9abff","title":"JetReviews","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jet-reviews\/assets\/js\/jet-reviews-frontend.js","\/jet-reviews\/assets\/js\/lib\/vue.min.js","jetReviewsWidget"],"is_default":0,"condition":"jet-reviews\/jet-reviews.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a8460089-34b4-4f8f-8694-5d92fa48aa82":{"title":"JetSmartFilters","condition":"jet-smart-filters\/jet-smart-filters.php","exclusions":["jetOffcanvasInitialized"],"icon_url":"","type":"plugin","id":"plugin:0cd63a514de1f1acb88e2bde65c4bc8d","is_default":0,"created_at":1694447256},"fe3c4915-6f8b-49b7-aa9c-c97b264d9f12":{"id":"plugin:a346b60514ef52afeffc6e2ef2793da3","title":"JetSticky","type":"plugin","icon":"","exclusions":["\/jetsticky-for-elementor\/"],"is_default":0,"condition":"jetsticky-for-elementor\/jetsticky-for-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b7f89562-230c-4f63-8360-7aad6df31e02":{"id":"plugin:829272546b040d5aaeeeaf976b6cd4ec","title":"JetTricks","type":"plugin","icon":"","exclusions":["\/jet-tricks\/"],"is_default":0,"condition":"jet-tricks\/jet-tricks.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"90451e2a-553a-4496-9fa4-cffedbe69d43":{"id":"plugin:f44f3dbd09149f57db370e4132b057db","title":"JetWoo Widgets For Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/jetwoo-widgets-for-elementor\/assets\/js\/jet-woo-widgets.js","\/jet-woo-builder\/assets\/js\/jet-woo-builder.min.js","\/jet-woo-builder\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"944718c2-48c6-4f53-aaa2-460d07e033cc":{"id":"plugin:ed318a971f8a047bed5b02ad546a9c18","title":"JetWooBuilder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js","\/elementor-pro\/","\/elementor\/","elementorFrontendConfig","ElementorProFrontendConfig","JetEngineSettings","\/jet-woo-builder\/","\/jet-woo-builder-custom-quantity-selectors-main\/assets\/js\/main.js"],"is_default":0,"condition":"jet-woo-builder\/jet-woo-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f5b62f59-1dae-4cdf-ac3f-f5e846fc9918":{"id":"plugin:9562e253cd4ac2b1e1f70e32cb4e32dc","title":"Layer Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.utils.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.kreaturamedia.jquery.js","\/LayerSlider\/assets\/static\/layerslider\/js\/layerslider.transitions.js","initLayerSlider"],"is_default":0,"condition":"LayerSlider\/layerslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e2be718d-83a2-4fa0-bc98-f0df52be3dc1":{"id":"plugin:1425e2735306796fe1539d9184a77e10","title":"LoftLoader Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","loftloader.min.js"],"is_default":0,"condition":"loftloader-pro\/loftloader-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cfa18552-656e-453c-9e14-c07522dc6598":{"id":"plugin:0bf67b8ba84771e1a367fe24590ef09c","title":"MailUp for WordPress","type":"plugin","icon":"","exclusions":["\/mailup-email-and-newsletter-subscription-form\/public\/js\/mailup-public.js","mailup-js-extra"],"is_default":0,"condition":"mailup-email-and-newsletter-subscription-form\/mailup.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c5330c66-ba7b-45b1-87e4-ce590ab005dd":{"id":"plugin:10d0de28911c5f66463b9c8783f8148a","title":"Maintenance","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maintenance\/"],"is_default":0,"condition":"maintenance\/maintenance.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"267aef71-afa0-4848-b6f8-3e1ca15c3a23":{"id":"plugin:9460789bdfe77425c895f130991a4cb4","title":"Maps Marker Pro","type":"plugin","icon":"","exclusions":["\/maps-marker-pro\/js\/mapsmarkerpro.js","var mapsMarkerPro"],"is_default":0,"condition":"maps-marker-pro\/maps-marker-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b5a88b63-e906-49b3-8134-420139915ea6":{"title":"Master Popups","condition":"master-popups\/master-popups.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/master-popups\/assets\/public\/js\/master-popups-libs.min.js"],"icon_url":"","type":"plugin","id":"plugin:8fd7bd2c8b0a33e62798573abd12be63","is_default":0,"created_at":1681305305},"4be41549-bf4d-4c49-8346-0f8a3b88fdba":{"id":"plugin:de888634cc4bd51576eed319d5a528fd","title":"Master Slider","type":"plugin","icon":"","exclusions":["masterslider"],"is_default":0,"condition":"master-slider\/master-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"087bee18-7cd1-4c10-8acc-19e1b7c4f4cd":{"id":"plugin:b71309a89bf3c8b558b6fca5d6531919","title":"Max Mega Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/hoverIntent.min.js","\/megamenu\/js\/maxmegamenu.js","var megamenu"],"is_default":0,"condition":"megamenu\/megamenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cf22f0b9-01f4-409e-8a93-ad6743095abd":{"id":"plugin:94a7bae84ef2816494be4af66c577bfc","title":"Meta Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ml-slider\/","var metaslider"],"is_default":0,"condition":"ml-slider\/ml-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bb2cbc0d-20da-415e-8218-c17f1db53579":{"title":"Monarch","condition":"monarch\/monarch.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","dt-place-monarch-icons"],"icon_url":"","type":"plugin","id":"plugin:b7335d6d6d5c5134ea10ac2d9b04226c","is_default":0,"created_at":1677853476},"a98d6a80-4610-4ede-bd33-c3e15bed0a95":{"id":"plugin:4f8651262425ef6d7c223c68a2ec2063","title":"Monster Insights","type":"plugin","icon":"","exclusions":["__gtagTracker","monsterinsights_frontend","\/google-analytics-for-wordpress\/assets\/js\/frontend-gtag.min.js"],"is_default":0,"condition":"google-analytics-for-wordpress\/googleanalytics.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"26e1a36e-7a03-449e-8ecc-e42c41ca291c":{"id":"plugin:f8fc66b302dec2327bdec0434a3b275b","title":"Motion.page","type":"plugin","icon":"","exclusions":["\/motionpage\/core\/includes\/assets\/js\/(.*)","\/motionpage\/core\/includes\/assets\/js\/gsap\/(.*)","\/motionpage\/assets\/js\/(.*)","\/motionpage\/assets\/js\/gsap\/(.*)"],"is_default":0,"condition":"motionpage\/motionpage.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"459fd663-7f80-45fd-8308-d3484981e161":{"title":"Ninja Forms","condition":"ninja-forms\/ninja-forms.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js","\/ninja-forms\/assets\/js\/min\/front-end-deps.js","\/ninja-forms\/assets\/js\/min\/front-end.js","nf-"],"icon_url":"","type":"plugin","id":"plugin:1d3ae9c1a96d5062616968b81eef319d","is_default":0,"created_at":1681377675},"c97440dd-7592-40e7-8c98-dac20d39808f":{"id":"plugin:723a588dcd49285ea9f7404e2379b47f","title":"Ninja Tables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ninja-tables(.*)\/assets\/","\/ninja-tables(.*)\/public\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","ninja_table_instance_","ninja_filter_","ninja_table_ready_init_table_id"],"is_default":0,"condition":"ninja-tables\/ninja-tables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ebc01f06-8c35-47fa-9c63-8959c5cbd915":{"id":"plugin:f41a52ab1dd50a81cd3a5e341af0007c","title":"NotificationX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/notificationx\/assets\/public\/js\/(.*).js","notificationXArr"],"is_default":0,"condition":"notificationx\/notificationx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3aaf4a1b-591a-48b7-8d60-e6d65c0f94c9":{"id":"plugin:be8fc72a8b8e8eb5958be13737cff47c","title":"Ocean Elementor Widgets","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ocean-elementor-widgets\/"],"is_default":0,"condition":"ocean-elementor-widgets\/ocean-elementor-widgets.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f053a7d3-62b0-4312-b0ca-6ff63380eb0b":{"id":"plugin:1a14afe852fefe7b22ccad3893672a29","title":"One Click Accessibility","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pojo-accessibility\/assets\/js\/app.min.js"],"is_default":0,"condition":"pojo-accessibility\/pojo-accessibility.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"61e11800-48a9-4354-8a4c-ac9a2b4b033a":{"id":"plugin:b9ed0fe6f2cdbd305691a6b857f4b3dc","title":"OoohBoi Steroids for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/ooohboi-steroids-for-elementor\/"],"is_default":0,"condition":"ooohboi-steroids-for-elementor\/ooohboi-steroids.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"560b78a2-f051-490b-9dc6-a602dece0d81":{"id":"plugin:f1ff18a3e04c4e0995fca9cabffe57a7","title":"Optimole","type":"plugin","icon":"","exclusions":["optimoleData"],"is_default":0,"condition":"optimole-wp\/optimole-wp.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b0fda458-4bf2-41e9-a159-60d4bb6102a6":{"id":"plugin:48ec18bd3f59772d98f85dddab75e305","title":"OSM - OpenStreetMap","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/osm\/js\/OL\/","\/osm\/js\/osm-v3-plugin-lib.js","vectorM"],"is_default":0,"condition":"osm\/osm.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3743ed67-e0d1-4243-bb1f-ee48a445dd10":{"id":"plugin:9eacf0b76484af0259cd788f4923f20c","title":"OxyExtras","type":"plugin","icon":"","exclusions":["vime","vime.esm.js"],"is_default":0,"condition":"oxyextras\/plugin.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"52a21e27-af5b-4476-8d6d-54c323fd1443":{"id":"plugin:e852555c4b4789d78a96d76f503b3262","title":"Oxygen Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/component-framework\/vendor\/aos\/aos.js","AOS.init","oxygen_init_pro_menu","oxy-pro-menu-show-dropdown","oxy-shape-divider","oxygenVSBInitToggleJs"],"is_default":0,"condition":"oxygen\/functions.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ebd282b9-e175-4b83-90a2-fe12389ccd11":{"id":"plugin:6f9419e58ec86c94e7698aaaaf9dc715","title":"PageLoader by Bonfire","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pageloader-by-bonfire\/pageloader.js","bonfire-pageloader-overlay"],"is_default":0,"condition":"pageloader-by-bonfire\/pageloader-by-bonfire.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0baf6353-aa70-41a9-a3bc-d89870a5839b":{"id":"plugin:3a4c4518eb0f60108ab4934fab27d335","title":"PDF Embedder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pdf-embedder\/js\/(.*).js"],"is_default":0,"condition":"pdf-embedder\/pdf_embedder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"cba51ec1-87cc-44eb-b12b-d652e3446507":{"id":"plugin:4f90aca5957cccbf623e3bbc31afa204","title":"Perfect Brands for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/perfect-woocommerce-brands\/assets\/lib\/slick\/slick.min.js","\/perfect-woocommerce-brands\/assets\/js\/functions-frontend.min.js"],"is_default":0,"condition":"perfect-woocommerce-brands\/perfect-woocommerce-brands.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"808e7a4e-025c-4fae-bf82-de3716e5eb0d":{"id":"plugin:84fe214646388d7c021dda25003ac165","title":"Photonic","type":"plugin","icon":"","exclusions":["\/photonic\/include\/js\/front-end\/module\/photonic-baguettebox.min.js"],"is_default":0,"condition":"photonic\/photonic.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"936aff7d-a8ac-4473-a7b5-4b1611b6c557":{"id":"plugin:6838be282f853f71be282783cb1c162b","title":"Pixel Caffein","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/pixel-caffeine\/build\/frontend.js","aepc_pixel"],"is_default":0,"condition":"pixel-caffeine\/pixel-caffeine.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ab3a4ef5-2732-4b46-a7c3-17b4e9405cd1":{"id":"plugin:afe0eb7c64d4556a7111c56dd8c4d307","title":"Pixel Manager for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/woocommerce-pixel-manager-pro\/js\/public\/","wpm"],"is_default":0,"condition":"woocommerce-pixel-manager-pro\/woocommerce-pixel-manager.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2774f964-50b2-425e-8a30-0a02f421b7e4":{"id":"plugin:38d4b2986868f543639cd1ebc3e510aa","title":"Popup Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/popup-builder\/public\/js\/(.*).js","\/popupbuilder-exit-intent\/public\/javascript\/ExitIntent.js","var sgpbPublicUrl","SGPB_POPUP_PARAMS"],"is_default":0,"condition":"popup-builder\/popup-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"82dbb1e5-31f9-43d7-b522-52819aa49ba5":{"id":"plugin:786717922362642f34a7ff58e919bd95","title":"Popup Maker","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/pum\/pum-site-scripts.js","pum","\/plugins\/popup-maker\/assets\/js\/site.min.js"],"is_default":0,"condition":"popup-maker\/popup-maker.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"48e08305-1f1c-4ef4-9f13-24af1b155abc":{"id":"plugin:17831cbb64e469c7f66224c8c63d0a58","title":"PowerPack Addons for Elementor","type":"plugin","icon":"","exclusions":["\/powerpack-lite-for-elementor\/assets\/js\/min\/frontend.min.js"],"is_default":0,"condition":"powerpack-lite-for-elementor\/powerpack-lite-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e037ae2f-e36b-4f1a-ada8-eb8fde6746f2":{"id":"plugin:80e1283ea1afead3ca904fad792643c5","title":"Preloader Plus","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/preloader-plus\/(.*)"],"is_default":0,"condition":"preloader-plus\/preloader-plus.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90fed478-e89a-455c-8371-836bee58fb81":{"title":"Premium Addons for Elementor","condition":"premium-addons-for-elementor\/premium-addons-for-elementor.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-addons.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/isotope.min.js","\/premium-addons-elementor\/pa-frontend-(.*).min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/slick.min.js","\/premium-addons-pro\/assets\/frontend\/min-js\/tooltipster.min.js","window.scopes_array","lottie.min.js","\/premium-addons-for-elementor\/assets\/frontend\/min-js\/premium-nav-menu.min.js"],"icon_url":"","type":"plugin","id":"plugin:debbfbbcbdf9ffb465bbc40008d99f02","is_default":0,"created_at":1693315214},"7e43c261-77be-48fc-b25a-8953a654ae85":{"id":"plugin:100a0382fcf3d1b6b22da928bce46ea8","title":"Presto Player","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/dist\/vendor\/regenerator-runtime.min.js","\/presto-player\/dist\/components\/web-components\/web-components.esm.js","\/presto-player\/src\/player\/player-static.js","var player","\/wp-includes\/js\/dist\/api-fetch.min.js","\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/dist\/i18n.min.js"],"is_default":0,"condition":"presto-player\/presto-player.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"3d6f509f-d040-4279-9a2f-a4e6eae1e9df":{"id":"plugin:c0fce700121492b566517e68301db382","title":"Price Based on Country for WooCommerce Pro","type":"plugin","icon":"","exclusions":["\/woocommerce-product-price-based-on-countries\/assets\/js\/ajax-geolocation.min.js","\/woocommerce-price-based-country-pro-addon\/assets\/js\/currency-switcher.min.js","add-to-cart.min.js","cart-fragments.min.js"],"is_default":0,"condition":"woocommerce-price-based-country-pro-addon\/woocommerce-price-based-country-pro-addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b970bc8a-bcbe-4d08-8ac0-a6853ab3f036":{"id":"plugin:f1ecfe258440b371124999ca3bfbfff3","title":"Prime Slider","type":"plugin","icon":"","exclusions":["\/plugins\/bdthemes-prime-slider-lite\/assets\/js\/bdt-uikit.min.js"],"is_default":0,"condition":"bdthemes-prime-slider-lite\/bdthemes-prime-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e5458963-f167-4b68-88e4-77dd39af2842":{"id":"plugin:29ea8f4dd72f5a5c5927917fb0665a05","title":"PRO Elements","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/pro-elements\/"],"is_default":0,"condition":"pro-elements\/pro-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b119ad72-f498-4576-bb71-9e6d8c37b68f":{"title":"Product Filter by WBW (for WooCommerce)","condition":"woo-product-filter\/woo-product-filter.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-content\/plugins\/woo-product-filter\/modules\/woofilters\/js\/frontend.woofilters.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js"],"icon_url":"","type":"plugin","id":"plugin:e57ad91e0d94fab011353af544873743","is_default":0,"created_at":1685686062},"7b779aca-e497-4da3-8e51-fa12837d15ab":{"title":"Product Filters for WooCommerce","condition":"woocommerce-product-filters\/woocommerce-product-filters.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce-product-filters\/","\/woocommerce\/assets\/js\/accounting\/accounting.min.js","\/wp-includes\/js\/jquery\/ui\/","wcpf-load-project","WCPFData"],"icon_url":"","type":"plugin","id":"plugin:719469f1c977f7109d3d6ee21ecd5a16","is_default":0,"created_at":1691235154},"2b2a51f2-bd47-4591-92d8-4a690bce5d99":{"id":"plugin:a898898b2b0ea2cd82e20a6d3a3aa47b","title":"Product Gallery Slider for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/twist\/assets\/js\/slick.min.js","wpgs-public-js-after"],"is_default":0,"condition":"twist\/twist.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"062c5be3-e5ea-4958-9619-44e3410f237e":{"title":"Product Video Gallery for Woocommerce","condition":"product-video-gallery-slider-for-woocommerce\/product-video-gallery-slider-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/product-video-gallery-slider-for-woocommerce\/public\/js\/nickx.front.js"],"icon_url":"","type":"plugin","id":"plugin:bbc653a91f0635cd2edb0b741aa62b85","is_default":0,"created_at":1693512477},"34d225a4-688c-476b-846b-420774160d6b":{"id":"plugin:e0b123d324c6fc85b8682660c34f8829","title":"Rank Math SEO","type":"plugin","icon":"","exclusions":["local_ga_js"],"is_default":0,"condition":"seo-by-rank-math\/rank-math.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"02305ca0-2c2a-4eef-a802-b8a942771ecc":{"title":"Retainful","condition":"retainful-next-order-coupon-for-woocommerce\/retainful-next-order-coupon-for-woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/atc-popup.min.js","\/retainful-next-order-coupon-for-woocommerce\/src\/premium\/assets\/js\/exit-intent-popup.js","retainful.com","rnoc-add-to-cart-js-before","rnoc_redirect_coupon_popup"],"icon_url":"","type":"plugin","id":"plugin:f9fdee19ba6aed961d96d86e1521a761","is_default":0,"created_at":1679331508},"b4055250-5813-400f-b663-d390fee989e4":{"id":"plugin:d6a4d07d1b4022d886df52322dcd8a6f","title":"Revolution Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/revslider\/public\/assets\/js\/","\/revslider-(.*)-addon\/","setREVStartSize","rev_slider_","revslider_","window.RS_MODULES"],"is_default":0,"condition":"revslider\/revslider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"0b4e061a-b366-4d5a-a00e-bded4b107133":{"title":"Royal Elementor Addons","condition":"royal-elementor-addons\/wpr-addons.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/royal-elementor-addons\/assets\/js\/frontend.min.js","\/royal-elementor-addons\/assets\/js\/lib\/jarallax\/jarallax.min.js"],"icon_url":"","type":"plugin","id":"plugin:c4b464373716d7ac8e3cfb019aaa6102","is_default":0,"created_at":1688124503},"1b19ec89-171a-4f85-8c4b-b1bcfc6b1433":{"id":"plugin:5e3f85d8c82cc184b945415d1a862601","title":"Sassy Social Share","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/sassy-social-share\/public\/js\/sassy-social-share-public.js","heateorSssLoadEvent"],"is_default":0,"condition":"sassy-social-share\/sassy-social-share.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f5899925-2ab7-43b6-abc4-51b76d664ca6":{"title":"Scrollsequence","condition":"scrollsequence-pro\/scrollsequence-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/scrollsequence-pro\/public\/js\/gsap__premium_only.js","\/scrollsequence-pro\/public\/js\/gsap-scrolltrigger__premium_only.js","\/scrollsequence-pro\/public\/js\/ssq-lib__premium_only.js","scrollsequence-input-script"],"icon_url":"","type":"plugin","id":"plugin:3df51830b6b80668fc342c8dcea495cf","is_default":0,"created_at":1678111131},"043827fc-3df8-45d6-9cd2-14fbe962987a":{"id":"plugin:9d60b5d2de4d828b78c7b088024377d6","title":"ShiftNav Pro - Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-pro\/assets\/js\/shiftnav(.*).js"],"is_default":0,"condition":"shiftnav-pro\/shiftnav.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bcbaf240-e76f-4620-b7d5-4852c46d4be7":{"id":"plugin:56279bd768c8f27ad1972b6774738bcf","title":"ShiftNav \u2013 Responsive Mobile Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shiftnav-responsive-mobile-menu\/"],"is_default":0,"condition":"shiftnav-responsive-mobile-menu\/shiftnav-responsive-mobile-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"bbe0543b-b5af-467b-a90d-e2975d892d8d":{"id":"plugin:1bc7ac87d8ab2301a1b904919dc7a798","title":"Short Pixel Adaptive Image","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/shortpixel-adaptive-images\/assets\/js\/ai(.*).min.js","spai_settings"],"is_default":0,"condition":"shortpixel-adaptive-images\/short-pixel-ai.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"543ab43a-6bd3-4948-a09e-3b95e7c9209d":{"id":"plugin:ce4dea8ddc3caa8d00e95cec3202d32a","title":"Showcase IDX","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","SIDX","search.showcaseidx.com\/js\/app-(.*).js","cdn.shortpixel.ai"],"is_default":0,"condition":"showcase-idx\/showcaseidx.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"a16bcab7-1169-46b9-a425-b091478d8312":{"id":"plugin:3ea7d9f75ad03620b0bce2517bd5b8d1","title":"Side Cart WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/plugins\/woocommerce\/assets\/js\/frontend\/add-to-cart.min.js","\/plugins\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/plugins\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"is_default":0,"condition":"side-cart-woocommerce\/xoo-wsc-main.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"521f748e-cf09-4019-bd28-b52daef5f16f":{"id":"plugin:7843983bf90dbae16c6e889382c71b23","title":"Simple Banner","type":"plugin","icon":"","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/simple-banner\/","simpleBannerScriptParams"],"is_default":0,"condition":"simple-banner\/simple-banner.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"76026e82-d9cf-482c-b480-55c57693a184":{"id":"plugin:b6825f971d35a5515d095564a2e40936","title":"Site Kit by Google","type":"plugin","icon":"","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('","\/gtag\/js","gtag\\(","\/gtm.js"],"is_default":0,"condition":"google-site-kit\/google-site-kit.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"79c458d7-f7f7-4072-919d-ad337bde6ae3":{"id":"plugin:5ce5dfecdc9d3292c69a1413bbd17d3c","title":"Slick Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/slick-menu\/"],"is_default":0,"condition":"slick-menu\/slick-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"dd0ea584-0c99-4c30-b46d-da35b94c9f0a":{"id":"plugin:ffb5f8cc0ea17886dbd05f601ca3eec0","title":"Slider by Soliloquy","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","soliloquy-min.js","soliloquy_slider"],"is_default":0,"condition":"soliloquy-lite\/soliloquy-lite.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"ecb2fffc-d289-4f68-ae94-71131f17deee":{"id":"plugin:2f373822dceb191c31c8ad2183d51869","title":"Smart Slider 3","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/smart-slider-3\/(.*).js","_N2"],"is_default":0,"condition":"smart-slider-3\/smart-slider-3.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"284ede43-bf80-419e-8414-46c26cb746f0":{"id":"plugin:720ec9fbbd8a52ce525959a68a5310b3","title":"Smart Slider 3 Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/SmartSlider3\/(.*).js","_N2"],"is_default":0,"condition":"nextend-smart-slider3-pro\/nextend-smart-slider3-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"c3334c29-4160-42df-a1ce-f8aeeaee8668":{"title":"Super Socializer","condition":"super-socializer\/super_socializer.php","exclusions":["theChamp","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:660defe26748470c3a47366cd4012579","is_default":0,"created_at":1677853633},"f18b4242-fe3f-4e2b-bfc9-ac2fb3939a90":{"title":"Superfly Menu","condition":"superfly-menu\/main.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate((.*?)(.min?)?).js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/md5.js","\/superfly-menu\/includes\/vendor\/looks_awesome\/icon_manager\/js\/util.js","\/superfly-menu\/js\/public.min.js","window.SFM_is_mobile","var SFM_skew_disabled","var SFM_template"],"icon_url":"","type":"plugin","id":"plugin:ccb15175093bc6c437b78797f0698a7b","is_default":0,"created_at":1684301673},"1a05c00a-8562-45bc-80e8-987a4574b1c9":{"title":"Symplr Ads","condition":"symplr-ads\/symplr-plugin.php","exclusions":["\/symplr-ads\/","cdns.symplr.de"],"icon_url":"","type":"plugin","id":"plugin:3b6d39e28a87e86c4659491e2368ff61","is_default":0,"created_at":1692199959},"858d2d7f-bdac-4d27-ba26-baa9ace96ba4":{"id":"plugin:7d93008296bb5c7c43d4cba185ed2632","title":"Tabby Responsive Tabs","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/tabby-responsive-tabs\/js\/tabby.js","RESPONSIVEUI"],"is_default":0,"condition":"tabby-responsive-tabs\/tabby-responsive-tabs.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e44a5c93-bb77-4624-a121-d846905137ea":{"id":"plugin:2f563bbb7e92363ec3fb2989a1c7dffe","title":"The Plus Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/theplus-addons\/(.*)"],"is_default":0,"condition":"the-plus-addons-for-elementor-page-builder\/theplus_elementor_addon.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"2bbac961-b000-4802-ae97-d52472ec6750":{"title":"The Plus Addons for Elementor Premium","condition":"theplus_elementor_addon\/theplus_elementor_addon.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/theplus_elementor_addon\/","\/elementor\/","\/elementor-pro\/","\/wp-includes\/js\/imagesloaded.min.js","ElementorProFrontendConfig","elementorFrontendConfig"],"icon_url":"","type":"plugin","id":"plugin:6e127deaaeefbe57ff945b1f9e274518","is_default":0,"created_at":1688143611},"666b45e8-749c-4140-bd17-e1cd589e03ee":{"id":"plugin:b9c418b47c986935a1151ab9b42f8971","title":"ThemeREX Addons","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/trx_addons\/js\/__scripts-full.js","\/trx_addons\/components\/cpt\/layouts\/shortcodes\/menu\/superfish.min.js"],"is_default":0,"condition":"trx_addons\/trx_addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"a750cada-eb58-4df4-9966-21c8a69332ba":{"id":"plugin:75af9efe22c5cc776636266feb55adf1","title":"Thrive Architect","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-visual-editor\/thrive-visual-editor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"13714cde-680e-4ca4-8607-c35952d6a5f2":{"title":"Thrive Comments","condition":"thrive-comments\/thrive-comments.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"icon_url":"","type":"plugin","id":"plugin:6a72d06ca2f6a888b0d9d5ea93af2edc","is_default":0,"created_at":1677852974},"aa7ca898-499f-4f04-b419-3de199996969":{"id":"plugin:b84d82c02cade64ade00712b9c5652aa","title":"Thrive Leads","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-leads\/","window.TL_Const","var ml=","\/thrive-comments\/assets\/js\/","ThriveComments","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/backbone.min.js"],"is_default":0,"condition":"thrive-leads\/thrive-leads.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9eee297a-8241-4ef2-af97-46074bd0898c":{"id":"plugin:5bb61b0559b0a3fd578315b553451327","title":"Thrive Quiz Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"thrive-quiz-builder\/thrive-quiz-builder.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c2f3ec2a-5b09-4845-aa95-84841783fbfc":{"id":"plugin:a7f3e5206abff19ca7cf142260181738","title":"Thrive Ultimatum","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thrive-ultimatum\/","var TVE_Ult_"],"is_default":0,"condition":"thrive-ultimatum\/thrive-ultimatum.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"d48b8d2f-e071-4a30-840a-306154a115a0":{"id":"plugin:f57be2014b6a489d053f8367fa6c0f9f","title":"Tidio Chat","type":"plugin","icon":"","exclusions":["document.tidioChatCode"],"is_default":0,"condition":"tidio-live-chat\/tidio-elements.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cb6d33ed-7eb4-4ff9-9ad0-7fc54fbecf6f":{"id":"plugin:c9e0485ec256d4a6a8d92a98c18d76fc","title":"Toolset Blocks","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","toolsetCommonEs.fontToHead","toolsetCommonEs.styleToHead","\/toolset-blocks\/vendor\/toolset\/blocks\/public\/js\/frontend.js","\/toolset-blocks\/vendor\/toolset\/common-es\/public\/toolset-common-es-frontend.js","\/toolset-blocks\/public\/js\/views-frontend.js","\/wp-includes\/js\/underscore.min.js"],"is_default":0,"condition":"toolset-blocks\/wp-views.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"4bac6350-0925-49fb-904a-372f22fd6baf":{"id":"plugin:71beda322b37f7fc7d456822493cb972","title":"Top Bar Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/topbar-pro\/js\/tpbr_front.min.js","\/plugins\/topbar-pro\/js\/jquery.cookie.js"],"is_default":0,"condition":"topbar-pro\/topbar_pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"033486e7-0ddc-4915-a848-31504d00448e":{"title":"Twenty20 Image Before-After","condition":"twenty20\/ttwenty.php","exclusions":["\/twenty20\/assets\/js\/(.*).js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","twentytwenty-container"],"icon_url":"","type":"plugin","id":"plugin:23441bba9d3602bc932d697c7cb8aa1f","is_default":0,"created_at":1677858089},"7675a34d-006e-4672-99d5-a81e1b8e47f9":{"id":"plugin:3d59cc34167a7f8123e66b627148e0b7","title":"UberMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ubermenu\/assets\/js\/ubermenu.min.js"],"is_default":0,"condition":"ubermenu\/ubermenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"8233178a-e7b3-43ce-b193-bd0d9c960933":{"id":"plugin:86424c46157c1c7e2e1571055813beee","title":"Ultimate Addons for Elementor","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ultimate-elementor\/assets\/lib\/slick\/slick.min.js","\/ultimate-elementor\/assets\/min-js\/uael-frontend.min.js","\/ultimate-elementor\/assets\/lib\/isotope\/isotope.min.js","\/ultimate-elementor\/assets\/lib\/jquery-element-resize\/jquery_resize.min.js","\/ultimate-elementor\/assets\/lib\/fancybox\/jquery_fancybox.min.js","\/ultimate-elementor\/assets\/lib\/justifiedgallery\/justifiedgallery.min.js","\/elementor-pro\/assets\/js\/frontend.min.js","\/wp-includes\/js\/imagesloaded.min.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/elementor\/assets\/lib\/swiper\/swiper.min.js","\/nasa-core\/assets\/js\/min\/jquery.slick.min.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig"],"is_default":0,"condition":"ultimate-elementor\/ultimate-elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8bddf484-6c78-4147-a4e6-d3039904e5f6":{"title":"Ultimate Addons for Elementor - Mobile Menu","condition":"ultimate-elementor\/ultimate-elementor.php","exclusions":["\/jquery-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/jquery-migrate(.*)(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/ultimate-elementor\/assets\/js\/uael-nav-menu.js","\/ultimate-elementor\/assets\/min-js\/uael-nav-menu.min.js"],"icon_url":"","type":"plugin","id":"plugin:70cfade3a7adbb54196f6acccc5a176f","is_default":0,"created_at":1694771327},"028504f7-b1cd-4318-8a6d-ce186197e89d":{"id":"plugin:0f0a91f0c454021a5ff9fc25c3ed419f","title":"Ultimate Addons for WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Ultimate_VC_Addons\/assets\/"],"is_default":0,"condition":"Ultimate_VC_Addons\/Ultimate_VC_Addons.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"5754af3d-a6af-49eb-b731-bdd82f26dc4e":{"id":"plugin:34db8636812bad84c8aea037c2ddc8c2","title":"Ultimate Responsive Image Slider","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","sliderPro"],"is_default":0,"condition":"ultimate-responsive-image-slider\/ultimate-responsive-image-slider.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"78ae882d-ae31-4179-b677-8893814938c7":{"title":"Unlimited Elements for Elementor Premium - Slider","condition":"unlimited-elements-for-elementor-premium\/unlimited-elements-pro.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elementor\/","\/elementor-pro\/","ElementorProFrontendConfig","elementorFrontendConfig","\/unlimited-elements-for-elementor-premium\/","uc_"],"icon_url":"","type":"plugin","id":"plugin:17260bc347b8c29bee0010e9ec164184","is_default":0,"created_at":1683270377},"051cbfbb-7ad2-4f06-a493-3cf423a80904":{"id":"plugin:6717ef5673a956bc08ca4a5117065d53","title":"Variation Swatches for WooCommerce","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery\/ui\/","\/woo-variation-swatches\/","\/woo-variation-swatches-pro\/","underscore.min.js"],"is_default":0,"condition":"woo-variation-swatches\/woo-variation-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"6879caba-7224-4eca-bcb2-370785b495ea":{"id":"plugin:57597b7683e01892932083413f085134","title":"Web Accessibility By accessiBe","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/accessibe\/","acsbJS"],"is_default":0,"condition":"accessibe\/accessiebe.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"bd6732fe-4c2b-40a1-9035-8464057e2da5":{"title":"WooCommerce - Cart Fragments","condition":"woocommerce\/woocommerce.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/woocommerce\/assets\/js\/frontend\/cart-fragments.min.js","\/woocommerce\/assets\/js\/js-cookie\/js.cookie.min.js"],"icon_url":"","type":"plugin","id":"plugin:201de694c6fc28c8d580a3b2ca484218","is_default":0,"created_at":1680937567},"d044900d-07e1-4533-9516-33106efcb259":{"title":"WooCommerce - Product description","condition":"woocommerce\/woocommerce.php","exclusions":["\/plugins\/woocommerce\/assets\/js\/frontend\/single-product.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:a82644b4c9417ea3a240939a73344700","is_default":0,"created_at":1679309756},"bff953b1-2213-4666-8112-76a84a3cc207":{"title":"WooCommerce - Product Gallery","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/zoom\/jquery.zoom(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/photoswipe\/","\/woocommerce\/?(.*)\/assets\/js\/flexslider\/jquery.flexslider(.min)?.js","\/woocommerce\/?(.*)\/assets\/js\/frontend\/single-product(.min)?.js","wc_single_product_params"],"icon_url":"","type":"plugin","id":"plugin:7665868ff97c265628f376523a4f9ecc","is_default":0,"created_at":1686579689},"016e6ddf-c6e7-49ec-bd3f-2585d9e45895":{"title":"WooCommerce - Select2 library","condition":"woocommerce\/woocommerce.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/woocommerce\/assets\/js\/select2\/select2(.*).js"],"icon_url":"","type":"plugin","id":"plugin:4bca670bd5d55dd24b17fb0193b0891e","is_default":0,"created_at":1681459540},"b9b2c6d7-944f-4ae3-ae04-c9e2204b9dab":{"id":"plugin:9165c768e978d6ad3f696db8c78ccbb2","title":"WooCommerce Attribute Swatches","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/iconic-woo-attribute-swatches-premium\/assets\/frontend\/js\/main.min.js","\/iconic-woo-attribute-swatches-premium\/assets\/vendor\/flickity\/flickity.pkgd.min.js","iconic_was_vars"],"is_default":0,"condition":"iconic-woo-attribute-swatches-premium\/iconic-woo-attribute-swatches.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4506c5e9-7349-44c9-9967-34370c83facb":{"title":"WooCommerce Bookings","condition":"woocommerce-bookings\/woocommerce-bookings.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/woocommerce-bookings\/dist\/frontend.js","\/wp-includes\/js\/dist\/date.min.js","\/wp-includes\/js\/dist\/vendor\/moment.min.js","\/wp-includes\/js\/jquery\/ui\/datepicker.min.js","\/wp-includes\/js\/underscore.min.js","\/woocommerce\/assets\/js\/jquery-blockui\/jquery.blockUI.min.js","\/wp-includes\/js\/dist\/hooks.min.js"],"icon_url":"","type":"plugin","id":"plugin:14dec6d289b9977fa3a74116feecebcc","is_default":0,"created_at":1693998405},"fec9cd04-c358-45da-a1a8-1668b964016b":{"id":"plugin:456f3b849ba3b6647246aca9d7cdaed5","title":"WooCommerce Product Reviews Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","wc_product_reviews_pro","\/woocommerce-product-reviews-pro\/assets\/js\/frontend\/wc-product-reviews-pro-frontend.min.js","\/woocommerce\/assets\/js\/jquery-tiptip\/jquery.tipTip.min.js"],"is_default":0,"condition":"woocommerce-product-reviews-pro\/woocommerce-product-reviews-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"551a9399-627f-4978-9bae-5cc8e0aefc82":{"id":"plugin:c8577e74eef3b082fb6403760d53f68c","title":"WooCommerce TM Extra Product Options","type":"plugin","icon":"","exclusions":["\/woocommerce-tm-extra-product-options\/assets\/js\/epo.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/core.min.js","\/wp-includes\/js\/jquery\/ui\/mouse.min.js","\/wp-includes\/js\/jquery\/ui\/slider.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-util.min.js","\/wp-includes\/js\/dist\/hooks.js","\/wp-includes\/js\/dist\/i18n.js"],"is_default":0,"condition":"woocommerce-tm-extra-product-options\/tm-woo-extra-product-options.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"3cac4650-6a52-448e-8e48-e99a772a59a2":{"id":"plugin:c6e6cab8c80fa3fe57d609f72d2d5c56","title":"WooLentor","type":"plugin","icon":"","exclusions":["\/woolementor\/assets\/third-party\/slick\/slick.min.js","\/woolentor-addons","woolentor_addons"],"is_default":0,"condition":"woolentor-addons\/woolentor_addons_elementor.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"67aeb4cb-1a00-4d10-a00c-34888b4c0dba":{"title":"WooThumbs for WooCommerce","condition":"woothumbs-premium\/woothumbs-premium.php","exclusions":["\/wp-includes\/js\/dist\/hooks.min.js","\/wp-includes\/js\/underscore.min.js","\/wp-includes\/js\/wp-embed.min.js","\/wp-includes\/js\/wp-util.min.js","\/woothumbs-premium\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:b97b1d3f627769e1dd8305aa25af993c","is_default":0,"created_at":1679065404},"c7a14763-88d0-4344-a6af-e0a8dc5fa8d5":{"id":"plugin:31b9e812a025e5750a6ef0980ee7d2db","title":"WordPress Mega Menu \u2013 QuadMenu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/quadmenu","#private-menu","#public-menu"],"is_default":0,"condition":"quadmenu\/quadmenu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f699fdbd-84a7-4f24-b729-3e4a4f83a4dd":{"id":"plugin:601f8fc7d10cad1c2ec2949c0d9b1651","title":"WP Armour","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/honeypot\/includes\/js\/wpa.js","\/wp-armour-extended\/includes\/js\/wpae.js","wpa_hidden_field","wpa_add_test"],"is_default":0,"condition":"wp-armour-extended\/wp-armour-extended.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"6a28aae5-ef91-43fc-8204-92e3a25642b4":{"id":"plugin:5728f3b9856dfe37a36ab15b0a637198","title":"WP Go Maps","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com"],"is_default":0,"condition":"wp-google-maps\/wpGoogleMaps.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c9b991d1-a653-404b-be85-e276b1814e7d":{"title":"WP Google Map Pro","condition":"wp-google-map-gold\/wp-google-map-gold.php","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","maps.google.com\/maps\/api\/js","\/wp-includes\/js\/masonry.min.js","\/wp-google-map-gold\/(.*)"],"icon_url":"","type":"plugin","id":"plugin:dc12a9b7b9c4c7ce3c532b6b377739f2","is_default":0,"created_at":1677858391},"1f8f9fbf-fbf0-4e3a-b77c-af0fa47e950d":{"id":"plugin:87f572f5f0ec143a8fceba77d0616197","title":"WP Google Maps Pro","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-google-maps(.*)","maps.googleapis.com","mgl_","wpgmza"],"is_default":0,"condition":"wp-google-maps-pro\/wp-google-maps-pro.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"41e4b98c-e63f-4800-a478-02592562322b":{"id":"plugin:3735ca768ede98b25795f4cb057ff4ed","title":"WP iCal Availability","type":"plugin","icon":"","exclusions":["\/wp-ical-availability\/js\/custom-select.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-ical-availability\/"],"is_default":0,"condition":"wp-ical-availability\/wp-ical-availability.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2b06c5b8-dc32-4bb0-8504-3a9f1c3a1ec0":{"title":"WP MapIt","condition":"wp-mapit\/wp_mapit.php","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-mapit\/wp_mapit\/js\/leaflet.js","\/wp-mapit\/wp_mapit\/js\/wp_mapit_multipin.js"],"icon_url":"","type":"plugin","id":"plugin:ba8d1c7f294a3f5b593556eb3b0bc7d9","is_default":0,"created_at":1679331261},"2039eafd-1c11-4e21-a61b-30857f291ae3":{"id":"plugin:927b8bf7806f2d287559b86a0b455a59","title":"WP Responsive Menu","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-responsive-menu\/(.*)"],"is_default":0,"condition":"wp-responsive-menu\/wp-responsive-menu.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"e06be942-cccd-4b2d-a268-06dc78f0b820":{"title":"WP Search with Algolia","condition":"wp-search-with-algolia\/algolia.php","exclusions":["\/wp-search-with-algolia\/js\/algoliasearch\/dist\/algoliasearch-lite.umd.js","\/wp-search-with-algolia\/js\/autocomplete-noconflict.js","\/wp-search-with-algolia\/js\/autocomplete.js\/dist\/autocomplete.min.js","var algolia"],"icon_url":"","type":"plugin","id":"plugin:43267e659d599fbb6b42c719b49bb7a7","is_default":0,"created_at":1677857180},"4fc2a7ae-b9e6-410e-93cf-e6d1962add6a":{"id":"plugin:4fb90fc73fc2b5d1e37ea2dadfd3cef3","title":"WP Smart Preloader","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-smart-preloader\/assets\/js\/wsp-main-script(.min)?.js"],"is_default":0,"condition":"wp-smart-preloader\/wp-preloader.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7ecf40ce-2bcd-412c-bb01-9e71fecf6be8":{"id":"plugin:d37bb5054a24471ca1675d9ab49d01b0","title":"WP Store Locator","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/wp-store-locator\/","\/wp-includes\/js\/underscore.min.js","maps.google.com"],"is_default":0,"condition":"wp-store-locator\/wp-store-locator.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7a1d19a2-3a48-40ab-8051-f642fc63ce2d":{"title":"WP Ultimate Post Grid","condition":"wp-ultimate-post-grid\/wp-ultimate-post-grid.php","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/wp-ultimate-post-grid\/dist\/public.js","\/wp-ultimate-post-grid-premium\/dist\/public-premium.js","wpupg_grid_args"],"icon_url":"","type":"plugin","id":"plugin:e24341fef49bd64b89682d583218c108","is_default":0,"created_at":1686597940},"76c86163-ddf3-4113-b620-de9d5058f505":{"id":"plugin:517d7d24da9a7072ed389d0fb30374a0","title":"WPBakery Page Builder","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js"],"is_default":0,"condition":"js_composer\/js_composer.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"4f5e5b98-c326-4b9f-9ada-3b257862132c":{"id":"plugin:1ec7138c950c355e7af60d49c81139fc","title":"wpDataTables","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wpdatatables\/","highcharts"],"is_default":0,"condition":"wpdatatables\/wpdatatables.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"18be1b8c-0bc4-4a01-abc6-a127aff380c6":{"id":"plugin:c62ca58ea081c1271de8dadfa7daac69","title":"WPForms","type":"plugin","icon":"","exclusions":["\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra","wpformsRecaptchaLoad"],"is_default":0,"condition":"wpforms\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"8a3cacb6-81bd-456a-a1cc-a4025f8e5234":{"id":"plugin:0992ac952c0a05bb35e18b1d5744d346","title":"WPForms Lite","type":"plugin","icon":"","exclusions":["wpformsRecaptchaLoad","\/wpforms-offline-forms\/assets\/js\/wpforms-offline-forms.min.js","wpforms-offline-forms-js-extra"],"is_default":0,"condition":"wpforms-lite\/wpforms.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"98bbd410-5b01-4244-a8eb-715765180328":{"title":"XL WooCommerce Sales Triggers","condition":"xl-woocommerce-sales-triggers\/xl-woocommerce-sales-triggers.php","exclusions":["\/xl-woocommerce-sales-triggers\/assets\/js\/wcst_combined.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js"],"icon_url":"","type":"plugin","id":"plugin:ba9e526ddb0157e69757530c6b18b714","is_default":0,"created_at":1677856813},"bf9f9620-dd0e-4e6f-9a45-4eb78a148f42":{"id":"plugin:58663fc781232169e865f6fe7cf1afaa","title":"YITH WooCommerce Ajax Product Filter","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-navigation\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-navigation\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"b053279d-e07c-438c-bb3e-3a1f4f5d7c5e":{"id":"plugin:68b637fd247e40c8e135e4771d739b07","title":"YITH WooCommerce AJAX Product Filter Premium","type":"plugin","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/yith-woocommerce-ajax-product-filter-premium\/assets\/js\/yith-wcan-shortcodes.min.js"],"is_default":0,"condition":"yith-woocommerce-ajax-product-filter-premium\/init.php","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"d94dbbf3-bcab-4e47-9fbb-6b3a7cf92787":{"title":"Yotpo Social Reviews for Woocommerce","condition":"yotpo-social-reviews-for-woocommerce\/wc_yotpo.php","exclusions":["\/yotpo-social-reviews-for-woocommerce\/assets\/js\/headerScript.js"],"icon_url":"","type":"plugin","id":"plugin:45ab742b3fccbd04d7bc973c8582be87","is_default":0,"created_at":1680686421}},"themes":{"9c623554-5834-4669-9e96-1b894c1939b2":{"id":"theme:0193ea55fce2ada93b262f2824008c0f","title":"Andaman","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/andaman\/assets\/js\/","\/wp-andaman-plugins\/shortcodes\/vc_extend\/"],"is_default":0,"condition":"andaman","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7374c5a5-69f8-460f-b44f-dee884a824cd":{"id":"theme:24cbda63f1b898ade5562ab4ec6d97a5","title":"Artale","type":"theme","icon":"","exclusions":["\/artale-elementor\/assets\/js\/modulobox.js","\/artale-elementor\/assets\/js\/artale-elementor.js","\/artale\/js\/jquery-stellar.js","\/artale\/js\/core\/artale-plugins.js","\/artale\/js\/core\/artale-custom.js","var loader"],"is_default":0,"condition":"artale","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"03a9cc62-c167-447d-beb2-65c76c96b056":{"title":"Astra","condition":"astra","exclusions":["\/astra\/assets\/js\/minified\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3cce5f3eaf76e098ba8e28f7bbba3f92","is_default":0,"created_at":1681390022},"2a2b54cb-8e1d-49d2-bfca-93eee231e470":{"id":"theme:72a8d63e59c10bdf512a62b862d143a7","title":"Astra - Carousel","type":"theme","icon":"","exclusions":["var astra","\/astra\/assets\/js\/minified\/style.min.js"],"is_default":0,"condition":"astra","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"7783361f-66fc-4d95-a054-4e9545bb5b48":{"title":"Auteur","condition":"g5plus-auteur","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/g5plus-auteur\/assets\/js\/core.min.js","\/g5plus-auteur\/assets\/vendors\/","\/auteur-framework\/libs\/smart-framework\/assets\/vendors\/perfect-scrollbar\/js\/perfect-scrollbar.jquery.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"icon_url":"","type":"theme","id":"theme:6207fe478e269e7547bda70a46607a49","is_default":0,"created_at":1679737107},"4c618038-8fc7-4d48-8d41-a32da14e5c1e":{"title":"AutoTrader","condition":"autotrader","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/autotrader\/(.*).js"],"icon_url":"","type":"theme","id":"theme:046dfeee2b77390c53e0e7f93b6a3792","is_default":0,"created_at":1679736741},"18f04f23-35a0-4c45-8cb6-a91d57ca1790":{"id":"theme:835da12f43373029659f766920e81b47","title":"Avada - Animations & mobile-specific actions","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).js","window.off_canvas_","\/plugins\/fusion-builder\/","\/plugins\/fusion-core\/","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"90135867-1b95-498b-80d6-f5dbf2f6b318":{"title":"Avada - FAQ shortcode","condition":"Avada","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/plugins\/fusion-core\/js\/min\/avada-faqs.js"],"icon_url":"","type":"theme","id":"theme:b084708c80d8582546e5430219aa4670","is_default":0,"created_at":1678277160},"d23b5bb1-1d7f-4109-bf69-b20a2be2d337":{"id":"theme:5e7a2248e1a53d9bb27b187deb541248","title":"Avada - Fusion carousel","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.carouFredSel.js","\/includes\/lib\/assets\/min\/js\/general\/fusion-carousel.js","fusionCarouselVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"98dfa8c1-e72a-4cef-a0b2-8f0c322490fc":{"id":"theme:f16fb109027f4994a7649a8b1663e6f7","title":"Avada - Fusion form","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-form-logics.js","\/includes\/lib\/assets\/min\/js\/library\/cssua.js","\/includes\/lib\/assets\/min\/js\/general\/fusion.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"026801fa-af67-47ba-b966-347693f0585f":{"id":"theme:33f50696d353d8bd4eb59ff6e8f44c97","title":"Avada - Fusion grid gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-builder\/assets\/js\/min\/general\/fusion-gallery.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c8349314-15a3-481e-973b-e4d936e4420e":{"id":"theme:56fa9993a573540c83eda9c49fae5e3c","title":"Avada - Fusion slider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/fusion-core\/js\/min\/avada-fusion-slider.js","\/Avada\/includes\/"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"55bd510c-78aa-49d5-8304-8be2ee2ab0da":{"id":"theme:2189c1c769d65cfc2182e4822847071b","title":"Avada - Mobile menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-menu.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.easing.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ddf00672-c35c-4b68-aeca-925e68bf12b2":{"id":"theme:97a185f08af70c39c7e221faab0f73eb","title":"Avada - OffCanvas","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uploads\/fusion-scripts\/(.*).min.js","window.off_canvas_"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"17544cc3-9d3a-4611-bc5d-44d04e2786fa":{"id":"theme:6d49e887153f4b7cad1a3c53bc02d506","title":"Avada - Portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/includes\/lib\/assets\/min\/js\/library\/imagesLoaded.js","\/includes\/lib\/assets\/min\/js\/library\/isotope.js","\/includes\/lib\/assets\/min\/js\/library\/lazysizes.js","\/includes\/lib\/assets\/min\/js\/library\/modernizr.js","\/includes\/lib\/assets\/min\/js\/library\/packery.js","\/fusion-core\/js\/min\/avada-portfolio.js","avadaPortfolioVars"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"7a04bc85-0fec-4487-ae05-bb2e5d8d0420":{"id":"theme:e3c0b030e73246225b0609ec32506c47","title":"Avada - portfolio","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/library\/packery.js","\/library\/isotope.js","\/library\/imagesLoaded.js","\/general\/fusion-lightbox.js","\/fusion-core\/js\/min\/avada-portfolio.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"c6c3347c-14e0-4766-afa5-df33a47f5a5a":{"id":"theme:3ff44421b404c5efffa25e78e479e4ea","title":"Avada - Sticky menu","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Avada\/assets\/min\/js\/general\/avada-menu.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"232596c1-6a6a-4fe8-a5c3-a60fa74a9456":{"id":"theme:0d727d80bb132f17c737e55883fe4be0","title":"Avada - WooCommerce product gallery","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/assets\/min\/js\/general\/avada-woo-product-images.js","\/includes\/lib\/assets\/min\/js\/library\/jquery.flexslider.js"],"is_default":0,"condition":"Avada","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"95ece7e4-3b19-45e5-aa28-14f833c9afca":{"title":"Avesa","condition":"avesa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/avesa\/js\/main.js","\/avesa\/js\/isotope.js","\/sw_core\/js\/slick.min.js","\/avesa\/js\/bootstrap-datetimepicker.min.js","\/avesa\/js\/bootstrap.min.js"],"icon_url":"","type":"theme","id":"theme:aad8bfcc594eec02e3b0d635198dee5e","is_default":0,"created_at":1679737993},"f2bfe477-4e45-4e52-a7d9-4d0ba3a92258":{"title":"Besa","condition":"besa","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/besa\/js\/"],"icon_url":"","type":"theme","id":"theme:c238e89523c46ca28b08e401f42f6ccc","is_default":0,"created_at":1679738204},"bd94908c-8138-4995-986b-47ec66494bdd":{"title":"BeTheme","condition":"betheme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/betheme\/","mfn","\/wp-includes\/js\/jquery\/ui\/tabs.min.js","\/wp-includes\/js\/jquery\/ui\/core.min.js"],"icon_url":"","type":"theme","id":"theme:b99156eb9eeb357c0a70bd3bda6861cc","is_default":0,"created_at":1679738639},"6fb2b9d7-6ecc-4260-999c-938fbebdbf01":{"id":"theme:de8504b73ea228d0ea9bbce69752092e","title":"Bridge","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/bridge-creative\/bridge\/js\/","\/wp-includes\/js\/"],"is_default":0,"condition":"bridge","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"65698b6b-85dd-41ef-8fd7-718f1e983dba":{"title":"Car Dealer","condition":"cardealer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/(.*)","\/cardealer\/js\/(.*)"],"icon_url":"","type":"theme","id":"theme:b1111424fff61af8d1e152dcdd6810f6","is_default":0,"created_at":1679737517},"eb86aedb-91e6-480c-b76c-756ac1da41be":{"title":"Clover","condition":"clover-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/clover-theme\/"],"icon_url":"","type":"theme","id":"theme:89372f3d9321ae09c94488592084da29","is_default":0,"created_at":1679738878},"6e90b649-5736-497f-9bc6-515900cfea8a":{"title":"Divi - Animations","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:c0abf30dba4ff13db836d1b01685953a","is_default":0,"created_at":1679737389},"70916c43-4e02-4932-b6aa-91a1815bc755":{"title":"Divi - Background video","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/custom.unified.js","\/js\/mediaelement\/(.*)","mejs"],"icon_url":"","type":"theme","id":"theme:c7edea41ae6716291e2d32a2ab429209","is_default":0,"created_at":1679738240},"08531785-9818-4e30-903e-564637a2ad7a":{"title":"Divi - Counter module","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js","\/js\/magnific-popup.js","var DIVI","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/easypiechart.js"],"icon_url":"","type":"theme","id":"theme:2c46b9f5a770f260c3f7115bb330b2d5","is_default":0,"created_at":1679736810},"b996762a-84ef-440d-a089-73a187936fbf":{"title":"Divi - Mobile menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/js\/custom.unified.js"],"icon_url":"","type":"theme","id":"theme:b9116994f4e4b9b9fa574440c00d2f0d","is_default":0,"created_at":1679738580},"ae096e1e-9c36-46ad-a3d1-c26ea507276b":{"title":"Divi - Sticky elements","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js",".dipi_preloader_wrapper_outer","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/sticky-elements.js","var DIVI"],"icon_url":"","type":"theme","id":"theme:8b62db03c90245f3e690335b079b05dc","is_default":0,"created_at":1679737191},"349f31f0-dd10-41d3-b0a4-9c5df64879f8":{"title":"Divi - Sticky menu","condition":"Divi","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/js\/jquery\/jquery-migrate.min.js","\/Divi\/js\/scripts.min.js","\/Divi\/includes\/builder\/feature\/dynamic-assets\/assets\/js\/magnific-popup.js","jqueryParams","firstHeader"],"icon_url":"","type":"theme","id":"theme:b7b84aca0f0dc6a1ced31d38626c50ea","is_default":0,"created_at":1679738821},"59563458-5f04-4959-b3e2-53e49e169d67":{"title":"Divi - WooCommerce Single Product Images","condition":"Divi","exclusions":["\/Divi\/js\/scripts.min.js"],"icon_url":"","type":"theme","id":"theme:f9c5bdba8b39fc877b41dea00fa756f9","is_default":0,"created_at":1684342262},"6426539e-4e43-4fef-ab5a-3eb7b2a8b057":{"title":"Eikra","condition":"eikra","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/eikra\/assets\/js\/","EikraObj"],"icon_url":"","type":"theme","id":"theme:55d2581ad975eb6325bc97fc3d3b0cb8","is_default":0,"created_at":1679738450},"59020bd6-069f-4f2d-afa2-fbdefa03211c":{"title":"Ekko","condition":"ekko","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ekko\/"],"icon_url":"","type":"theme","id":"theme:2c06f4a1949f8ba4e77042a47674fd9e","is_default":0,"created_at":1679737803},"d82f5cdd-c5d3-4596-94dc-1e25aaff2083":{"title":"Elessi","condition":"elessi-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/elessi-theme\/assets\/js\/min\/functions.min.js","\/elessi-theme\/assets\/js\/min\/main.min.js"],"icon_url":"","type":"theme","id":"theme:d5d2b7fda7b8a2b5b91d430f7602e230","is_default":0,"created_at":1679737773},"f0587c21-54d0-429d-8efe-18a93dacb18d":{"id":"theme:5fc04cc678cb54567aedb51027933002","title":"Enfold","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/dynamic_avia\/avia-footer-scripts-(.*).js","var avia_is_mobile"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"cc0550cb-918e-419d-b4f2-1809cf666dbb":{"id":"theme:eb759a03d0ca292c948f09d004a2963f","title":"Enfold - LayerSlider","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","layerslider"],"is_default":0,"condition":"enfold","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"ec883654-4f63-4fae-a3ef-923dcbc2426d":{"title":"Enfold - Shortcodes","condition":"enfold","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/enfold\/js\/avia.js","\/enfold\/js\/shortcodes.js","\/enfold\/config-templatebuilder\/avia-shortcodes\/","\/enfold\/js\/avia-compat.js","\/enfold\/js\/waypoints\/waypoints.min.js","\/enfold\/js\/avia-snippet-(.*).js"],"icon_url":"","type":"theme","id":"theme:072fc4077d7071791d774d6ddbf5dc2a","is_default":0,"created_at":1684519716},"fe3546f0-be3e-4173-8992-a7f6f203b82f":{"title":"Envision","condition":"envision","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/envision\/lib\/js\/app.min.js","var CloudFwOp"],"is_default":1,"icon_url":"","type":"theme","id":"theme:fc5f7d69b646ed95835badc0fc23bc11","created_at":1679737494},"d997b942-19de-4710-9c81-79d3c65cbd76":{"id":"theme:047f009f2a1f4cdf2088c46be47e385b","title":"Ewebot","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/gt3-themes-core\/","\/uploads\/gt3-assets\/js\/(.*)","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"ewebot","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"53d29aec-8ae4-4273-b748-f5bd52dfe177":{"title":"Farvis","condition":"farvis","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/farvis\/"],"icon_url":"","type":"theme","id":"theme:26bff2f3a6ff6347d35edf5c77a35687","is_default":0,"created_at":1679737972},"fb01246b-a5f8-4021-b514-c02cf55e80bd":{"title":"Flatsome","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/assets\/libs\/packery.pkgd.min.js","\/flatsome\/assets\/js\/woocommerce.js"],"icon_url":"","type":"theme","id":"theme:26fb1cf80f074ca199d8a7e94c5fc796","is_default":0,"created_at":1679738732},"4d65dc12-9ce7-4171-94a7-9821fd95240e":{"id":"theme:28a6f8b3319c107a34603be0f01a4bcf","title":"Flatsome - Google map","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","maps.googleapis.com","google.maps.LatLng","\/wp-includes\/js\/hoverIntent.min.js"],"is_default":0,"condition":"flatsome","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"890e15b6-c66b-4a9e-9b7d-55417df94916":{"title":"Flatsome - Images","condition":"flatsome","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/flatsome\/inc\/integrations\/wp-rocket\/flatsome-wp-rocket.js","\/flatsome\/assets\/js\/flatsome.js","\/flatsome\/inc\/extensions\/flatsome-lazy-load\/flatsome-lazy-load.js"],"icon_url":"","type":"theme","id":"theme:f2d60aad9f2f5395e3e145cf8f8ab165","is_default":0,"created_at":1679737691},"cb54d070-8ee0-4c35-9fa9-b2bac73ccf39":{"title":"Frida","condition":"frida","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/frida\/"],"icon_url":"","type":"theme","id":"theme:109ddf56796a5133e12279f3daa5ff62","is_default":0,"created_at":1679738013},"9e78539a-03d9-442b-ab94-dd3b7a9658e4":{"id":"theme:80a330247d61d729fcd78dc01de6ed2f","title":"GeneratePress - Mobile menu","type":"theme","icon":"","exclusions":["\/generatepress\/assets\/js\/menu.min.js","generatepressMenu","\/gp-premium\/menu-plus\/functions\/js\/offside.min.js"],"is_default":0,"condition":"generatepress","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"2c72e7e6-cb77-44e9-af87-d5c42ae6db52":{"title":"Honor - WPBakery fix","condition":"honor","exclusions":["\/honor\/js\/__scripts.js","HONOR_STORAGE","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:9f228373ff4d172655dbf5cb3b1bc23a","is_default":0,"created_at":1679736895},"9309d1d3-1035-4a2c-8ced-075bc3ff9957":{"title":"HotelMaster","condition":"hotelmaster","exclusions":["\/wp-includes\/js\/jquery\/jquery.min.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/hotelmaster\/javascript\/gdlr-script.js","\/hotelmaster\/plugins\/dl-menu\/modernizr.custom.js","\/hotelmaster\/plugins\/dl-menu\/jquery.dlmenu.js","\/hotelmaster\/plugins\/superfish\/js\/superfish.js","\/hotelmaster\/plugins\/jquery.easing.js"],"icon_url":"","type":"theme","id":"theme:978eaddad3b1047e479407b6d92197aa","is_default":0,"created_at":1679738595},"4a09f745-cbb1-47c8-b50a-c8014d5d1335":{"id":"theme:e813a548bceac6765a1cdf2316f1a6ab","title":"HotelMaster - Blog","type":"theme","icon":"","exclusions":["\/wp-includes\/js\/masonry.min.js","\/gp-premium\/blog\/functions\/js\/scripts.min.js","\/wp-includes\/js\/imagesloaded.min.js"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"f2d8f704-ec68-4278-9ca2-885daa0c1ce5":{"id":"theme:398a264e302e42640553681e8759cd07","title":"HotelMaster - Masonry","type":"theme","icon":"","exclusions":["\/gp-premium\/menu-plus\/functions\/js\/offside.min.js","offSide"],"is_default":0,"condition":"hotelmaster","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"df52436c-53d6-461a-b81a-cd0b21680524":{"title":"JNews","condition":"jnews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/jnews\/assets\/js\/","jnews","jfla"],"icon_url":"","type":"theme","id":"theme:5d90e451984f9d894b1aabb0d00f30a2","is_default":0,"created_at":1679738860},"87ed69a2-3295-4fad-a82e-eeb02925a5dc":{"title":"Jobify","condition":"jobify","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/jobify\/js\/jobify.min.js","\/jobify\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:592006aa4562a6915e344e5e2a09e5ee","is_default":0,"created_at":1686856948},"28a0b1ea-8d2f-4931-a48a-166b8df8a773":{"title":"JOYN","condition":"joyn","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/lib\/modernizr-custom.js","\/swift-framework\/includes\/page-builder\/frontend-assets\/js\/spb-functions.min.js","\/swift-framework\/includes\/swift-slider\/assets\/js\/swift-slider.min.js","\/swift-framework\/public\/js\/lib\/imagesloaded.pkgd.min.js","\/joyn\/js\/owl.carousel.min.js","\/joyn\/js\/theme-scripts.js","\/joyn\/js\/functions.js"],"icon_url":"","type":"theme","id":"theme:c395470ad2d4d681836cd942bbb03120","is_default":0,"created_at":1679738527},"542be60a-2346-4740-9a41-8a580c4f013c":{"title":"Juno Toys","condition":"junotoys","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate.min.js","\/junotoys\/fw\/js\/core.init.js","\/junotoys\/fw\/js\/core.utils.js","\/junotoys\/fw\/js\/superfish.js","\/junotoys\/fw\/js\/swiper\/swiper.js","\/trx_utils\/shortcodes\/theme.shortcodes.js","\/wp-includes\/js\/jquery\/ui\/(.*)"],"icon_url":"","type":"theme","id":"theme:2acab38e8356d36355bb81d931e7fba4","is_default":0,"created_at":1679737788},"06167710-10c7-446e-a08b-ce676e444102":{"title":"Jupiter","condition":"jupiter","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiter\/","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:89c5c30498c2989611f9044be006197c","is_default":0,"created_at":1679738430},"5d042e1f-7e62-4ec4-ba31-30d396004522":{"title":"JupiterX","condition":"jupiterx","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jupiterx\/(.*).js","\/wp-includes\/js\/underscore.min.js","WebFont.load"],"icon_url":"","type":"theme","id":"theme:b06632962a4948d4944fd8d79ffbfceb","is_default":0,"created_at":1679737312},"c4b030ea-66a1-4729-85bf-a484e373a316":{"title":"Kadence","condition":"kadence","exclusions":["\/kadence\/assets\/js\/navigation.min.js","mobile_menu_breakpoint ","kadenceConfig"],"icon_url":"","type":"theme","id":"theme:4b7907ee68218db279648da9bf7102d1","is_default":0,"created_at":1679737958},"20c605b4-3e3a-4bb0-a5e5-a08e2cb0f31f":{"title":"Kalium","condition":"kalium","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kalium\/assets\/js\/main.min.js","mobile_menu_breakpoint","var _k"],"icon_url":"","type":"theme","id":"theme:1fcb99a1ab06e1e36635365ed3e59ce5","is_default":0,"created_at":1679737406},"e1e04a7d-635a-4e28-83d9-e345ce40e354":{"title":"Kava","condition":"kava","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/kava\/assets\/js\/theme-script.js"],"icon_url":"","type":"theme","id":"theme:359d67efbf530c998245225dd3245a88","is_default":0,"created_at":1679738609},"e833c36e-ee89-4924-b608-3f28327c2f85":{"title":"Lay","condition":"lay","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/backbone.min.js","\/wp-includes\/js\/underscore.min.js","\/lay\/","\/laytheme-carousel\/","window.laytheme"],"icon_url":"","type":"theme","id":"theme:7c718c6da874ea6e4b27c6d70bc4e7e8","is_default":0,"created_at":1679737453},"2df2ef47-a833-4711-ba54-48dc62586f37":{"id":"theme:85d9922ac61ed833fd047a67029df8e5","title":"LazaNews","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/jquery.custom.js"],"is_default":0,"condition":"lazanews","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"9443304a-34e9-4700-a03a-5f8f62f83ed1":{"title":"Listeo","condition":"listeo","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listeo\/js\/"],"icon_url":"","type":"theme","id":"theme:db7da585545001f5ae614a2810f08f3a","is_default":0,"created_at":1679737244},"77afa73c-c4a8-42a8-aaee-43f6a761364e":{"title":"ListingPro","condition":"listingpro","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/listingpro\/assets\/lib\/jquerym.menu\/js\/jquery.mmenu.min.all.js","\/listingpro\/assets\/lib\/Magnific-Popup-master\/jquery.magnific-popup.min.js","\/listingpro\/assets\/js\/select2.full.min.js","\/listingpro\/assets\/js\/jquery.city-autocomplete.js","\/listingpro\/assets\/js\/chosen.jquery.min.js","\/listingpro\/assets\/lib\/bootstrap\/js\/bootstrap-slider.js","\/listingpro\/assets\/js\/jquery-ui.js","\/listingpro\/assets\/js\/mapbox.js","\/listingpro\/assets\/js\/main.js","\/listingpro\/assets\/js\/leaflet.markercluster.js","maps"],"icon_url":"","type":"theme","id":"theme:0b365e43dfc65d2b1b70fac6510c7c9c","is_default":0,"created_at":1679737938},"01b369b5-b578-4314-8e95-40b67a41d75a":{"title":"Master Study","condition":"masterstudy","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/masterstudy\/assets\/js\/custom.js ","\/masterstudy\/assets\/vendors\/jquery.fancybox.min.js ","\/masterstudy\/assets\/js\/select2.full.min.js"],"icon_url":"","type":"theme","id":"theme:0ee224c20e4ef7d546733d933db598f2","is_default":0,"created_at":1679737878},"6b000cc7-d33b-4109-9c39-6119a5d81cde":{"title":"Maya","condition":"maya","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/maya\/js\/jquery.mobilemenu.js","\/maya\/js\/jquery.custom.js","\/maya\/core\/includes\/js\/jquery.tipsy.js"],"icon_url":"","type":"theme","id":"theme:719fe28004fcdd81a820602924aa8074","is_default":0,"created_at":1679737916},"ef3c76d6-1041-473d-81ea-a5a6e8c86735":{"title":"MH Magazine","condition":"mh-magazine","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/mh-magazine\/"],"icon_url":"","type":"theme","id":"theme:2a0cd6efc2f46be69de61712729a2ec9","is_default":0,"created_at":1679737743},"9cbb2777-5524-43b8-af36-692b27452c0d":{"title":"Minimog","condition":"minimog","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/minimog\/"],"icon_url":"","type":"theme","id":"theme:61c0c235042359ee7d2a9035e79a7da2","is_default":0,"created_at":1679738135},"7eb81c74-8062-4a6c-bf66-b7c5bc160141":{"title":"Moozo Elementor","condition":"moozo-elementor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/moozo-elementor\/assets\/js\/countdown.js","\/moozo-elementor\/assets\/vendor\/countdown\/countdown.min.js"],"icon_url":"","type":"theme","id":"theme:2ddb538c8e6b6c766fffd0d5c861fd82","is_default":0,"created_at":1679738623},"e90b7bfa-9ff6-4e1a-bf29-6207d55fdd39":{"title":"Motor","condition":"motor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/motor\/js\/"],"icon_url":"","type":"theme","id":"theme:b33538179f5661a86cbe327a1793e199","is_default":0,"created_at":1683973354},"445e625a-f955-41fa-84de-65d9ea19be07":{"title":"My Listing","condition":"my-listing","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/my-listing\/assets\/","\/wp-includes\/js\/dist\/vendor\/moment.min.js","maps.googleapis.com","MyListing","_Explore_Settings"],"icon_url":"","type":"theme","id":"theme:afacb777229ddf5cabceacc64948057d","is_default":0,"created_at":1679737725},"00b8cd2d-2781-4fbb-ac5d-00750ba94ac9":{"title":"Neve - Mobile menu","condition":"neve","exclusions":["\/neve\/assets\/js\/build\/modern\/frontend.js"],"icon_url":"","type":"theme","id":"theme:5ae731cc06dd9284f8172675a6fe81ab","is_default":0,"created_at":1679738714},"483abc54-f1fc-47dc-bfc1-a269c7d1c849":{"id":"theme:649ff22527bac2b1c8e0115cd3851d53","title":"Newspaper - Images","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"50db8d14-d421-4237-be14-a6f7b5c11ec5":{"id":"theme:7e2eeee57ae458c5959342eda6526bf1","title":"Newspaper - Slider & YouTube","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","tagdiv_theme.min.js","tdBlocksArray","tdb_globals","td_youtube_list_ids","iosSlider","\/td-cloud-library\/assets\/js\/js_files_for_front.min.js"],"is_default":0,"condition":"Newspaper","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"514f4c30-2b67-4648-960e-dfe1cc401ca5":{"title":"Niva","condition":"niva","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/niva\/js\/","\/sweetthemes-framework\/js\/","mt_typed"],"icon_url":"","type":"theme","id":"theme:c4838f73a344b829ed626635e210dcf4","is_default":0,"created_at":1679738256},"e67ee504-c3b1-455e-88ab-1fae8c830652":{"title":"OceanWP","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/oceanwp\/"],"icon_url":"","type":"theme","id":"theme:db37af4b7d12695d37d9256313a5f37a","is_default":0,"created_at":1679737552},"e44e240a-8765-4f4f-b67e-d54e4b727506":{"title":"OceanWP - Mobile menu","condition":"oceanwp","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/ocean-side-panel\/assets\/js\/side-panel.min.js","\/oceanwp\/assets\/js\/theme.vanilla.min.js"],"icon_url":"","type":"theme","id":"theme:9babbcd52b2ce558d299a06cd1130a11","is_default":0,"created_at":1679738463},"897b0100-958d-4a02-b6b2-1e753e9869f4":{"title":"PenNews","condition":"pennews","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/pennews\/js\/script.min.js","\/pennews\/js\/script.lib.min.js"],"icon_url":"","type":"theme","id":"theme:02811fa00bc1471bb5be0457ce0ee005","is_default":0,"created_at":1679737471},"edd3ba03-e0fd-4b6e-911b-60b29f3471bf":{"title":"Pharmacy Mentor","condition":"pharmacymentor","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/pharmacymentor\/"],"icon_url":"","type":"theme","id":"theme:3188aaf1ef2c39937450f2a14ebb1174","is_default":0,"created_at":1679738214},"725415ff-cc76-45cc-a131-3170e5aa30fc":{"title":"Porto","condition":"porto","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme.js","\/porto\/js\/theme.min.js"],"icon_url":"","type":"theme","id":"theme:8493f398f200c8dffe60d46439dd3360","is_default":0,"created_at":1679737758},"2c19bcec-f3ff-4873-bfd7-db6bc0f6433c":{"title":"Porto - Owl Carousel","condition":"porto","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-includes\/js\/jquery\/ui\/","\/porto\/js\/theme(|.min).js","\/porto\/js\/libs\/owl.carousel(|.min).js","\/porto\/js\/theme-async(|.min).js","\/prettyPhoto\/jquery.prettyPhoto(|.min).js"],"icon_url":"","type":"theme","id":"theme:f34f5199fb7fca78852cd3fb7758f178","is_default":0,"created_at":1687527252},"31347ccb-f69e-4cd3-bd47-b80ce14ac76e":{"title":"ProPhoto","condition":"prophoto7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/prophoto7\/js\/bundle.front.js","\/wp-includes\/js\/underscore.min.js","PROPHOTO"],"icon_url":"","type":"theme","id":"theme:a5836a56c4472fade4dc6ebfe2281554","is_default":0,"created_at":1679737425},"a8208c04-865c-49aa-ab96-41e378d391c8":{"title":"Publisher","condition":"publisher","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","\/publisher\/js\/"],"icon_url":"","type":"theme","id":"theme:32c73be0cb175da278c8e2af0811b0d1","is_default":0,"created_at":1679738169},"a0d69f3d-1356-4a1d-a600-2f2f788b8a9a":{"title":"REHub","condition":"rehub-theme","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rehub-theme\/js\/custom_floatpanel.js"],"icon_url":"","type":"theme","id":"theme:321af1febb74f488cf911380893739b2","is_default":0,"created_at":1679738502},"8b74bbe5-7f32-42df-908f-78c99a8cad82":{"title":"Rey","condition":"rey","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/rey\/scripts-(.*).js","\/rey-core\/assets\/js\/"],"icon_url":"","type":"theme","id":"theme:e46567cd0f3ec9b37e7230dc87eac367","is_default":0,"created_at":1679737011},"5c9115d3-bcbd-49d6-8feb-4880d2b82bfe":{"title":"Rife Free","condition":"rife-free","exclusions":["\/rife-free\/js\/script.min.js","\/rife-free\/js\/isotope.pkgd.min.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","var reJS"],"icon_url":"","type":"theme","id":"theme:74a449954de79625eccc6750e87af8f6","is_default":0,"created_at":1679738107},"6542b2fd-1f91-4862-aa18-11eecc02faaf":{"title":"Roisin","condition":"roisin","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/themes\/roisin\/assets\/js\/main.min.js","\/plugins\/roisin-core\/assets\/js\/roisin-core.min.js","\/wp-includes\/js\/hoverIntent.min.js"],"icon_url":"","type":"theme","id":"theme:8f38fe58034772931110930b91cb6797","is_default":0,"created_at":1685964523},"5a192ad9-d150-4aa0-8efc-d68131cb7a37":{"title":"Sahifa - Mobile Menu","condition":"sahifa","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/themes\/sahifa\/js\/ilightbox.packed.js","\/translate_a\/element.js"],"icon_url":"","type":"theme","id":"theme:06ebe49f4c1e5b04cece831f8bb198a3","is_default":0,"created_at":1687540363},"7ae9d978-d63c-4a58-beb3-418bebb5b23c":{"title":"Salient","condition":"salient","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js","\/salient\/","winW > bodyW"],"icon_url":"","type":"theme","id":"theme:b3e12d57ac23897be1bb2c673e3fc761","is_default":0,"created_at":1679736950},"35aaa6c5-4a37-4161-b504-fb3ebc4b1148":{"id":"theme:d612db1dd8dc76faa6a36a9ebfd336dc","title":"Salient - Nectar slider","type":"theme","icon":"","exclusions":["\/salient-nectar-slider\/js\/nectar-slider.js","\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js ","\/jquery-migrate(.min)?.js"],"is_default":0,"condition":"salient","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"84c95206-3e59-4eb3-a0c9-e2231a1c0a48":{"title":"SEO Lounge","condition":"seolounge","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?$","\/js_composer\/assets\/js\/dist\/js_composer_front.min.js","\/seolounge\/js\/radiantthemes-custom.js","\/seolounge\/js\/radiantthemes-core.min.js"],"icon_url":"","type":"theme","id":"theme:3d72b779d9c4ba6b51cc5b245b141433","is_default":0,"created_at":1691695809},"cd44aa56-088a-40dd-bf1e-f835efa68626":{"title":"Shoptimizer","condition":"shoptimizer","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/shoptimizer\/assets\/js\/lazyload-bg.js","\/shoptimizer\/assets\/js\/main.min.js"],"icon_url":"","type":"theme","id":"theme:6c32b43f4da639e5901574fac6b7d387","is_default":0,"created_at":1679737143},"d2c48a48-430a-4eea-bc05-99b66f1f6a7b":{"title":"SmartMag","condition":"smart-mag","exclusions":["\/smart-mag\/js\/lazyload.js"],"icon_url":"","type":"theme","id":"theme:23d6b7878bd0087addb067db3fa39864","is_default":0,"created_at":1679738490},"dd0d9133-ef17-4dac-b174-9f25d535838f":{"title":"Soledad","condition":"soledad","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/soledad\/js\/main.js","\/soledad\/js\/more-post.js","\/soledad\/js\/libs-script.min.js"],"icon_url":"","type":"theme","id":"theme:d3f78b26c2d11c99230171cc6378d06e","is_default":0,"created_at":1679737664},"d657dc56-5c04-439a-8987-401f89a65bf9":{"title":"Stockholm","condition":"stockholm","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/stockholm\/js\/"],"icon_url":"","type":"theme","id":"theme:fcfff492e00727b63cf5dff9f59bc2a4","is_default":0,"created_at":1679738378},"121f9b1b-d3cd-4dde-915e-0b348abf6687":{"title":"Storefront","condition":"storefront","exclusions":["\/storefront\/assets\/js\/navigation.min.js"],"icon_url":"","type":"theme","id":"theme:f0dca7e4eaedf573d4664be249845942","is_default":0,"created_at":1679738793},"41cfc83f-ff02-4a35-a3b7-e92db213b224":{"title":"StreamTube","condition":"streamtube","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/streamtube\/","\/streamtube-core\/"],"icon_url":"","type":"theme","id":"theme:9772ccddd470688f6bc6aee86e34d29b","is_default":0,"created_at":1679331431},"aec0a548-4c6b-400a-80ed-19a49e0faef0":{"title":"The7","condition":"dt-the7","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/wp-includes\/js\/jquery\/jquery-migrate.min.js","loader-removed","\/Ultimate_VC_Addons\/assets\/min-js\/","\/dt-the7\/","\/js_composer\/"],"icon_url":"","type":"theme","id":"theme:7934c689fd20e30b6bfc69bb9d46cb63","is_default":0,"created_at":1679737892},"538354ff-d69f-40be-b0cc-df3790599dd2":{"title":"TheGem","condition":"thegem","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/thegem\/js\/","gemSettings","thegemSlideshow","tgpLazyItemsOptions"],"icon_url":"","type":"theme","id":"theme:153c54fe73897da838ce39152b1db5a8","is_default":0,"created_at":1679738477},"68f2de3b-e2b8-4edf-b82f-93fd7834c65f":{"title":"Total","condition":"Total","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/Total\/assets\/js\/total.min.js"],"icon_url":"","type":"theme","id":"theme:96b0141273eabab320119c467cdcaf17","is_default":0,"created_at":1679737571},"6dc1cb35-6b50-4da0-9834-dddf169edaa6":{"id":"theme:7c37c885d7fecf788f635734f99e8610","title":"Townhub","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/townhub-add-ons\/assets\/js\/(.*)","\/wp-includes\/js\/dist\/vendor\/react.js","\/wp-includes\/js\/dist\/vendor\/react-dom.js"],"is_default":0,"condition":"townhub","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f484f86b-e316-4871-9322-dee3925349fe":{"title":"Travel Monster - Owl Carousel","condition":"travel-monster","exclusions":["\\\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\\?(.*))?( |'|\"|>)","\/wp-content\/plugins\/wp-travel-engine\/assets\/lib\/owl-carousel(.*)\/owl.carousel(|.min).js","var isRtl"],"icon_url":"","type":"theme","id":"theme:d3e8da87b3affd399205438fbc8a4f05","is_default":0,"created_at":1690822771},"14cb0a85-8bee-491e-99d7-5f20a07f4bdd":{"title":"Uncode","condition":"uncode","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/uncode\/library\/js\/init(.min)?.js","\/uncode\/library\/js\/plugins(.min)?.js","\/uncode\/library\/js\/app(.min)?.js","\/uncode\/library\/js\/woocommerce-uncode(.min)?.js","\/wp-includes\/js\/mediaelement\/mediaelement-and-player.min.js","initHeader","initBox","fixMenuHeight","initRow"],"icon_url":"","type":"theme","id":"theme:18ba19b98aefbb6c0fde6c6bf92e9cfc","is_default":0,"created_at":1679738154},"88e96479-1aa2-4adc-8f07-20bc0368a63f":{"title":"Werkstatt","condition":"werkstatt","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/js\/underscore.min.js","\/werkstatt\/assets\/js\/vendor.min.js","\/werkstatt\/assets\/js\/fullscreen.min.js","\/werkstatt\/assets\/js\/app.min.js"],"icon_url":"","type":"theme","id":"theme:38faa29db5a07b8fef6aee9cc11cafec","is_default":0,"created_at":1679737639},"60c4110b-a960-4d44-b619-6d79514dbf75":{"title":"Woodmart","condition":"woodmart","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/wp-includes\/js\/imagesloaded.min.js","\/woodmart\/js\/scripts\/wc\/","\/woodmart\/js\/scripts\/global\/","\/woodmart\/js\/libs\/owl.carousel.min.js","\/woodmart\/js\/libs\/owl.carousel.js","\/woodmart\/js\/libs\/slick.js","\/woodmart\/js\/libs\/autocomplete.min.js"],"icon_url":"","type":"theme","id":"theme:06338f13cb89e5309ad2eb7e4d457be4","is_default":0,"created_at":1695633901},"119ebd1c-6b46-4f07-8d6a-3498d9c8814f":{"title":"XStore","condition":"xstore","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/xstore\/js\/","\/et-core-plugin\/packages\/st-woo-swatches\/public\/js\/frontend.min.js"],"icon_url":"","type":"theme","id":"theme:3de9d9ba385200548f177d9c704ae92a","is_default":0,"created_at":1679738190},"9a7a548c-07a1-4dff-93fc-6e8230b67853":{"id":"theme:119d329456073aa10969d7cbd9760f28","title":"YOOtheme Pro","type":"theme","icon":"","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","uikit.min.js"],"is_default":0,"condition":"yootheme","created_at":1676435704,"updated_at":"2023-02-15T04:32:17.000000Z","icon_url":""},"f74c499e-b7d9-4590-8671-379f51f468c8":{"title":"Zeen","condition":"zeen","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","\/zeen\/assets\/js\/","\/js.cookie.min.js"],"icon_url":"","type":"theme","id":"theme:acb52844f996627788836366404a3245","is_default":0,"created_at":1679737859}},"scripts":{"dd0c5a5b-ec56-49f9-9aa4-89e1e3a6a28a":{"title":"Amazon Ads","exclusions":["amazon-adsystem.com"],"icon_url":"","type":"script","id":"script:b82a5936d8ea0745016caeb71629ae5d","is_default":0,"created_at":1681390276},"980edf32-c64b-4370-bf23-c62b079e71c3":{"title":"Google AdSense","exclusions":["adsbygoogle"],"icon_url":"","type":"script","id":"script:0206e6040c8ff64b8d6ee5fef2ce1c90","is_default":0,"created_at":1681377840},"2499bb90-0753-4b2b-9bd4-1525f94c7437":{"title":"Google Analytics","exclusions":["google-analytics.com\/analytics.js","ga\\( '","ga\\('"],"icon_url":"","type":"script","id":"script:d86cf69a8b82547a94ca3f6a307cf9a6","is_default":0,"created_at":1681388311},"6f460036-3106-4b8c-9951-d32de9b1258f":{"title":"Google Maps","exclusions":["maps.googleapis.com","maps.google.com"],"icon_url":"","type":"script","id":"script:4d60ab2c6d11d753267484006c23e54c","is_default":0,"created_at":1681390259},"ac2d5720-9418-468c-80a0-3874ee743c0f":{"title":"Google Optimize","exclusions":["a,s,y,n,c,h,i,d,e","googleoptimize.com\/optimize.js","async-hide"],"icon_url":"","type":"script","id":"script:031a0cece38c4739df67f910dcabf1bd","is_default":0,"created_at":1681390261},"122e6ebb-51fd-477f-97fb-559593f1a48b":{"title":"Google Recaptcha","exclusions":["recaptcha"],"icon_url":"","type":"script","id":"script:032cb16577cbf07bc7c02bac83bd936d","is_default":0,"created_at":1681390264},"219277ae-b2ac-4d42-913d-eaea40985295":{"title":"Google Tag Manager","exclusions":["\/gtag\/js","gtag\\(","\/gtm.js","async-hide"],"icon_url":"","type":"script","id":"script:1d3c65b2b03ef35e14df6b163ea3a1f6","is_default":0,"created_at":1681390266},"f632e3f4-20e6-471e-a78d-86afbea63586":{"title":"HubSpot","exclusions":["\/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js","\/jquery-migrate(.min)?.js","js.hsforms.net","hbspt.forms.create"],"icon_url":"","type":"script","id":"script:de4bd8ef4675ebb85a055955de76d0ee","is_default":0,"created_at":1679331623},"5d606add-ffb8-4a06-b295-5f722710fbfd":{"title":"Refari","exclusions":["widget.refari.co","refari"],"icon_url":"","type":"script","id":"script:a705e197b13b47e72a105c923e044358","is_default":0,"created_at":1683797056},"742ec14a-27a1-4789-b9c8-a9c3a3cf7042":{"title":"Reviews.io","exclusions":["\/carousel-inline-iframeless\/dist.js","carouselInlineWidget"],"icon_url":"","type":"script","id":"script:4df445c576f45889506ba175a4c39fdc","is_default":0,"created_at":1684389426},"05d3eb78-f574-49be-95e1-3f11714005d1":{"id":"script:ce7566d1d08cc094b74cf283cf9c56a5","title":"Stripe","type":"script","icon":"","exclusions":["js.stripe.com"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""},"b56bf06c-2f8c-4757-b536-a689fb0e75f9":{"title":"Typekit","exclusions":["typekit"],"icon_url":"","type":"script","id":"script:7815e38b93e3b500a632681bd594bd61","is_default":0,"created_at":1681390268},"49c38c0a-43b9-4237-88cb-57ddd519f0ad":{"title":"Venatus Media","exclusions":["\/ad-manager.min.js","__vm_add"],"icon_url":"","type":"script","id":"script:abe11528732aed9a19a97e73b242faa5","is_default":0,"created_at":1681390272},"2c1d0998-8ab5-478c-8eb9-9e375b46363e":{"title":"Wistia","exclusions":["fast.wistia.com"],"icon_url":"","type":"script","id":"script:9a0111f8c3186c1cb3113587c660c041","is_default":0,"created_at":1681390274},"0627fe24-7e9d-400f-b064-d98bec2ba85e":{"id":"script:dbd1875130c71eb4b2ef768ad18d820c","title":"Yandex Ads","type":"script","icon":"","exclusions":["yandex.ru","window.yaContextCb"],"is_default":0,"condition":"","created_at":1676435704,"updated_at":"2023-02-15T04:32:16.000000Z","icon_url":""}}}
\ No newline at end of file
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php
new file mode 100755
index 000000000..0c5ea5a16
--- /dev/null
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Admin/Metaboxes/PostEditOptionsSubscriber.php
@@ -0,0 +1,207 @@
+options = $options;
+ }
+
+ /**
+ * Return an array of events that this subscriber wants to listen to.
+ *
+ * @return array
+ */
+ public static function get_subscribed_events() {
+ return [
+ 'add_meta_boxes' => 'options_metabox',
+ 'save_post' => 'save_metabox_options',
+ ];
+ }
+
+ /**
+ * Add options metabox on post edit page
+ *
+ * @return void
+ */
+ public function options_metabox() {
+ if ( ! rocket_can_display_options() ) {
+ return;
+ }
+
+ if ( ! current_user_can( 'rocket_manage_options' ) ) {
+ return;
+ }
+
+ $cpts = get_post_types(
+ [
+ 'public' => true,
+ ],
+ 'objects'
+ );
+
+ unset( $cpts['attachment'] );
+
+ /**
+ * Filters the post types to add the options metabox to
+ *
+ * @param array $cpts Array of post types.
+ */
+ $cpts = apply_filters( 'rocket_metabox_options_post_types', $cpts );
+
+ foreach ( $cpts as $cpt => $cpt_object ) {
+ $label = $cpt_object->labels->singular_name;
+ add_meta_box( 'rocket_post_exclude', sprintf( __( 'WP Rocket Options', 'rocket' ), $label ), [ $this, 'display_metabox' ], $cpt, 'side', 'core' );
+ }
+ }
+
+ /**
+ * Displays checkboxes to de/activate some options
+ *
+ * @return void
+ */
+ public function display_metabox() {
+ if ( ! current_user_can( 'rocket_manage_options' ) ) {
+ return;
+ }
+
+ global $post, $pagenow;
+
+ $excluded_url = false;
+
+ if ( 'post-new.php' !== $pagenow ) {
+ $path = rocket_clean_exclude_file( get_permalink( $post->ID ) );
+
+ if ( in_array( $path, $this->options->get( 'cache_reject_uri', [] ), true ) ) {
+ $excluded_url = true;
+ }
+ }
+
+ $original_fields = [];
+
+ /**
+ * WP Rocket Metabox fields on post edit page.
+ *
+ * @param string[] $original_fields Metaboxes fields.
+ */
+ $fields = apply_filters( 'rocket_meta_boxes_fields', $original_fields );
+
+ if ( ! is_array( $fields ) ) {
+ $fields = $original_fields;
+ }
+
+ $fields_attributes = [];
+
+ foreach ( $fields as $field => $label ) {
+ $disabled = disabled( ! $this->options->get( $field ), true, false );
+
+ $fields_attributes[ $field ]['id'] = $field;
+ $fields_attributes[ $field ]['label'] = $label;
+ // translators: %s is the name of the option.
+ $fields_attributes[ $field ]['title'] = $disabled ? ' title="' . esc_attr( sprintf( __( 'Activate first the %s option.', 'rocket' ), $label ) ) . '"' : '';
+ $fields_attributes[ $field ]['class'] = $disabled ? ' class="rkt-disabled"' : '';
+ $fields_attributes[ $field ]['checked'] = ! $disabled ? checked( ! get_post_meta( $post->ID, '_rocket_exclude_' . $field, true ), true, false ) : '';
+ $fields_attributes[ $field ]['disabled'] = $disabled;
+ }
+
+ echo $this->generate( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ 'post_edit_options',
+ [
+ 'excluded_url' => $excluded_url, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ 'fields' => $fields_attributes, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
+ ]
+ );
+ }
+
+ /**
+ * Updates the options from the metabox.
+ *
+ * @return void
+ */
+ public function save_metabox_options() {
+ if ( ! current_user_can( 'rocket_manage_options' ) ) {
+ return;
+ }
+
+ if ( ! isset( $_POST['post_ID'], $_POST['rocket_post_exclude_hidden'] ) ) {
+ return;
+ }
+
+ check_admin_referer( 'rocket_box_option', '_rocketnonce' );
+
+ // No cache field.
+ if ( isset( $_POST['post_status'] ) && 'publish' === $_POST['post_status'] ) {
+ $new_cache_reject_uri = $cache_reject_uri = $this->options->get( 'cache_reject_uri', [] ); // phpcs:ignore Squiz.PHP.DisallowMultipleAssignments.Found
+ $rejected_uris = array_flip( $cache_reject_uri );
+ $path = rocket_clean_exclude_file( get_permalink( (int) $_POST['post_ID'] ) );
+
+ if ( isset( $_POST['rocket_post_nocache'] ) ) {
+ if ( ! isset( $rejected_uris[ $path ] ) ) {
+ array_push( $new_cache_reject_uri, $path );
+ }
+ } else {
+ if ( isset( $rejected_uris[ $path ] ) ) {
+ unset( $new_cache_reject_uri[ $rejected_uris[ $path ] ] );
+ }
+ }
+
+ if ( $new_cache_reject_uri !== $cache_reject_uri ) {
+ // Update the "Never cache the following pages" option.
+ update_rocket_option( 'cache_reject_uri', $new_cache_reject_uri );
+
+ // Update config file.
+ rocket_generate_config_file();
+ }
+ }
+
+ $original_fields = [];
+
+ /**
+ * Metaboxes fields.
+ *
+ * @param string[] $original_fields Metaboxes fields.
+ */
+ $fields = apply_filters( 'rocket_meta_boxes_fields', $original_fields );
+
+ if ( ! is_array( $fields ) ) {
+ $fields = $original_fields;
+ }
+
+ $fields = array_keys( $fields );
+
+ foreach ( $fields as $field ) {
+ if ( ! isset( $_POST['rocket_post_exclude_hidden'][ $field ] ) ) {
+ continue;
+ }
+
+ if ( isset( $_POST['rocket_post_exclude'][ $field ] ) ) {
+ delete_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field );
+ continue;
+ }
+
+ if ( $this->options->get( $field ) ) {
+ update_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field, true );
+ }
+ }
+ }
+}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php
index 6425335e6..9231bdf2d 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Admin/ServiceProvider.php
@@ -2,8 +2,8 @@
namespace WP_Rocket\Engine\Admin;
use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider;
-use WP_Rocket\Engine\Admin\Deactivation\DeactivationIntent;
-use WP_Rocket\Engine\Admin\Deactivation\Subscriber;
+use WP_Rocket\Engine\Admin\Deactivation\{DeactivationIntent, Subscriber};
+use WP_Rocket\Engine\Admin\Metaboxes\PostEditOptionsSubscriber;
use WP_Rocket\ThirdParty\Plugins\Optimization\Hummingbird;
/**
@@ -27,6 +27,7 @@ class ServiceProvider extends AbstractServiceProvider {
'deactivation_intent_subscriber',
'hummingbird_subscriber',
'actionscheduler_admin_subscriber',
+ 'post_edit_options_subscriber',
];
/**
@@ -48,5 +49,9 @@ public function register() {
->addArgument( $options )
->addTag( 'admin_subscriber' );
$this->getContainer()->share( 'actionscheduler_admin_subscriber', ActionSchedulerSubscriber::class );
+ $this->getContainer()->share( 'post_edit_options_subscriber', PostEditOptionsSubscriber::class )
+ ->addArgument( $options )
+ ->addArgument( $this->getContainer()->get( 'template_path' ) . '/metaboxes' )
+ ->addTag( 'admin_subscriber' );
}
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php
new file mode 100755
index 000000000..281259b49
--- /dev/null
+++ b/wp-content/plugins/wp-rocket/inc/Engine/CDN/Admin/Subscriber.php
@@ -0,0 +1,32 @@
+ [ 'add_meta_box', 9 ],
+ ];
+ }
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['cdn'] = __( 'CDN', 'rocket' );
+
+ return $fields;
+ }
+}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php
index 3650cf44e..a24516029 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/CDN/ServiceProvider.php
@@ -2,6 +2,7 @@
namespace WP_Rocket\Engine\CDN;
use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider;
+use WP_Rocket\Engine\CDN\Admin\Subscriber as AdminSubscriber;
/**
* Service provider for WP Rocket CDN
@@ -21,6 +22,7 @@ class ServiceProvider extends AbstractServiceProvider {
protected $provides = [
'cdn',
'cdn_subscriber',
+ 'cdn_admin_subscriber',
];
/**
@@ -37,5 +39,7 @@ public function register() {
->addArgument( $options )
->addArgument( $this->getContainer()->get( 'cdn' ) )
->addTag( 'common_subscriber' );
+ $this->getContainer()->share( 'cdn_admin_subscriber', AdminSubscriber::class )
+ ->addTag( 'admin_subscriber' );
}
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php
index fc40be739..6f07bc4ac 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Cache/PurgeActionsSubscriber.php
@@ -54,7 +54,7 @@ public static function get_subscribed_events() {
],
'rocket_rucss_complete_job_status' => [ 'purge_url_cache', 100 ],
'rocket_rucss_after_clearing_usedcss' => 'purge_url_cache',
- 'rocket_after_save_dynamic_lists' => 'purge_cache',
+ 'rocket_after_save_dynamic_lists' => 'purge_cache_after_saving_dynamic_lists',
'update_option_' . $slug => [ 'purge_cache_reject_uri_partially', 10, 2 ],
'update_option_blog_public' => 'purge_cache',
];
@@ -179,4 +179,18 @@ public function purge_cache() {
public function purge_cache_reject_uri_partially( array $old_value, array $value ): void {
$this->purge->purge_cache_reject_uri_partially( $old_value, $value );
}
+
+ /**
+ * Purge cache after saving dynamic lists.
+ *
+ * @param bool $should_purge Should purge or not.
+ *
+ * @return void
+ */
+ public function purge_cache_after_saving_dynamic_lists( $should_purge = true ) {
+ if ( ! $should_purge ) {
+ return;
+ }
+ $this->purge_cache();
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php b/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php
index 733581851..b859ceda0 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Common/Queue/RUCSSQueueRunner.php
@@ -213,15 +213,27 @@ protected function do_batch( $size = 100, $context = '' ) {
$this->store->release_claim( $claim );
$this->monitor->detach();
$this->clear_caches();
-
+ $this->reset_group();
return $processed_actions;
} catch ( \Exception $exception ) {
Logger::debug( $exception->getMessage() );
-
+ $this->reset_group();
return 0;
}
}
+ /**
+ * Reset group in store's claim filter.
+ *
+ * @return void
+ */
+ private function reset_group() {
+ if ( ! method_exists( $this->store, 'set_claim_filter' ) ) {
+ return;
+ }
+ $this->store->set_claim_filter( 'group', '' );
+ }
+
/**
* Running large batches can eat up memory, as WP adds data to its object cache.
*
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php
index a9a5139c9..129697f63 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/Admin/Subscriber.php
@@ -1,4 +1,5 @@
'add_regenerate_menu_item',
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 3 ],
];
}
@@ -186,4 +188,17 @@ public function enqueue_admin_cpcss_heartbeat_script() {
public function add_regenerate_menu_item( $wp_admin_bar ) {
$this->admin->add_regenerate_menu_item( $wp_admin_bar );
}
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['async_css'] = __( 'Load CSS asynchronously', 'rocket' );
+
+ return $fields;
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php
index 9c421bdd2..3504e1de7 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/Deactivation.php
@@ -2,7 +2,11 @@
namespace WP_Rocket\Engine\Deactivation;
+use WP_Rocket\Admin\Options;
use WP_Rocket\Dependencies\League\Container\Container;
+use WP_Rocket\Engine\Admin\Beacon\ServiceProvider as BeaconServiceProvider;
+use WP_Rocket\Engine\Support\ServiceProvider as SupportServiceProvider;
+use WP_Rocket\ServiceProvider\Options as OptionsServiceProvider;
use WP_Rocket\ThirdParty\Hostings\HostResolver;
class Deactivation {
@@ -15,6 +19,7 @@ class Deactivation {
'advanced_cache',
'capabilities_manager',
'wp_cache',
+ 'cloudflare_plugin_subscriber',
];
/**
@@ -27,7 +32,13 @@ public static function deactivate_plugin() {
$container = new Container();
+ $container->add( 'options_api', new Options( 'wp_rocket_' ) );
$container->add( 'template_path', WP_ROCKET_PATH . 'views' );
+
+ $container->addServiceProvider( OptionsServiceProvider::class );
+ $container->addServiceProvider( BeaconServiceProvider::class );
+ $container->addServiceProvider( SupportServiceProvider::class );
+
$container->addServiceProvider( 'WP_Rocket\Engine\Deactivation\ServiceProvider' );
$container->addServiceProvider( 'WP_Rocket\ThirdParty\Hostings\ServiceProvider' );
@@ -91,7 +102,7 @@ public static function deactivate_plugin() {
delete_site_transient( 'wp_rocket_update_data' );
// Delete user metadata.
- delete_user_meta( get_current_user_id(), 'rocket_boxes' );
+ rocket_renew_box( 'preload_notice' );
// Unschedule WP Cron events.
wp_clear_scheduled_hook( 'rocket_cache_dir_size_check' );
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php
index 34f4d75c5..c1ba3ee65 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Deactivation/ServiceProvider.php
@@ -6,6 +6,8 @@
use WP_Rocket\Engine\Cache\AdvancedCache;
use WP_Rocket\Engine\Cache\WPCache;
use WP_Rocket\Engine\Capabilities\Manager;
+use WP_Rocket\ThirdParty\Plugins\CDN\Cloudflare;
+use WP_Rocket\ThirdParty\Plugins\CDN\CloudflareFacade;
/**
* Service Provider for the activation process.
@@ -27,6 +29,7 @@ class ServiceProvider extends AbstractServiceProvider implements BootableService
'advanced_cache',
'capabilities_manager',
'wp_cache',
+ 'cloudflare_plugin_subscriber',
];
/**
@@ -46,6 +49,15 @@ public function boot() {
public function register() {
$filesystem = rocket_direct_filesystem();
+ $this->getContainer()->add( 'cloudflare_plugin_facade', CloudflareFacade::class );
+ $this->getContainer()
+ ->share( 'cloudflare_plugin_subscriber', Cloudflare::class )
+ ->addArgument( $this->getContainer()->get( 'options' ) )
+ ->addArgument( $this->getContainer()->get( 'options_api' ) )
+ ->addArgument( $this->getContainer()->get( 'beacon' ) )
+ ->addArgument( $this->getContainer()->get( 'cloudflare_plugin_facade' ) )
+ ->addTag( 'common_subscriber' );
+
$this->getContainer()->add( 'advanced_cache', AdvancedCache::class )
->addArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' )
->addArgument( $filesystem );
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php
index a6b0da105..cabe944d8 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/AdminSubscriber.php
@@ -1,4 +1,5 @@
[ 'add_option', 15 ],
'rocket_input_sanitize' => 'sanitize_exclude_lazyload',
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 7 ],
];
}
@@ -48,4 +50,18 @@ public function sanitize_exclude_lazyload( array $input ) : array {
return $input;
}
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['lazyload'] = __( 'LazyLoad for images', 'rocket' );
+ $fields['lazyload_iframes'] = __( 'LazyLoad for iframes/videos', 'rocket' );
+
+ return $fields;
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php
index 9bb4fcf44..befe17b2b 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php
@@ -1,4 +1,6 @@
'add_meta_box',
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 8 ],
'admin_notices' => 'maybe_add_error_notice',
'rocket_safe_mode_reset_options' => 'add_option_safemode',
];
}
/**
- * Add the field to the metaboxes.
+ * Add the field to the WP Rocket metabox on the post edit page.
*
- * @param array $fields Metaboxes fields.
- * @return array
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
*/
public function add_meta_box( array $fields ) {
$fields['lazyload_css_bg_img'] = __( 'LazyLoad CSS backgrounds', 'rocket' );
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php
index c104c1cf2..054ee3ae6 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CSS/Front/MappingFormatter.php
@@ -25,6 +25,7 @@ public function format( array $data ): array {
$formatted_urls[] = [
'selector' => $selector,
'style' => $variable_placeholder,
+ 'hash' => $hash,
];
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php
index e187f8118..6a30f1ec8 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Media/Lazyload/CanLazyloadTrait.php
@@ -1,4 +1,5 @@
'add_defer_js_option',
'wp_rocket_upgrade' => [ 'exclude_jquery_defer', 14, 2 ],
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 5 ],
];
}
@@ -63,4 +64,17 @@ public function exclude_jquery_defer( $new_version, $old_version ) {
$this->defer_js->exclude_jquery_upgrade();
}
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['defer_all_js'] = __( 'Load JavaScript deferred', 'rocket' );
+
+ return $fields;
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php
index 40b8f71b8..684fb4510 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DelayJS/Admin/Subscriber.php
@@ -1,5 +1,5 @@
'add_plugin_exclusions',
'deactivate_plugin' => 'remove_plugin_exclusions',
'switch_theme' => [ 'handle_switch_theme_exclusions', 10, 3 ],
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 6 ],
];
}
@@ -197,4 +198,17 @@ public function add_plugin_exclusions( string $plugin ) {
}
$this->site_list->add_default_plugin_exclusions( $plugin );
}
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['delay_js'] = __( 'Delay JavaScript execution', 'rocket' );
+
+ return $fields;
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php
index a2f63edbb..a43b4ac24 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/DynamicLists.php
@@ -102,8 +102,9 @@ public function update_lists_from_remote() {
];
}
- $response = [];
- $success = false;
+ $response = [];
+ $success = false;
+ $should_purge = false;
foreach ( $this->providers as $provider ) {
$result = $provider->api_client->get_exclusions_list( $provider->data_manager->get_lists_hash() );
@@ -141,6 +142,8 @@ public function update_lists_from_remote() {
'data' => '',
'message' => __( 'Lists are successfully updated.', 'rocket' ),
];
+
+ $should_purge |= $provider->clear_cache ?? true;
}
if ( $success ) {
@@ -148,8 +151,10 @@ public function update_lists_from_remote() {
* Fires after saving all dynamic lists files.
*
* @since 3.12.1
+ *
+ * @param bool $should_purge Should purge status based on the updated providers.
*/
- do_action( 'rocket_after_save_dynamic_lists' );
+ do_action( 'rocket_after_save_dynamic_lists', $should_purge );
}
return $response;
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php
index dd141f9f0..59e9059ed 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/DynamicLists/ServiceProvider.php
@@ -70,6 +70,7 @@ public function register() {
'api_client' => $this->getContainer()->get( 'dynamic_lists_incompatible_plugins_lists_api_client' ),
'data_manager' => $this->getContainer()->get( 'dynamic_lists_incompatible_plugins_lists_data_manager' ),
'title' => __( 'Incompatible plugins Lists', 'rocket' ),
+ 'clear_cache' => false,
],
];
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php
index 5581f8ee0..1c466e9cb 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/AdminSubscriber.php
@@ -30,7 +30,8 @@ public function __construct( Options_Data $options ) {
*/
public static function get_subscribed_events() {
return [
- 'switch_theme' => 'clean_minify_all',
+ 'switch_theme' => 'clean_minify_all',
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 4 ],
];
}
@@ -52,4 +53,16 @@ public function clean_minify_all() {
// Delete all minify cache files.
rocket_clean_minify();
}
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['minify_js'] = __( 'Minify/combine JavaScript', 'rocket' );
+ return $fields;
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php
index 86732b62b..0e0f35b0f 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/Minify/CSS/AdminSubscriber.php
@@ -1,14 +1,10 @@
[ 'clean_minify', 10, 2 ],
"pre_update_option_{$slug}" => [ 'regenerate_minify_css_key', 10, 2 ],
'wp_rocket_upgrade' => [ 'on_update', 16, 2 ],
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 1 ],
];
}
@@ -34,6 +31,8 @@ public static function get_subscribed_events() {
*
* @param array $old An array of previous settings.
* @param array $new An array of submitted settings.
+ *
+ * @return void
*/
public function clean_minify( $old, $new ) {
if ( ! is_array( $old ) || ! is_array( $new ) ) {
@@ -130,6 +129,7 @@ protected function did_setting_change( $setting, array $new, array $old ) {
*
* @param string $new_version new version from the plugin.
* @param string $old_version old version from the plugin.
+ *
* @return void
*/
public function on_update( $new_version, $old_version ) {
@@ -138,4 +138,17 @@ public function on_update( $new_version, $old_version ) {
}
rocket_clean_domain();
}
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['minify_css'] = __( 'Minify CSS', 'rocket' );
+
+ return $fields;
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php
new file mode 100755
index 000000000..e796457e1
--- /dev/null
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/OptionSubscriber.php
@@ -0,0 +1,78 @@
+settings = $settings;
+ }
+
+ /**
+ * Return an array of events that this subscriber wants to listen to.
+ *
+ * @return array
+ */
+ public static function get_subscribed_events() {
+ return [
+ 'rocket_first_install_options' => 'add_options_first_time',
+ 'rocket_input_sanitize' => [ 'sanitize_options', 14, 2 ],
+ 'rocket_meta_boxes_fields' => [ 'add_meta_box', 2 ],
+ ];
+ }
+
+ /**
+ * Add the RUCSS options to the WP Rocket options array.
+ *
+ * @since 3.9
+ *
+ * @param array $options WP Rocket options array.
+ *
+ * @return array
+ */
+ public function add_options_first_time( $options ) : array {
+ return $this->settings->add_options( $options );
+ }
+
+ /**
+ * Sanitizes RUCSS options values when the settings form is submitted
+ *
+ * @since 3.9
+ *
+ * @param array $input Array of values submitted from the form.
+ * @param AdminSettings $settings Settings class instance.
+ *
+ * @return array
+ */
+ public function sanitize_options( $input, AdminSettings $settings ) : array {
+ return $this->settings->sanitize_options( $input, $settings );
+ }
+
+ /**
+ * Add the field to the WP Rocket metabox on the post edit page.
+ *
+ * @param string[] $fields Metaboxes fields.
+ *
+ * @return string[]
+ */
+ public function add_meta_box( array $fields ) {
+ $fields['remove_unused_css'] = __( 'Remove Unused CSS', 'rocket' );
+
+ return $fields;
+ }
+}
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php
index c697ec191..bb2f3af3a 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Subscriber.php
@@ -3,7 +3,6 @@
namespace WP_Rocket\Engine\Optimization\RUCSS\Admin;
-use WP_Rocket\Engine\Admin\Settings\Settings as AdminSettings;
use WP_Rocket\Engine\Optimization\RUCSS\Controller\Queue;
use WP_Rocket\Engine\Common\Queue\RUCSSQueueRunner;
use WP_Rocket\Engine\Optimization\RUCSS\Controller\UsedCSS;
@@ -63,8 +62,6 @@ public static function get_subscribed_events() : array {
$slug = rocket_get_constant( 'WP_ROCKET_SLUG', 'wp_rocket_settings' );
return [
- 'rocket_first_install_options' => 'add_options_first_time',
- 'rocket_input_sanitize' => [ 'sanitize_options', 14, 2 ],
'update_option_' . $slug => [
[ 'clean_used_css_and_cache', 9, 2 ],
[ 'maybe_set_processing_transient', 50, 2 ],
@@ -237,32 +234,7 @@ private function delete_used_css_rows() {
do_action( 'rocket_after_clean_used_css' );
}
- /**
- * Add the RUCSS options to the WP Rocket options array.
- *
- * @since 3.9
- *
- * @param array $options WP Rocket options array.
- *
- * @return array
- */
- public function add_options_first_time( $options ) : array {
- return $this->settings->add_options( $options );
- }
- /**
- * Sanitizes RUCSS options values when the settings form is submitted
- *
- * @since 3.9
- *
- * @param array $input Array of values submitted from the form.
- * @param AdminSettings $settings Settings class instance.
- *
- * @return array
- */
- public function sanitize_options( $input, AdminSettings $settings ) : array {
- return $this->settings->sanitize_options( $input, $settings );
- }
/**
* Truncate UsedCSS DB Table when `remove_unused_css_safelist` is changed.
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php
index dc005846c..95cb07273 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php
@@ -825,7 +825,26 @@ public function get_not_completed_count() {
* @return void
*/
public function clear_failed_urls() {
- $rows = $this->used_css_query->get_failed_rows();
+ /**
+ * Delay before failed rucss jobs are deleted.
+ *
+ * @param string $delay delay before failed rucss jobs are deleted.
+ */
+ $delay = (string) apply_filters( 'rocket_delay_remove_rucss_failed_jobs', '3 days' );
+
+ if ( '' === $delay || '0' === $delay ) {
+ $delay = '3 days';
+ }
+ $parts = explode( ' ', $delay );
+
+ $value = 3;
+ $unit = 'days';
+
+ if ( count( $parts ) === 2 && $parts[0] >= 0 ) {
+ $value = (float) $parts[0];
+ $unit = $parts[1];
+ }
+ $rows = $this->used_css_query->get_failed_rows( $value, $unit );
if ( empty( $rows ) ) {
return;
@@ -842,7 +861,11 @@ public function clear_failed_urls() {
continue;
}
- $this->used_css_query->revert_to_pending( $id );
+ $add_to_queue_response = $this->add_url_to_the_queue( $row->url, (bool) $row->is_mobile );
+ if ( false !== $add_to_queue_response ) {
+ $new_job_id = $add_to_queue_response['contents']['jobId'];
+ $this->used_css_query->reset_job( $id, $new_job_id );
+ }
}
/**
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php
index e40f4cfe6..af8c612fe 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Database/Queries/UsedCSS.php
@@ -199,15 +199,14 @@ public function make_status_inprogress( int $id ) {
}
/**
- * Change the status to be pending.
+ * Reset the job and add new job_id pending.
*
* @param int $id DB row ID.
* @param string $job_id API job_id.
- * @param string $queue_name API Queue name.
*
* @return bool
*/
- public function make_status_pending( int $id, string $job_id, string $queue_name ) {
+ public function reset_job( int $id, string $job_id ) {
if ( ! self::$table_exists && ! $this->table_exists() ) {
return false;
}
@@ -215,9 +214,12 @@ public function make_status_pending( int $id, string $job_id, string $queue_name
return $this->update_item(
$id,
[
- 'job_id' => $job_id,
- 'queue_name' => $queue_name,
- 'status' => 'pending',
+ 'job_id' => $job_id,
+ 'status' => 'pending',
+ 'error_code' => '',
+ 'error_message' => '',
+ 'retries' => 0,
+ 'modified' => current_time( 'mysql', true ),
]
);
}
@@ -425,9 +427,11 @@ public function get_completed_count() {
/**
* Get all failed rows.
*
+ * @param float $delay delay before the urls are deleted.
+ * @param string $unit unit from the delay.
* @return array|false
*/
- public function get_failed_rows() {
+ public function get_failed_rows( float $delay = 3, string $unit = 'days' ) {
if ( ! self::$table_exists && ! $this->table_exists() ) {
return false;
}
@@ -438,7 +442,7 @@ public function get_failed_rows() {
'date_query' => [
[
'column' => 'modified',
- 'before' => '3 days ago',
+ 'before' => "$delay $unit ago",
'inclusive' => true,
],
],
diff --git a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php
index 3c308140a..7a3f78281 100755
--- a/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php
+++ b/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/ServiceProvider.php
@@ -2,8 +2,7 @@
namespace WP_Rocket\Engine\Optimization\RUCSS;
use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider;
-use WP_Rocket\Engine\Optimization\RUCSS\Admin\Database;
-use WP_Rocket\Engine\Optimization\RUCSS\Admin\Settings;
+use WP_Rocket\Engine\Optimization\RUCSS\Admin\{Database, OptionSubscriber, Settings};
use WP_Rocket\Engine\Optimization\RUCSS\Admin\Subscriber as AdminSubscriber;
use WP_Rocket\Engine\Optimization\RUCSS\Controller\Filesystem;
use WP_Rocket\Engine\Optimization\RUCSS\Controller\Queue;
@@ -33,6 +32,7 @@ class ServiceProvider extends AbstractServiceProvider {
protected $provides = [
'rucss_settings',
'rucss_database',
+ 'rucss_option_subscriber',
'rucss_admin_subscriber',
'rucss_frontend_api_client',
'rucss_used_css',
@@ -51,7 +51,7 @@ class ServiceProvider extends AbstractServiceProvider {
*/
public function register() {
- $this->getContainer()->add( 'rucss_usedcss_table', UsedCSSTable::class );
+ $this->getContainer()->share( 'rucss_usedcss_table', UsedCSSTable::class );
$this->getContainer()->add( 'rucss_database', Database::class )
->addArgument( $this->getContainer()->get( 'rucss_usedcss_table' ) );
@@ -75,6 +75,8 @@ public function register() {
->addArgument( $this->getContainer()->get( 'dynamic_lists_defaultlists_data_manager' ) )
->addArgument( $this->getContainer()->get( 'rucss_filesystem' ) );
+ $this->getContainer()->share( 'rucss_option_subscriber', OptionSubscriber::class )
+ ->addArgument( $this->getContainer()->get( 'rucss_settings' ) );
$this->getContainer()->share( 'rucss_admin_subscriber', AdminSubscriber::class )
->addArgument( $this->getContainer()->get( 'rucss_settings' ) )
->addArgument( $this->getContainer()->get( 'rucss_database' ) )
diff --git a/wp-content/plugins/wp-rocket/inc/Plugin.php b/wp-content/plugins/wp-rocket/inc/Plugin.php
index 1546c237f..0c1e6571f 100755
--- a/wp-content/plugins/wp-rocket/inc/Plugin.php
+++ b/wp-content/plugins/wp-rocket/inc/Plugin.php
@@ -226,6 +226,7 @@ private function init_admin_subscribers() {
'actionscheduler_admin_subscriber',
'domain_change_subscriber',
'lazyload_css_admin_subscriber',
+ 'post_edit_options_subscriber',
];
}
@@ -292,6 +293,7 @@ private function init_common_subscribers() {
$common_subscribers = [
'license_subscriber',
'cdn_subscriber',
+ 'cdn_admin_subscriber',
'critical_css_subscriber',
'sucuri_subscriber',
'common_extractcss_subscriber',
@@ -323,6 +325,7 @@ private function init_common_subscribers() {
'pdfembedder',
'delay_js_admin_subscriber',
'rucss_admin_subscriber',
+ 'rucss_option_subscriber',
'rucss_frontend_subscriber',
'rucss_cron_subscriber',
'divi',
@@ -376,6 +379,7 @@ private function init_common_subscribers() {
'themify',
'wpgeotargeting',
'lazyload_css_subscriber',
+ 'shoptimizer',
];
$host_type = HostResolver::get_host_service();
diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php
index bda40093b..7bf01ab9b 100755
--- a/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php
+++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/SpinUpWP.php
@@ -1,10 +1,10 @@
'return_false',
- 'rocket_display_varnish_options_tab' => 'return_false',
- 'rocket_cache_mandatory_cookies' => 'return_empty_array',
- 'after_rocket_clean_domain' => 'purge_site',
- 'wp_rocket_loaded' => 'remove_actions',
+ 'do_rocket_generate_caching_files' => 'return_false',
+ 'rocket_display_varnish_options_tab' => 'return_false',
+ 'rocket_cache_mandatory_cookies' => 'return_empty_array',
+ 'after_rocket_clean_domain' => 'purge_site',
+ 'wp_rocket_loaded' => 'remove_actions',
+ 'after_rocket_clean_file' => 'purge_url',
+ 'rocket_rucss_after_clearing_usedcss' => 'purge_url',
+ 'rocket_rucss_complete_job_status' => 'purge_url',
+ 'after_rocket_clean_term' => [ 'purge_term_urls', 10, 2 ],
+ 'rocket_after_clean_terms' => 'purge_urls',
];
}
@@ -35,6 +40,8 @@ public static function get_subscribed_events() {
* Purge SpinUpWP cache after clean domain.
*
* @since 3.6.2
+ *
+ * @return void
*/
public function purge_site() {
if ( ! function_exists( 'spinupwp_purge_site' ) ) {
@@ -48,9 +55,50 @@ public function purge_site() {
* Remove rocket_clean_domain which prevents a double clear of the cache.
*
* @since 3.6.2
+ *
+ * @return void
*/
public function remove_actions() {
remove_action( 'switch_theme', 'rocket_clean_domain' );
}
+ /**
+ * Purge URL in SpinUpWP
+ *
+ * @param string $url URL.
+ *
+ * @return void
+ */
+ public function purge_url( $url ) {
+ if ( ! function_exists( 'spinupwp_purge_url' ) ) {
+ return;
+ }
+
+ spinupwp_purge_url( trailingslashit( $url ) );
+ }
+
+ /**
+ * Purge multiple URLs
+ *
+ * @param array $urls Array of URLs.
+ *
+ * @return void
+ */
+ public function purge_urls( $urls ) {
+ foreach ( $urls as $url ) {
+ $this->purge_url( $url );
+ }
+ }
+
+ /**
+ * Purge URLs related to a term
+ *
+ * @param WP_Term $term The term object.
+ * @param array $urls Array of URLs.
+ *
+ * @return void
+ */
+ public function purge_term_urls( $term, $urls ) {
+ $this->purge_urls( $urls );
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php
index 239f9dbd5..45cc881e3 100755
--- a/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php
+++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/CDN/Cloudflare.php
@@ -5,12 +5,13 @@
use WP_Rocket\Admin\{Options,Options_Data};
use WP_Rocket\Engine\Admin\Beacon\Beacon;
+use WP_Rocket\Engine\Deactivation\DeactivationInterface;
use WP_Rocket\Event_Management\Subscriber_Interface;
/**
* Compatibility class for cloudflare.
*/
-class Cloudflare implements Subscriber_Interface {
+class Cloudflare implements Subscriber_Interface, DeactivationInterface {
/**
* Options instance.
*
@@ -75,6 +76,7 @@ public static function get_subscribed_events() {
'rocket_rucss_after_clearing_usedcss' => 'purge_cloudflare_after_usedcss',
'admin_post_rocket_enable_separate_mobile_cache' => 'enable_separate_mobile_cache',
'rocket_cdn_helper_addons' => 'add_cdn_helper_message',
+ 'init' => 'unregister_cloudflare_clean_on_post',
];
}
@@ -448,4 +450,54 @@ public function add_cdn_helper_message( array $addons ): array {
$addons[] = 'Cloudflare';
return $addons;
}
+
+ /**
+ * Purge Cloudflare on deactivate.
+ *
+ * @return void
+ */
+ public function deactivate() {
+ $this->purge_cloudflare();
+ }
+
+ /**
+ * Unregister Call on clean posts.
+ *
+ * @return void
+ */
+ public function unregister_cloudflare_clean_on_post() {
+ $this->unregister_callback( 'deleted_post', 'purgeCacheByRelevantURLs' );
+ $this->unregister_callback( 'transition_post_status', 'purgeCacheOnPostStatusChange', PHP_INT_MAX );
+ }
+
+ /**
+ * Unregister a callback.
+ *
+ * @param string $hook Hook on which to unregister.
+ * @param string $method The callback to unregister.
+ * @param int $priority the priority from the callback.
+ * @return void
+ */
+ protected function unregister_callback( string $hook, string $method, int $priority = 10 ) {
+ global $wp_filter;
+
+ if ( ! key_exists( $hook, $wp_filter ) ) {
+ return;
+ }
+
+ $original_wp_filter = $wp_filter[ $hook ]->callbacks;
+
+ if ( ! key_exists( $priority, $original_wp_filter ) ) {
+ return;
+ }
+
+ foreach ( $original_wp_filter[ $priority ] as $key => $config ) {
+
+ if ( substr( $key, - strlen( $method ) ) !== $method ) {
+ continue;
+ }
+
+ unset( $wp_filter[ $hook ]->callbacks[ $priority ][ $key ] );
+ }
+ }
}
diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php
index 44965ec0d..8822eb5d3 100755
--- a/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php
+++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/ServiceProvider.php
@@ -26,6 +26,7 @@ class ServiceProvider extends AbstractServiceProvider {
'uncode',
'xstore',
'themify',
+ 'shoptimizer',
];
/**
@@ -73,5 +74,6 @@ public function register() {
$this->getContainer()->share( 'themify', Themify::class )
->addArgument( $options );
+ $this->getContainer()->share( 'shoptimizer', Shoptimizer::class );
}
}
diff --git a/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php
new file mode 100755
index 000000000..d2917dc5b
--- /dev/null
+++ b/wp-content/plugins/wp-rocket/inc/ThirdParty/Themes/Shoptimizer.php
@@ -0,0 +1,56 @@
+ 'method_name')
+ * * array('hook_name' => array('method_name', $priority))
+ * * array('hook_name' => array('method_name', $priority, $accepted_args))
+ * * array('hook_name' => array(array('method_name_1', $priority_1, $accepted_args_1)), array('method_name_2', $priority_2, $accepted_args_2)))
+ *
+ * @return array
+ */
+ public static function get_subscribed_events() {
+ if ( ! self::is_current_theme() ) {
+ return [];
+ }
+
+ return [
+ 'rocket_exclude_defer_js' => 'exclude_jquery_deferjs_with_cart_drawer',
+ ];
+ }
+
+ /**
+ * Exclude Jquery from defer JS.
+ *
+ * @param array $exclusions Excluded values from defer JS.
+ *
+ * @return array
+ */
+ public function exclude_jquery_deferjs_with_cart_drawer( $exclusions ) {
+ if ( ! function_exists( 'shoptimizer_get_option' ) || ! shoptimizer_get_option( 'shoptimizer_layout_woocommerce_enable_sidebar_cart' ) ) {
+ return $exclusions;
+ }
+
+ $exclusions[] = '\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\?(.*))?';
+ return $exclusions;
+ }
+}
diff --git a/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php b/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php
index a57591e18..494e8345f 100755
--- a/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php
+++ b/wp-content/plugins/wp-rocket/inc/admin/ui/meta-boxes.php
@@ -39,201 +39,3 @@ function rocket_post_submitbox_start() {
}
}
add_action( 'post_submitbox_start', 'rocket_post_submitbox_start' );
-
-/**
- * Add "Cache options" metabox
- *
- * @since 2.5
- */
-function rocket_cache_options_meta_boxes() {
-
- if ( ! rocket_can_display_options() ) {
- return;
- }
-
- if ( current_user_can( 'rocket_manage_options' ) ) {
- $cpts = get_post_types(
- [
- 'public' => true,
- ],
- 'objects'
- );
- unset( $cpts['attachment'] );
-
- $cpts = apply_filters( 'rocket_metabox_options_post_types', $cpts );
-
- foreach ( $cpts as $cpt => $cpt_object ) {
- $label = $cpt_object->labels->singular_name;
- add_meta_box( 'rocket_post_exclude', sprintf( __( 'WP Rocket Options', 'rocket' ), $label ), 'rocket_display_cache_options_meta_boxes', $cpt, 'side', 'core' );
- }
- }
-}
-add_action( 'add_meta_boxes', 'rocket_cache_options_meta_boxes' );
-
-/**
- * Displays some checkbox to de/activate some cache options
- *
- * @since 2.5
- */
-function rocket_display_cache_options_meta_boxes() {
- if ( current_user_can( 'rocket_manage_options' ) ) {
- global $post, $pagenow;
- wp_nonce_field( 'rocket_box_option', '_rocketnonce', false, true );
- ?>
-
-
- ID ) );
-
- if ( isset( $rejected_uris[ $path ] ) ) {
- $reject_current_uri = true;
- }
- }
- ?>
- >
-
-
-
-
- __( 'LazyLoad for images', 'rocket' ),
- 'lazyload_iframes' => __( 'LazyLoad for iframes/videos', 'rocket' ),
- 'minify_css' => __( 'Minify CSS', 'rocket' ),
- 'remove_unused_css' => __( 'Remove Unused CSS', 'rocket' ),
- 'minify_js' => __( 'Minify/combine JS', 'rocket' ),
- 'cdn' => __( 'CDN', 'rocket' ),
- 'async_css' => __( 'Load CSS asynchronously', 'rocket' ),
- 'defer_all_js' => __( 'Defer JS', 'rocket' ),
- 'delay_js' => __( 'Delay JavaScript execution', 'rocket' ),
- ];
-
- $old_fields = $fields;
-
- /**
- * Metaboxes fields.
- *
- * @param string[] $fields Metaboxes fields.
- */
- $fields = apply_filters( 'rocket_meta_boxes_fields', $fields );
-
- if ( ! is_array( $fields ) ) {
- $fields = $old_fields;
- }
-
- foreach ( $fields as $field => $label ) {
- $disabled = disabled( ! get_rocket_option( $field ), true, false );
- // translators: %s is the name of the option.
- $title = $disabled ? ' title="' . esc_attr( sprintf( __( 'Activate first the %s option.', 'rocket' ), $label ) ) . '"' : '';
- $class = $disabled ? ' class="rkt-disabled"' : '';
- $checked = ! $disabled ? checked( ! get_post_meta( $post->ID, '_rocket_exclude_' . $field, true ), true, false ) : '';
- ?>
-
-
-
>
-
>
-
-
-
-
- ', '' );
- ?>
-
-
-
- '',
- 'lazyload_iframes' => '',
- 'minify_css' => '',
- 'minify_js' => '',
- 'cdn' => '',
- 'async_css' => '',
- 'defer_all_js' => '',
- 'delay_js' => '',
- 'remove_unused_css' => '',
- ];
-
- $old_fields = $fields;
-
- /**
- * Metaboxes fields.
- *
- * @param string[] $fields Metaboxes fields.
- */
- $fields = apply_filters( 'rocket_meta_boxes_fields', $fields );
-
- if ( ! is_array( $old_fields ) ) {
- $fields = $old_fields;
- }
-
- $fields = array_keys( $fields );
-
- foreach ( $fields as $field ) {
- if ( isset( $_POST['rocket_post_exclude_hidden'][ $field ] ) ) {
- if ( isset( $_POST['rocket_post_exclude'][ $field ] ) ) {
- delete_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field );
- } else {
- if ( get_rocket_option( $field ) ) {
- update_post_meta( (int) $_POST['post_ID'], '_rocket_exclude_' . $field, true );
- }
- }
- }
- }
- }
-}
-add_action( 'save_post', 'rocket_save_metabox_options' );
diff --git a/wp-content/plugins/wp-rocket/inc/admin/upgrader.php b/wp-content/plugins/wp-rocket/inc/admin/upgrader.php
index 9ae886e7c..947ce0134 100755
--- a/wp-content/plugins/wp-rocket/inc/admin/upgrader.php
+++ b/wp-content/plugins/wp-rocket/inc/admin/upgrader.php
@@ -25,8 +25,6 @@ function rocket_upgrader() {
if ( did_action( 'wp_rocket_first_install' ) || did_action( 'wp_rocket_upgrade' ) ) {
flush_rocket_htaccess();
- rocket_renew_all_boxes( 0, [ 'rocket_warning_plugin_modification' ] );
-
$options = get_option( WP_ROCKET_SLUG ); // do not use get_rocket_option() here.
$options['version'] = WP_ROCKET_VERSION;
diff --git a/wp-content/plugins/wp-rocket/inc/deprecated/3.15.php b/wp-content/plugins/wp-rocket/inc/deprecated/3.15.php
new file mode 100755
index 000000000..48c93464f
--- /dev/null
+++ b/wp-content/plugins/wp-rocket/inc/deprecated/3.15.php
@@ -0,0 +1,179 @@
+ true,
+ ],
+ 'objects'
+ );
+ unset( $cpts['attachment'] );
+
+ $cpts = apply_filters( 'rocket_metabox_options_post_types', $cpts );
+
+ foreach ( $cpts as $cpt => $cpt_object ) {
+ $label = $cpt_object->labels->singular_name;
+ add_meta_box( 'rocket_post_exclude', sprintf( __( 'WP Rocket Options', 'rocket' ), $label ), 'rocket_display_cache_options_meta_boxes', $cpt, 'side', 'core' );
+ }
+ }
+}
+
+/**
+ * Displays some checkbox to de/activate some cache options
+ *
+ * @since 3.15 deprecated
+ * @since 2.5
+ */
+function rocket_display_cache_options_meta_boxes() {
+ if ( current_user_can( 'rocket_manage_options' ) ) {
+ global $post, $pagenow;
+ wp_nonce_field( 'rocket_box_option', '_rocketnonce', false, true );
+ ?>
+
+
+ ID ) );
+
+ if ( isset( $rejected_uris[ $path ] ) ) {
+ $reject_current_uri = true;
+ }
+ }
+ ?>
+ >
+
+
+
+
+ $label ) {
+ $disabled = disabled( ! get_rocket_option( $field ), true, false );
+ // translators: %s is the name of the option.
+ $title = $disabled ? ' title="' . esc_attr( sprintf( __( 'Activate first the %s option.', 'rocket' ), $label ) ) . '"' : '';
+ $class = $disabled ? ' class="rkt-disabled"' : '';
+ $checked = ! $disabled ? checked( ! get_post_meta( $post->ID, '_rocket_exclude_' . $field, true ), true, false ) : '';
+ ?>
+
+
+
>
+
>
+
+
+
+
+ ', '' );
+ ?>
+
+
+
+
z3P=$FYpP^SlmSynmHY1kEWkXu?WVSDax6&g;r
zVJEDJJ+U*6MtaFwjoicf6m@~dBg_TTQRR790&k#hR4CEhxUypl$38fQ@`)IOdoipV
zT_jQ%8;qn|u^FmCZSijGgxl~%RF|ePPWR$@%)->srrt-W@)3;B6LwJuN!V7qYUoB^7sa7Oh3b__$yY&GULo#XojlSA60Jx*29@t8rNen+=jaT
zi&z5>;Tk-Rnk%94^nWywh2u@dRalhtV^|8GLCxM>$irC2Q5SB=M9_^}q0Uc0)gOb5
zg5^au@Br?>lcl8j>kB>A8X=qY@_x69T8oiw#Rg74BDjoVQrj@8oR})
zC)tSVk%Oq7I*Og}G^(LhQ%zSl!8=LEVmAz7aomL((t}t->;GdS8p~^_*GQCHT;GzBrJ{6W|V7ofU+8>;JG$GUh18)8A9>6xY&LplMQ;w-F(8?hxGLpDk4
zCXU2`e)^w1!+P3pPP~a)X3erJYZ5L*CaU!>RMH
zY@Cc`@k>-ge!{s}IcSFJks$qFii{m(48wz17|VssYN&!mN#B8GuqkTxcE$u8gZ*$L
zs;91EA*{yTi(_raCKye+9qM{W0OqnX#*mx=~%!T*$K~>L_PVpsD|FeCR+cc?=f8zi>i=>
zopA>00=tnVZoQ6d5mwA>GX$$q%W5+g!xvBu+=sRBL#&L~P^%@Hd&OfbRM$^Ku!6%N5psL8wpHTzd!1&D>~%QRMeV
zt%`xDo^v}+#VVxdqMrCsOu@I1&b49|^K%rDZHvv=MLl39jwA6aOu%rbhs^rC57jk?u_iWH
z!J7`_u{It=t&TGonbmj)>FAZF!7VY1bU$o}d$9wa!@^i?m1(GrWk@&0IE_MQBD&xl
z)Yw0aTA$}pExv~8iJPb=s=C_D=C-JP<1TE9sn`=&V0}D=rSK2bb&9Vs^~+%~(zUUS
zW&b}4;`oVE;VUQo1C}TMH!O$Ixn={hv7*kyLO2A~@I)+)X&8gku?aqly8e4O
z5kJR@+~4Z_uzA8^s4?*&^U2zWRj?0BpaM=pbzL^AZhJ)xrHoG~TN8IKTbi4%8SH+h8tO1vLaQsQez-
z9*3YBwg`2jU8n}U;`lLY%zr?gcLUpEktgVXbw%eVOxFy@G}6gf509d5_#@WEf=`-v
zKtuG9eh~HKzhGr_J!L*ttD+jz9;;$9ssZ<)hH?>V=pG9@k!`q!j6*6ld
zg+E4h)j8COS5cF%<0kWN=!cz1Pr+8W5qsb#H~_0}Hs_^b9n#xSJ$VB4G{UEA~b5ULSH0lBeQ2W6NRF8d!nyjwp%%rP>38WiiL!5@X&U&nY
z&tXxm|2K(fnZ1Wi@seYu=S|o3#Fpe|U>vSPUEnNgo&SZ*TdUMobAzp@>+Hou{00kS
z=WX;d_QYuX5F@|;e??>n8P&I&9WcW&ACt*1u*1CXQ!$gHYEUi&3}<)#Kaq>3^;BH^~TKofl2lu0l_~bOj>5B87w>#kYl+V=?2MZTd3^gR*pl~|VdZ5Y&p_b1W)ND`3
z+PDW>;fL5Ci@t3dJ{&8Mo`AYf5R2e^)Zd@1B}DW@7f>xvKWe^SXP`~G)iE|79EN4_
z64t^$u?bc`ZicWos)zj89PdR9(GFCP7JbLq9lMgAfxUF&d?NSbP1F-Ede^*$S7H^?
z8?iDT!czD#md0Qjb;LcCY?`+HPc}}!HGc7-k%}5vj-2CFv0TW0+j2rN4jK_ti
zjYn}9=`vrK&+lZ^kTpGH{&X|)4E^7Tj3Z>|$uDCHmjBXhl{4@T(wnge4LyeHnGepI
zE&B=%Al>~OD+ZUKADf&vA2g4mZukRgE>!)>Y&=u35b0%MB3fpva27s_)3DOlJOwVr
zd$Gbd=1-`(sM&kc@lz~G`W&jES5ULP+_z>9HAKywPFMqnqv~g&=2rL~B3k!ruqE!r
z>i8WN!6FyTSeC{p($!EcuY)hrBMtB;(q}H38=t(y`Q(3#&yrv8GJhe%EvQMF_B}mL
z`Flvi!q)FUn3j~gVp`l3ms7DD9>Ej13s?PUcEWyF`AZn-&A1)ga`%S#73u*>{%l^;
zT~H4)7j0aJnuG_iFMfbaweV~HVwTHu*n@(p*UWD|c{ql2%&*J|T6{mI;SbkMmyZ0+
z?07zmr`|@KgO{-Y^)i3w_eIiKf6!y3uizm3kF`i
z9#%cvhwX~G!q#3QSBttLf1`cAm@BfiUPe86iQ=xvjyDk1@^M%m{ip`dLyhq!Y=^Hp
z`M+Z`(zV%T+F$~<#yMCT^RO%)DG@dqr^wI+zsAj2yrk*sT^LRJIO@qi!(wMp-jNjZi%olkp+917W
zZ9tv)TzOaI&uNEIPyQN~#CM(i&rw73C8{AmJLP|)=1j>7Cchl2;kED(c0jHdwr&vV
zL`H#%riES6CcPdz<3Uu5|HQgjwvsEdqqRfL;(=&m5Ub)UR0Fr6dUPLl!{eyA6J6OA
z`IWB@_SO3DNJPtJE*8fxP#3z0>Vbk)Ov|gH=0IyKgR$5U2VfHnq8hXwHTJLK96W-ZQ3v3fO^H4~TN-B^tMRI_{`HozyH^jl8)YgE^k!EIRC#tLaVlAA6vrzTg;2&5ATQoMadnoEc$+!r!P(ykHwJggvF+ErhHMDab
zmthv^@H!%zT&0>Co1hxd8^_=TRKs3EEx$KWJ#`u5uyivsG{dnA>7}TyKZ;rnKcO02
zrMX#lv8WyziY1tTmY;|w)2tYmbs6{IaD1wTd9v%M$yunSd7?6?3)DqDQ4eg2gRwTw
zLiOlcR1fYzo&PRs2tLDtcnvFP{r^Vfc`{11GCi;lwQ+oey6{E36DzhhPcRq*pyqlPBBtt;~TK?AJL{jCv1G%K@k1U`c5fgex}>DkT<
z!3fmQBs=L@ScCLpR9A1rVR#$|qTSxidLQZmHlnuhvp595!?1R=&K*pP;!zh2pw{m)
z)TBFvTGzjz8d|rbSl()j+1{L
zH5Y#F7B;gpy1V&6Xo1rxNWzWy32MWc+r!L_?@*JfNKezH4Nw=JgqnQWs0OS?_1rT!
z4?n>xI6lt2j0VP=2VNQ`5>G+LUM}k<-h+Ax&FXC?*Fw|{9>Jox4Rxb@wDBXS{01&1
z9o@(518Y%FShug4d|j{)=>bl9C2FX{PY}`iK7i_~57JHHY2{r3G
z4m9Z@s3BN`n!LMFPx3O__$ju=KTyjqW{~Of&N!X)-Pi$t!76&BW`oVL=!NR)!Kf2c
zusjCvATC4=P46LQLm7%%|Km~TWucbq0@OOsMSTbCK<)WQo%9LR9Qh7gt4seNqRA37
z)Lb|Tr;_%ep7cvpm;Q}Eg|a=7|quCGt<|*OY0TKFR?x8zrsXn6KOZmv@8+Tpj6b8%tM`+i+Q*k)wSM9
zrrr|N5N<|2so!n(lWnM;{29k#fh6NZ%p|=Z^-c&kNj6`vDcGNkWvFkpPf=t0H`>@B
z#k>RhpeENe)D7lhZ(NS*+K;daUU2fudra4l!9nDW8pZM{s|uSE{+;qo}Swh1OgZz*^+@MD3(*Ow;T*E$|K0vb>ICF?O=4zXrA34&ih78EPY2G{xNS
zarA2aA0bj0n`f9UwGC>6xP}_j!kOm6@i?0F1{{gMp?0((KJ(gr6PJ>%;WxjAZ^10m
zowLlZ;ahPi>84X%)&{%>!!Ho26)?YOoWNMp1A}JF??b(>H=`!sH5{yT$V|%LusP|<
z*=B?3g*NH!sIflbSbLfoIv=WM=QysL#`@Q!*-M6AHb+tKf)>-wn6^hvmITzY+lU&f
zS~JWX>4|EqVK8dh
zRk+*yR@@pj6p!O<`~p2V{vKE450FPNm2{ce=50A0)!>(KKDOjOayNFv*g2+tPMFAh
zwCpUZ#d-HSzlfloC~BU`?}X}^DR>?O*ak<=Hw{^g+DCpweIb=uVAlH>Y)U#GH{p3?
z+3{aonEK(fL^M{eMW#!Jpjy5ZwfqX*XL@EJwj{j}yJJ2U!yBmmpuqiR$fEHn(sfZA
z)f-p`FQN9Al8enM8-={4!&Wkp917N82+KZT*6~8r4W2_yn%$`7a}ssKOQ;^Zh83{>
z60_W5Q5#btreO-k;4$ohf1p-Pm!;a;S%15UXu~;%I`K=?hs704!t1yi$2@52{fK)>
z7g}a+co4Ue{uK2+aNlw>N!MZr(g#sPc^<%^os4W;~A5`hS3k_Tmc|hj*+nze=Uz
zaMDksUcWa`8`J|U&5d(WUAz<3#iuYDucIEM@GA2)T>o#L*3Yq`*8&xz`>80Z^2TJn%8xE)X+SG`WW4d
z#h+2R&@*PX7kJkEfuR$s
zf!k3RK8@DH`>_(fjoJ~<
zqOKdhM5F|fpHN%zUsxJTZ#NZdqrPezVI7Qh^2a%PP|MMW8q=9r5EmjHVtvGqQTQ=#
zL`~#dM|Z9NR;tBOpKvr1pW{JdI|&~-Io&8LP=NL4C(?+_ON1*?sBW#UYg$cKw2o{ldFW65WgTNepEiO&c-C!Hfh6KNW0Cb@Of$=^X<2hz+Z
z>rLWkQJcxFqZE<%s5^}OyRb3omkIhL+e-Qfwj=1!it2}-lb=akhxQ-qZ~btNXDIy3
ziO(f|oG_1c6+dJBV*1JV1UC^5St5X_mQl9na&h1Rb?WHzLj^$-tWba^h3sYl-W~
zCmtaD?-cS7maG1Vzj;@-h%v!ky6$%
zdHcz8;d_Km4ZYmc@o*ztmcGgN%ue<4-k($|6(FKwm3#n;er$IMBGhT
zRea3JQ(f(fI({NNcw2rX)A_NI{8u<{fm8k&aUCu331pWKNB+k`%G7Swk&16SmGemV
zqGA)mA>t=d$3DY9KZ`iAC6s^foU5!)2>MK)LjFDEkHw0FX$0+zzmRuY&!0zz4t<~1
zbK>*x8tL8mG&UgU*yWU`6Yolx&P5iIw^@Z8H%ONt@ZlRdCORtd2l+Zi5c)dtNdG61
zm`LVPr}7Eaa*p>fjqn9^`r?z$iC*ez+pR^=(TjY&>2w60Iv?Y1!nf2-ck-%XI_VBh
zI{Ye;Ax>f!@*x}fFJNxsLBj3FQqp`|SPv5R5FVlM1SWFcUIOo=e~#as_~%Z}ddjam
zd0mL>n5^-iVd9bh>6N1T4M#_3r?QL6)d{bY_XB?7oLnVR%ly!rZ!IA}SzRaJk2%gY
zmJpAo>`^RE-cTHek8AzCNrB#6ACS=v2NHAy2|n_^B-}a*5kKcNpd#|JjQra$mx+7>
z7R4&J)!#{6pLP}SN9vCvj3!JVB$IbhC#Dc?5crCUd~jZ-a5d@MkDiq214Tz`!#_W3
zP`@6jbAeca5nx$-iuDTvS*Th96uv3mH4e=JCP^IJFW585l_N)PMnO3s63vqhIldj0H+ep
zQ`bjmP5f@GLnuwSNO}=A#15E%Ijcr!0}6
z!$WwBI2I(+zRB+&))f*((qd!hoYnXx=`QFd>~zliQr~~GD45|?%p_fobPd9<#NWkv_!Ry^oqL^nmGDkN
z6Uua~!h20L^7Ch>UTsp1DfZ$4ikT$_^o5RiHEIfMCwzaEG2CS&4_m+^d-Lq
z;T`gdlWs=58Sz}=yYM^GXNl{0h7e79pXw8IjKRZ{w{_|$uZ&Yx2cwkX>_67_+bV6K
za6aKVik~M8A^hN+INkAC@}?3WPUuN|Bj=watR#Lnd3RtX($$Hdz&{E5$-9g28(|tD
zaxnj_PpGtjkU+?y;%xku{OYEP^)%@tgoh~8@in0U=~9HNgyH0$a>`VmM&6Hvu1;PL
z@?Id6and<>Ct(70!ln7~H{n|{4iPjV`xA5wCI3@ggE5hu|NrAY$_6;~2V+yxwFx@9
zJ7(c#$}X5}Yc8HLWnt?9BKw>RsJtxkIfTRH-%og*_%f$Fj`GXoRaQQs4fzj~S5+t8
zcC2yYsg$=Q_z0V+|0rfrHWaUsUZwRvm5lqH6EY}xnsDp5i%Pj9UM2iR{-31ZCccI6
z3Skmy9p6#*Glp;-A)0tU%7TO^ojMcAzja(Ceun&eH2z)^B}ufyg@g|YUy*(Ub<}b!
zk4>F;f6CK{*T-AOM^4!UG8&K{L)cBcF!|3DI+AXM<(+fZQ5O04pYhHWx>J}yyfikX
z(i?=cq+h}q@^XleLmkV>)6s);3gK?TG4e`~capHtDX&BRi^M&+hhW+DTh$AW8e$Lg
zCr|N&lI{Af>jmq#sTZ`pLEAme?ago}Wq4xj`fck46FlyK&(8D*JoVdA!JXvK4%wk}
zkDZ;B;tqMp@uk=vU%K0u?8)@_LP6V~N;wzGbWipN>}j4r(ChcDy!uYV_L;WdXV3I!
z2khydq@XwCX=bPRedp#p60$SBLC(w$)v@chuNNHV@p-1(gZ$HV&%77At#qx-cp`e`
zxl85pPIhloaOH~0_m)?Cb*W%>R+c{yQd{$G#uX|W9_6u9JRwhV$df`t+@`h84Y^;Y
z+v~H_-9bBP^cIxI;A7PW5K+WSQB)ke%eQ1D-V6LlGBD<&pIC
zS?)AWawij22e>mbY(Mz{+uu4X
zS027mDbJO#Co0_B?&phKKj=x$4tPT|?W~OKG_S9j?M+qB+3o;6AN2at=t_@uTlD}P
z-7rYY1D@%$CdR%?os;h85t7|JuqPuca)IgIPpt
zWAyA&H8cF#DXAHe+xa{*vP^ddJi#o#FX-8s{#b#$u2b$SQ9f??a68GJJS8pQ&!!)|
zneMc_7pKiBkk@bKsseeP@9th8Z~p8f#VclJ(IHGK=Xrv5f;Sk->v8|z1xED?*+Gvd
zlbMA7@zl1{*+I{LJ)NBu@Jx$LwtptEof`0G+V13JPcYIwp_O)g#j(!7`2#U_zac?8
zgPSsln*EHGhaq9k1(+1c*_ykNG1FSGgX#Y4j1NJB1cru2XIK`?LTl5>TtFrPI_asT!sotK>v${W2RP;}?ob%pEv+w}i6`F#HAc@J&K
zE|KSbzPc-K&DKc;^DgXoz1jG9?=-I+@?>UZFdyyd%qz1HnO1QbtkuZuNet3vHH%rJ
z*_z>|^&wW9C+JP%nFEo+U}&bM`E>P!Sqyp4o<3Q`)h=(=*O{(xd}OJ_+JVR>QG9gs
zK4um81F`m~AfXp{$Jb4?Yl`x>p%6#{n6qPu@jvwMKft+9Zw*MvGfG8S*1Re6Sw=iv$I0Zo|3zCg{xs=kQ3e6sXUvP
zMQV>SJBv*!=n3U;W=^&}<;WhN&%-L>%q%xM4Ug^fCZ{{wO@AteXq3;B%?~wd=f$b6
z+}R~uRaV}AsZ#EtI9HY2iSe$AksYYRrSA$>jpwfMjDRo6?VA#ECwVfM+nPGLf7q^?
z&6?4x8QL6t{?K$*y*G`mHDuEh=1F^JbC!0Rob1fpm=dnaZ5dJxN{rpp8`8jPtKgxN
z)7f7l8%8$ILzmgZZ`<#x{cvZomHwY=hJ&i8E;NHiXZ+g}X`UlbbFn~(T`v@4tK|c3
z-|d3h$Gu!R^T>Yso82$cO5MuC9_=%`oW_LNAKC6A?HC-{=gjcb_TAbfy}A!GDn-4W
z;?DH4xV@g-S+iX=E1He(KPQ0pzN&d6uSXZv-j`_)=RrJybZ#8HwezKN+n}A2ts!OH
zl03d_hRf`Idd}X?mZ#ZGleJX@c}!~CecAq~F~#lE1fuI1D6jUyRF9ASZ-hHd`yY6$
z4tasUk4EKZM7jEwbtUE=PI8qmJ&ghScLDSN;SlAjnt!;8>q>$A)Ecgh(G?l6=6$uV
z2hy0PDM{W88kGNMW7mxW`GuOh>K4r3($e*8f&2+=T(wG8)0U?_XNv#UZWyqKM7H<*
zoNlfe1;fL6b}ut3^43iEnnBZZ{J&nY{d#f@`2Tu(^*odO-wnpB51;+d3TEB~>|VZ5
zD)XK7W$Q_^!#<~P%~YgLTEOF_t0Em}W=>@5WRSIWni&~j&Q1BR?UVbZc_N!F^Cz;#YA3Od!y36GlD%y!ly*$K`o
mCEj_Z-0H01AsWKa-r94f>*Br`E3zI<*T?0bdCGOO$o~P+XRJK{
delta 18252
zcma*u2Y3}l-}mv|gh1%MmmGRaLT{lHdJTl$LP!oFker0%gpLR4f+$UbG(nJ}Gzk(E
zkd7iCDk6%4BA{Xe6h&_o-tX_s=9cGvuj_uEy{^e;{BjX+`enY
za=l=&Jq)m{3V6RX`9RA$S5Kvub)c}yE$aauKn}I`bg-;4
z_%0U5>o@^_!%R$ww5&n+7@xH)pEanXWxY(nO{|FXJ6TqBdmXd$B+;E
zpYdZH)sr6Lz$U#c>rdi-z0Do>>|z
zIG1%9b%Gjw%?aE{r&xP1KmLZgkloK*xP)VCYHKsNWrvJ;6*-wF<{YR(+?xGIJ#Q>;=Ay^nYVqWZzy3k0}pdEuNaW)pk
za&$vM3`Nz8z+mivg|G*f!J$Lxe~z)zDbR_}V>!HxI>9ff1FT_O6bhpn7>|2!GOA&<
zhnt>gfqGPf9pmvFaVn}|tw(Sy_CeL#=Od$Mbri$#v=je^y3j-9v0H^1k&0tcU6+BS
zaUs%1>t*}`|3)?VN(_$)Z=-JPCoF&uobp_w%p>vzlTn4Ts0vk44XTeiQB%~Y?Sva}
z7-}&6g>^A7*0Pw&Rz0kU>DUODqK-d>Jm4qt0rJe
zoQ)bxM^Ih;0k*)euq~F0v#fkL6!lEqSOK3xU3d)^!~Ll9oWUx1#jlSpBjcjL#e<`x2#$?9`z_zpt^DgR>f0T6K|sni_$$BtPQa)#$q*GjP-FZviMmykR`)v
zl+294g{b3hpk`e$5A%N%nIsS0jptF%ync%5>Lhd#FT!TH1J&g>F$}AuG7~Tgb%&=>
z4fzzG#=lXI&Nsmf#+At8XT5?!_{RkLKQEa_6a-^%n(4x#sL@;ndty86hKo@>bs2M^
zm2L)KkYf=nNO5`8`D&vY&=5yqH>`uNq6X(BADJR#?xLQd?KKz5i^Ykfu>dBZdd7>o
z@E+8K-auAo>jdf%m8Cn1VtXu!(bxkM(O(}m22MEoZjfnALEuC)Z<}K%aS~R>7g0TN
z5Ow0uuoV7)Ut+){^Y;82&k&cNOmE>W%#Ssum>X<}x{*l7DC9goYXq5M?C_#mHXqeB
zTd^!2cj7OwF!2M&JX6gIR~prW<#7pyVo5xVYVbu=m)}D5P?2e7e{*c5_kV9PI>92;
zJYI_l_z;<@R@`*+DBeRoqHCxz^9`26yQp;`KXX^Jrw(e?bij@{2K5MDLp_2AsGbRW
ziXPzlR#7s#vs$PVHAi**Ak+n?U@LqYH3;9vCK$}Y^{@@9K^~04$*9qN1~nTlU5Y*0{hM~FQMIdfH>c5(-S9<
zVPSoaZ7_O{xy~}|PJCt#{U1lB#9UJ_8JP&y349To&11^php0ysGvADrRLo608#PN7
zqIz(><1Q>i{5I;2FJnCBUZ4@jLWhI!hXq6x$wWS5D#oHtv;=j64XDBSCN{!z$Qs2J
zS*#!hBeC@&1};90>dCy%nsuQas^L9Qk6<`zU6_F7ajK7u?qDS{qpVjk6)SVw8eGdT
zAMV74c)*E&aQ6R>8cao>Gh?M94kWIQJ#jiV$1|uN2zcJyZ~`(REZYssVj)J&r;(?6I>y-wG3#z~UMW
zA!LeCp%IqF&ZwRkg}HDds>Rb#V`DLf<2tN^=TH}TfH4^Gf;oOP>c%Fc9>oe|cv#m_
zJ(|3dF~Rk%d1Tb$HK@U{19ibSZ~(r8C9z^As~I-J4VY(@Dc^=_*xOhN-^cxU3)68e
zQ>i!>S#26r4fV*|p|1&-dS|P1K|O1*5UjS~I=V*3$ojDJZbcJX1I7gkIDmS?H9n!=}VLPz}9-x=;}wuXNM-BDwtKQ_iV)Qzn|_0(=mz$5GFe+{~tFPRJW#Hz$GsI`AKy77C|AdA{yM)L@)
zK%9XZGs{pH-hm}>Kk5;lb-aoziSM8qJa3~p&sraur4;N#t?`{-Hq&Z0>VyYz2%d5b
z*<@Ni1shU+9cyEW%^Ztuup-XIO1KGKcpPgWYo2%QC)cv
zb%LL;96m;MS-EXy)Yiv5#8KE22V+fq1$CbDs7G@JgYf~DL2J7igk>E&VQtO-31sTC
ze+@?BIn)V?ylMtZ7&2b0)~E}7ff~)XaR8Ql&8&dqaXIk>tbsv0Ob>>l2J2YVAfAX(
zxD&f`ed`gK;n-~_BNew`H_W$-gRnnN$HO=fBX*nD@lxzXd>b&UN}XZ;G+!JViReu}ou2Pi&G
zd_CKAZQKE~6tBi`9fu5f>tj>{r@U#VbtX0>e)J~&ua-1;%lu-n8P!D(a45DrXx4`{
zm`;2YXJF$)WR5T8fgVSy87thB{;#4n=;?+vVq
zzQQNXg3}0tC>W3VZ~_*?>8J}mk43QXDKnZ~*qk^VwWKCs6P$$Vxt%x?gHM}joq&0X
zpGKW$5$4ya*E&14VKsK_MGdaYrh;`73liT&4Z=qlf<50c3sVwyCtiq*7M;>`EVQo0Q55WkMK@C#HA1)Vj&
zjFv$?qR!Y1*E@cKdL)I;@o|E^@EKf=`PGt&=gs@MHtLzT#?m+t3!w+q#WS!AF2+Q>
zgd?!+`@A1;9nQqK3%roFEm;`7)O!>^bxplR5VxWebgSnNl<1$q3|pQuN6>ti|=bb2FSdPv#`?*^QYB!F%NOzO=Es6KwKQvP#5Y^
zL}GCqj2bgZSOMpt>Tg7isa>c?`3~xaf57tSt8mL)pgHOpwnGh$9+(UJ;r2l83UxvI
zHV4|gFYpj?!|%;tyo0qUAM%4~$gCgDg;%2*n1xI59Xx@9fATMMtp7jzf19$V<8F53
zxno{J*{GI&iIG_3u4!?9bP=bb2H8^Vid%6p-o;b+)IIaT((xDbo6bBOO1b?jzX{RM
z;h13i7##Oai);UGRy@XGArO9)FX+-NUm>9CDR+<#uP00w`sr(98P>32V=-1^Sj<;EJi#Bt79gH
z;9;zWS8)^uJT`+a4mFk%QIB>4&c?~;V-2zXBC{0VvuyuwvBP<{&LF;tFXHF`+yBAv
z7ak;jA<(wo!oGAzTP(mNuY^5OcRC&m;Z9UT5241u1yloXV0jGAP5+0Jsg~RJzdWK*
z6`sLR+=Y$sb8Lu(nVW^N0~W=8P8^Rq&WqdeMN}6@2HXC3$8b~+jKjQ`hB|(Fu+R3-
z)8{BipkN0Uz!G_F|NO6v1&LdsF5Df*;ZW4zJB6R%=cp6z&1d^xuP0GGa2G@HF*4q)
z5SBqTtat(2Kc+%`Wb#w+8U|rDstXT0@nh75f(qLHUoOj|rr|VH`4UuDZowoxj$F&C
zSIF#-C~RASlt-cNyg%v&M>^%c@nrOjQcw+<&mGR@C+{;k{7}UW8R~18Si@Bb@g>QE3+!rvk*47K)0
z<4p8mFy2A6{14PKEmG1PS06QfhhaLtic_#sDck?qz6$k-N|v_$AGHlo@nFSV-|~`C
z3)f&@+=m-6cNx>A+i)Loa9MLlhjA70MU26ua_0DRs7H7UHE8dl-gb|%1J+{Q)(wnD
ztsAq^_Xe5mWFjzz|Ge1*SEF7sAE2h^uUH?eR5YVI8a3T~s1t9-ruZ$^#7g}4Rh_3Z
z4#MdeiyxyNRnrjL|JA%ag!!LH!FdYQbT!iwm|_Bb0g
z=uV*qS)uB-|1DVyHE6?7$3>tn)Cbk&BT*~lM4W~%U?VK*t6^J}$#g=E_5{?4rr>;>
zhZ-A&YMNHXQ2jHwOYn@s0Iwjq3A_5>;h^!`mT{tR|V9z{jb^T
z*n&6_TjM5F*I!39G`NnLesxei(;oG07lRr@<9Q|ih+8lkmxr1g`WCf<-bW46Tw(qj
z@>xa5=tNafchny1Vjm2_X{at;gX+RPs1sa3J%Z0sE8K6WdVk^$EEH~f;2^4JFQd+T
z8+C&v>*+>(T!>5`3dW#T!u>c4&)`PvS>N{mN2Z@qT^ZlNtc=r94W5O1L`yIXx1%1x
zWz_Wh75ig_hNed*pc-@v3vqqxG8vut8x`Oqtbhd@nR!|Vb)hKiha<5UzK)s&k5PBj
zys`6k!zkkEs1@%#s$rK<=M8LPrn3uu8ijqygyURPi}#`C_f^M$rY5e5dZs-cH=r7F
zAG>3RW@dUW#@)o9p~lQJ&28&dd=1sGfi27|+S-EoKc0fS6fDEx5w`y?A9wJ1;ubA!
z|6elCU^em0R%Q@2Z*A;~`l1<(diF6+xfeAy=Aas|9vk9OoQS{TRvg!c`L6}2SX(o=
zrlY!Y4eErKP=oM$)acFE&dl3#IGeaP-ocNsEgo-g?lho-?f-_{iFzshf*M*7vh(l_2yc2IlrnArbiA)}L6zFd5qy*|&HNb)xkLubqoP>L^8P@4xrrl`N
zhsZQk56(p$w;GG%HavodP>*7IPqTi^$71S>vmQQraIU@o+KnK(CU
zEL28+Ls7FR9TTHH2Ao&!7fnrsEc@O#B9Fa9$q3
z{Qrtf=Yh8W&+Ih^nHDZa-N8mDK7cObbEpRXgzYeNuo-O0sBgWeP_tnLY7D&YlpjHT
zkX%B4&kQm3s|@j(1)(_ws<0b1-ELthKE|mSI@ElxZ$(|G#xV2JYUMZ-)l-wP2(Cgk
zWIL+MPorLPS1=3zK=tSj-*8j$0-mDaN7Nne9bp!bd#EmKI?}xNJ2}3L$&^1vEm+Ah
z=3{g#b|?M_wS-q3W#)MYbP*?FI4(quG2feHbb*uD884#lpj@muVO>=DKx~KWus2@A
zp%^yWyxkU{|DA#Ap@2AZ=Vee|OrfYTmVy3RhRiyjb)Jl#)z_#4@1jnWJKl`ax~RA#
zYS1O3rqx^w#?6?3JFzO3ben0|0`&+wq0T=VYhx-l#nsqc^Z!FK^(e?U#>~$M97a3?
zb--t+X&0Da`~Nyt3AK{Fhq~a`sOgz|tobfT#bd-1QC;0U(ezjXYTek6dc>!3nC5@b
zINSgGeJrLDzlB=q>W(+B+fBHb_yI1(xk;v8>16Y3`U31rd2WwwZNR~}75~KPxG}|i
znpH}*{bOJV_Mm(!`ZO9(lj);^31*bOhhfCuq3*0ynmKSL>e+8}yo-94ZPQIx_jUB3
z#?T_v%V#a>-C%jmBhG^wI~Bdm|A}NKQ=qQAgPJbIGfV?&Vq@X~7=#N^k7^0(*&oIB
zHlJ#kNt}O@`K5Cc>VjXPzL37fljxdkZtxZ+5eH6T{_9z!PBHU)H@b<#r`rBMG_Jrg
z#MiMscAaL{i-kCc*q&~jhi!@T&oK3S;D2Y15ElsD82>LYB0mFJj-k3>z!OQ@dl
zRhnzwFKlPkHv=R&9tC$Dh#L;*RU(o!ow#Za`3*TbL`=|>(^Q>*{#LcL0w|cTDX5Dv$;vFu9oZTKmAh^q7>BIat@Bb^{Dgxg<3!It}dassxRcgC}*b1iB*b$3h6c)xeQn&UX?(CH5@#Jhg1*D`Pt)Vc?Im_zWykv@ZB2+zlRV^8DI4n?
ze1rUIr;fiOKQ5CJNS{09PdhsXI>%I|T<;QX+f5n&{!bZpbS4cVf1C6P`97pQy7;X9Q_u>wQ{Ose&>*Kj#{Agn$dQ_aRl{}NzYOC2k9B|&tOgVzeYZV{Bzg<
zefSmS`ah0V5I;a|pP;V~KaR7rp>yKO#CoanZuP%9z9Q~U+?5neSrOtiQbm%s>7)?K
zvoYN%JFXpUt%%d{o^$RF#6LK7&QMlW%aPmJ*_w)Pl3c_~sC1Ten>gIruV1Khwj<6-
zMzC)wh3lMH`%3C`Q?M
z>c2zM))Bj4oTlRrc5ZYI;)Biq^1R{1&8YOV4s_yNGyC_D|A@r5mGwDs
z&X$K*TOq85uTsCNbDlbQl=4|x4hE5#NI{Tuz%cS-$$!m3ACpFra<)&&Tx6e{I)zEu
z&M^-u@9O05QOqf3W`>K#$
zCw<30eXNziKDYoij)sv=I7jWnyVQLiH<6xV-$~+vq#ne_Q5*Nq8(ll7pzoRQN&QKK
zNRvoSC~t)8NE=9}s5^ypmhx|jhdU=aNxam_PbaSvm&UG?og=T!CVzyouQ8r@qUQer
zGQU&!02i^NE}p^ml*N<6h(9DfOIZyZN7_%?Mtp+QioCY*A@!m>!yj>O@@+{kvj06j|4yXQ6vSW(#*(xZaa6tx`?Oud-|+>k#{SpIS0Kfb
z1`zKhec;sniLx1_bCeyT>`l}*g4CFJ46*NXGU24T1VeBoDToRcoXVkCi?omOp_Jz%
ze-pjf6kowV*>{fg4e{IfpRDU5PFNWDls|6^pLsgyw)O1?PeoMTx|hJ)@q
z`LgU!C7+wJZKMG5A*5!cCd5Z^2X&@lKGJRSQKW_B%d$Ub`h5&22N~)v*$BF?@q`h}4pFmeh;#1kye7Ia@fH3Y4|TDZrA%A3N80gM34h
zwt=Medj8khd6i(RO4-g+;X9M{|67;<_OEi{0_?l%oJ>Vyo$~U|NjE#rro56TYY>knEupNuzyB#LL6An;LYhGQE-9F_hLp4Q<)D)Ub4m9}O^F9nzY8`bUQIef
zDo)aNkbSS1tpA@ceNR1Y9~k^UPix)oPU`LK976sF(sklUsw9)|OUiWie~i&iz5x64
zIQcKAqwN<`UVrYNAETXYH|qXLy?Vsc$!C##mz)Dj5&TMOL0U3$X%2a9
zyU1sdo@al~HiP(A;wvN%DTW=N;cUutwnQ@hDch4%fTM_?+=8herS<JbfDXp1af0jKZEg*08cvr7PPlnf>HGbOKfQtRx$te@vt_)8`x;tL&b0wy`+@9FcN$&XY
ztWz^)1>_nX8#g{Ha^^evvZ^ooGaz$GeY@oHhtGv)b$I^MpsXe@qy&d0deXgW<(OFR
zDL&kaO3Fw`^tha2&YPYQ7w1k-ACr-kG$m`zx-CIjo=u7Qhoz*YO$pV#xnk4YE>DVA
z_nI<^1GvTb6qk2wtT)_>{;$LywU>9?(=e;po_2v*qp}W!
zX3hBOy*z=9!W(6E{Vv(|b#Z|djvvuM0*JiI}Je1pSG9M&N=-JKfi
z9UI{a5C5mMhkMGTl(hKto{8z+2vrD;tf7;ka)I=WN2y4w?%_&-j{gotxTj*U&@
z79(5(`gabi(41@bcTe`lrzFQFdcva3bct|H;lQj9zn@@d-Tv|Qz^p#^8syEI{jf-I
zc3>|1O74=HB2zQcW0RBJo-yh&&(|~8W>(5?m&?AI&+b~Z(*Iw<)ry&2>+6~8*_G+7
zU^i|v(498kbK+3y82^a(uM1%vW4-P~w}+Fv+^iL8`Z+Z*fszbQyerKepD{Jjo#u6=
zr)2JEXIBglclAz;8|!tslT*i}j7@TTLS2*G9*-+tN4ugEy>3_6{{5rsHFPoCr)I97
zYnRQWg=Mp2E7*4eddDZaUHxN6yOWaKuIde|rPF&Hn&wh7JfmYh<6Rze`m}VfDtW?P
z9qCgy>jT$J8^aWErzKIvHRi;jw9MNt*fm>(yE-I#xi0O9ce~=XGuGq!kF_bolkQIA
zuAC0{uTR-sL+srJvnz(#-v$(J?{8AhGUdq*tZ!Ef%p5t*E|WYs|*8}xtaOVF*b+d4?`(J@np#uC
zYj{Sdr?%`6!9z-l&+MIMyQ)s41LEDu{*o{k^D)hpI3_JN*&P;1K=TvbnQJ_DXy(dP
wyL9#kY4(b86}zajCM9~}6BD>&uYYt-Oia(vAW6?&u-KkgHhbPyJ6G`k1F4=*g8%>k
diff --git a/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po b/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po
index c276388ed..0484bfc69 100755
--- a/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po
+++ b/wp-content/plugins/wp-rocket/languages/rocket-de_DE.po
@@ -1,18 +1,17 @@
-# Copyright (C) 2016 WP Rocket
-# This file is distributed under the same license as the WP Rocket package.
+# Copyright (C) 2023 WP Media
+# This file is distributed under the same license as the WP Rocket plugin.
# Translators:
# Ben_Mew , 2019
-# Caspar Hübinger, 2020
# Romain • WP Rocket , 2020
+# Caspar Hübinger, 2020
# Rico Michael , 2021
# Christian Herrmann, 2023
-#
-#, fuzzy
+#
msgid ""
msgstr ""
-"Project-Id-Version: WP Rocket 3.13.3\n"
+"Project-Id-Version: WP Rocket 3.15\n"
"Report-Msgid-Bugs-To: http://wp-rocket.me/\n"
-"POT-Creation-Date: 2023-06-12 13:56-0400\n"
+"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n"
"PO-Revision-Date: 2019-08-26 15:14+0000\n"
"Last-Translator: Christian Herrmann, 2023\n"
"Language-Team: German (Germany) (https://app.transifex.com/wp-media/teams/18133/de_DE/)\n"
@@ -21,22 +20,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.11\n"
-"X-Poedit-Basepath: ..\n"
-"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n"
-"X-Poedit-SearchPath-0: .\n"
-"X-Poedit-SearchPathExcluded-0: assets\n"
-"X-Poedit-SearchPathExcluded-1: src\n"
-"X-Poedit-SearchPathExcluded-2: vendor\n"
-"X-Poedit-SearchPathExcluded-3: node_modules\n"
-"X-Poedit-SearchPathExcluded-4: tests\n"
-"X-Poedit-SearchPathExcluded-5: inc/Dependencies\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Textdomain-Support: yes\n"
+"X-Domain: rocket\n"
+"X-Generator: WP-CLI 2.7.1\n"
+#. Translators: %s = Hosting name.
#: inc/3rd-party/hosting/flywheel.php:18
#: inc/3rd-party/hosting/pressidium.php:18
-#: inc/3rd-party/hosting/wp-serveur.php:27
+#: inc/3rd-party/hosting/wp-serveur.php:27 inc/deprecated/3.6.php:697
+#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22
#: inc/ThirdParty/Hostings/Cloudways.php:90
#: inc/ThirdParty/Hostings/Dreampress.php:44
#: inc/ThirdParty/Hostings/Godaddy.php:63
@@ -44,9 +35,7 @@ msgstr ""
#: inc/ThirdParty/Hostings/OneCom.php:137
#: inc/ThirdParty/Hostings/ProIsp.php:51 inc/ThirdParty/Hostings/Savvii.php:50
#: inc/ThirdParty/Hostings/WPEngine.php:47
-#: inc/ThirdParty/Hostings/WPXCloud.php:51 inc/deprecated/3.6.php:697
-#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22
-#, php-format
+#: inc/ThirdParty/Hostings/WPXCloud.php:51
msgid ""
"Your site is hosted on %s, we have enabled Varnish auto-purge for "
"compatibility."
@@ -59,28 +48,38 @@ msgid "Cloudflare did not provide any reply. Please try again later."
msgstr ""
"Cloudflare hat keine Antwort zurückgegeben. Bitte versuche es später erneut."
-#: inc/Addon/Cloudflare/API/Client.php:186 inc/deprecated/3.5.php:112
+#: inc/Addon/Cloudflare/API/Client.php:135
+msgid "Cloudflare unexpected response"
+msgstr "Unerwartete Antwort von Cloudflare"
+
+#: inc/Addon/Cloudflare/API/Client.php:143
+msgid "Missing Cloudflare result."
+msgstr "Fehlende Antwort von Cloudflare."
+
+#: inc/Addon/Cloudflare/API/Client.php:194 inc/deprecated/3.5.php:112
#: inc/deprecated/3.5.php:169
msgid "Incorrect Cloudflare email address or API key."
msgstr "Ungültige Cloudflare-E-Mail-Adresse oder API-Schlüssel."
-#: inc/Addon/Cloudflare/API/Client.php:190
-#: inc/Addon/Cloudflare/API/Client.php:204
-#: inc/Addon/Cloudflare/Cloudflare.php:74
-#: inc/Addon/Cloudflare/Cloudflare.php:109
+#. translators: %1$s = opening link; %2$s = closing link
+#: inc/Addon/Cloudflare/API/Client.php:198
+#: inc/Addon/Cloudflare/API/Client.php:212
+#: inc/Addon/Cloudflare/Cloudflare.php:75
+#: inc/Addon/Cloudflare/Cloudflare.php:108
#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:157
#: inc/deprecated/3.5.php:92 inc/deprecated/3.5.php:116
#: inc/deprecated/3.5.php:129 inc/deprecated/3.5.php:157
#: inc/deprecated/3.5.php:173
-#, php-format
msgid "Read the %1$sdocumentation%2$s for further guidance."
msgstr "Lies die %1$sDokumentation%2$s für weitere Hinweise."
-#: inc/Addon/Cloudflare/API/Client.php:192
-#: inc/Addon/Cloudflare/API/Client.php:206
+#. translators: Documentation exists in EN, FR; use localized URL if
+#. applicable.
+#: inc/Addon/Cloudflare/API/Client.php:200
+#: inc/Addon/Cloudflare/API/Client.php:214
#: inc/Addon/Cloudflare/Auth/APIKey.php:63
-#: inc/Addon/Cloudflare/Cloudflare.php:76
-#: inc/Addon/Cloudflare/Cloudflare.php:111 inc/deprecated/3.5.php:81
+#: inc/Addon/Cloudflare/Cloudflare.php:77
+#: inc/Addon/Cloudflare/Cloudflare.php:110 inc/deprecated/3.5.php:81
#: inc/deprecated/3.5.php:94 inc/deprecated/3.5.php:118
#: inc/deprecated/3.5.php:131 inc/deprecated/3.5.php:159
#: inc/deprecated/3.5.php:175 inc/deprecated/3.5.php:208
@@ -91,12 +90,12 @@ msgstr ""
"https://docs.wp-rocket.me/article/18-using-wp-rocket-with-"
"cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on"
-#: inc/Addon/Cloudflare/API/Client.php:200 inc/deprecated/3.5.php:125
+#: inc/Addon/Cloudflare/API/Client.php:208 inc/deprecated/3.5.php:125
msgid "Incorrect Cloudflare Zone ID."
msgstr "Ungültige Cloudflare Zone ID."
+#. translators: %1$s = opening link; %2$s = closing link
#: inc/Addon/Cloudflare/Auth/APIKey.php:61
-#, php-format
msgid ""
"Cloudflare email and/or API key are not set. Read the %1$sdocumentation%2$s "
"for further guidance."
@@ -104,103 +103,104 @@ msgstr ""
"Cloudflare-E-Mail und/oder API-Schlüssel sind nicht eingerichtet. Lies die "
"%1$sDokumentation%2$s für weitere Anleitung."
-#: inc/Addon/Cloudflare/Cloudflare.php:70 inc/deprecated/3.5.php:88
+#: inc/Addon/Cloudflare/Cloudflare.php:71 inc/deprecated/3.5.php:88
msgid "Missing Cloudflare Zone ID."
msgstr "Fehlende Cloudflare Zone ID."
-#: inc/Addon/Cloudflare/Cloudflare.php:105 inc/deprecated/3.5.php:153
+#: inc/Addon/Cloudflare/Cloudflare.php:104 inc/deprecated/3.5.php:153
msgid "It looks like your domain is not set up on Cloudflare."
msgstr "Wie es aussieht, ist deine Domain nicht auf Cloudflare eingerichtet."
-#: inc/Addon/Cloudflare/Cloudflare.php:205
+#: inc/Addon/Cloudflare/Cloudflare.php:200
msgid "days"
msgstr "Tage"
-#: inc/Addon/Cloudflare/Cloudflare.php:208
+#: inc/Addon/Cloudflare/Cloudflare.php:203
msgid "seconds"
msgstr "Sekunden"
-#: inc/Addon/Cloudflare/Cloudflare.php:210
+#: inc/Addon/Cloudflare/Cloudflare.php:205
msgid "minutes"
msgstr "Minuten"
-#: inc/Addon/Cloudflare/Cloudflare.php:212
+#: inc/Addon/Cloudflare/Cloudflare.php:207
msgid "hours"
msgstr "Stunden"
-#: inc/Addon/Cloudflare/Subscriber.php:224
-#: inc/Addon/Cloudflare/Subscriber.php:253
-#, php-format
+#. translators: %1$s = , %2$s = , %3$s = CloudFare API return
+#. message.
+#: inc/Addon/Cloudflare/Subscriber.php:232
+#: inc/Addon/Cloudflare/Subscriber.php:261
msgid "%1$sWP Rocket:%2$s %3$s"
msgstr "%1$sWP Rocket:%2$s %3$s"
-#: inc/Addon/Cloudflare/Subscriber.php:242
-#, php-format
+#. translators: %1$s = , %2$s = .
+#: inc/Addon/Cloudflare/Subscriber.php:250
msgid "%1$sWP Rocket:%2$s Cloudflare cache successfully purged."
msgstr "%1$sWP Rocket:%2$s Cloudflare-Cache erfolgreich geleert."
-#: inc/Addon/Cloudflare/Subscriber.php:297
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:311
msgid "Cloudflare development mode error: %s"
msgstr "Fehler mit Cloudflare Development Mode: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:304
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:318
msgid "Cloudflare development mode %s"
msgstr "Cloudflare Development Mode: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:321
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:337
msgid "Cloudflare cache level error: %s"
msgstr "Fehler mit Cloudflare Cache Level: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:328
+#: inc/Addon/Cloudflare/Subscriber.php:344
msgctxt "Cloudflare caching level"
msgid "standard"
msgstr "Standard"
-#: inc/Addon/Cloudflare/Subscriber.php:334
-#, php-format
+#. translators: %s is the caching level returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:350
msgid "Cloudflare cache level set to %s"
msgstr "Cloudflare Cache Level: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:350
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:368
msgid "Cloudflare minification error: %s"
msgstr "Fehler mit Cloudflare Minification: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:357
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:375
msgid "Cloudflare minification %s"
msgstr "Cloudflare Minification: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:373
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:393
msgid "Cloudflare rocket loader error: %s"
msgstr "Fehler mit Cloudflare RocketLoader: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:380
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:400
msgid "Cloudflare rocket loader %s"
msgstr "Cloudflare RocketLoader: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:396
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:418
msgid "Cloudflare browser cache error: %s"
msgstr "Fehler mit CloudFlare Browser Cache: %s"
-#: inc/Addon/Cloudflare/Subscriber.php:403
-#, php-format
+#. translators: %s is the message returned by the CloudFlare API.
+#: inc/Addon/Cloudflare/Subscriber.php:425
msgid "Cloudflare browser cache set to %s"
msgstr "Cloudflare-Browsercache auf %s eingestellt"
-#: inc/Addon/Cloudflare/Subscriber.php:512
-#, php-format
+#. translators: %1$s = strong opening tag, %2$s = strong closing tag.
+#: inc/Addon/Cloudflare/Subscriber.php:536
msgid "%1$sWP Rocket:%2$s Optimal settings activated for Cloudflare:"
msgstr "%1$sWP Rocket:%2$s Optimale Einstellungen für Cloudflare aktiviert:"
-#: inc/Addon/Cloudflare/Subscriber.php:521
-#, php-format
+#. translators: %1$s = strong opening tag, %2$s = strong closing tag.
+#: inc/Addon/Cloudflare/Subscriber.php:545
msgid ""
"%1$sWP Rocket:%2$s Optimal settings deactivated for Cloudflare, reverted to "
"previous settings:"
@@ -208,17 +208,17 @@ msgstr ""
"%1$sWP Rocket:%2$s Optimale Einstellungen für Cloudflare wurden deaktiviert "
"und die vorherigen Einstellungen wiederhergestellt:"
-#: inc/Addon/Cloudflare/Subscriber.php:632 inc/admin/options.php:184
+#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:144
#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:148
msgid "WP Rocket: "
msgstr "WP Rocket: "
-#: inc/Addon/Sucuri/Subscriber.php:95
-#, php-format
+#. translators: %s is the error message returned by the API.
+#: inc/Addon/Sucuri/Subscriber.php:96
msgid "Sucuri cache purge error: %s"
msgstr "Sucuri-Cache Fehler beim Leeren: %s"
-#: inc/Addon/Sucuri/Subscriber.php:100
+#: inc/Addon/Sucuri/Subscriber.php:101
msgid ""
"The Sucuri cache is being cleared. Note that it may take up to two minutes "
"for it to be fully flushed."
@@ -226,42 +226,43 @@ msgstr ""
"Der Sucuri-Cache wird geleert. Bedenke, dass es bis zu zwei Minuten dauern "
"kann, bis er völlig geleert ist."
-#: inc/Addon/Sucuri/Subscriber.php:217
+#: inc/Addon/Sucuri/Subscriber.php:218
msgid "Sucuri firewall API key was not found."
msgstr "Sucuri Firewall API-Schlüssel wurde nicht gefunden."
-#: inc/Addon/Sucuri/Subscriber.php:230
+#: inc/Addon/Sucuri/Subscriber.php:231
msgid "Sucuri firewall API key is invalid."
msgstr "Sucuri Firewall API-Schlüssel ist ungültig."
-#: inc/Addon/Sucuri/Subscriber.php:285
-#, php-format
+#. translators: %s is an error message.
+#: inc/Addon/Sucuri/Subscriber.php:286
msgid "Error when contacting Sucuri firewall API. Error message was: %s"
msgstr ""
"Fehler beim Versuch, die Sucuri Firewall API zu kontaktieren. Fehlermeldung "
"war: %s"
-#: inc/Addon/Sucuri/Subscriber.php:300
+#: inc/Addon/Sucuri/Subscriber.php:301
msgid "Could not get a response from the Sucuri firewall API."
msgstr "Konnte keine Antwort von der Sucuri Firewall API erhalten."
-#: inc/Addon/Sucuri/Subscriber.php:315
+#: inc/Addon/Sucuri/Subscriber.php:316
msgid "Got an invalid response from the Sucuri firewall API."
msgstr "Ungültige Antwort von der Sucuri Firewall API erhalten."
-#: inc/Addon/Sucuri/Subscriber.php:329
+#: inc/Addon/Sucuri/Subscriber.php:330
msgid "The Sucuri firewall API returned an unknown error."
msgstr "Die Sucuri Firewall API hat einen unbekannten Fehler gemeldet."
-#: inc/Addon/Sucuri/Subscriber.php:333
-#, php-format
+#. translators: %s is an error message.
+#: inc/Addon/Sucuri/Subscriber.php:334
msgid "The Sucuri firewall API returned the following error: %s"
msgid_plural "The Sucuri firewall API returned the following errors: %s"
msgstr[0] "Die Sucuri Firewall API hat folgenden Fehler zurückgegeben: %s"
msgstr[1] "Die Sucuri Firewall API hat folgende Fehler zurückgegeben: %s"
+#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing
+#. tag.
#: inc/Addon/WebP/AdminSubscriber.php:93
-#, php-format
msgid ""
"You are using %1$s to serve WebP images so you do not need to enable this "
"option. %2$sMore info%3$s %4$s If you prefer to have WP Rocket serve WebP "
@@ -285,9 +286,10 @@ msgstr[1] ""
msgid "WebP cache is disabled by filter."
msgstr "WebP-Cache wurde durch einen Filter deaktiviert."
+#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing
+#. tag.
#: inc/Addon/WebP/AdminSubscriber.php:115
#: inc/Addon/WebP/AdminSubscriber.php:141
-#, php-format
msgid ""
"You are using %1$s to convert images to WebP. If you want WP Rocket to serve"
" them for you, activate this option. %2$sMore info%3$s"
@@ -301,9 +303,10 @@ msgstr[1] ""
"Du benutzt %1$s, um Bilder nach WebP umzuwandeln. Falls du möchtest, dass WP"
" Rocket sie ausliefert, aktiviere diese Option. %2$sMehr erfahren%3$s"
+#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing
+#. tag.
#: inc/Addon/WebP/AdminSubscriber.php:127
#: inc/Addon/WebP/AdminSubscriber.php:153
-#, php-format
msgid ""
"You are using %1$s to convert images to WebP. WP Rocket will create separate"
" cache files to serve your WebP images. %2$sMore info%3$s"
@@ -319,8 +322,8 @@ msgstr[1] ""
"Cache-Dateien anlegen, um deine WebP-Bilder auszuliefern. %2$sMehr "
"erfahren%3$s"
+#. Translators: %1$s = opening tag, %2$s = closing tag.
#: inc/Addon/WebP/AdminSubscriber.php:173
-#, php-format
msgid ""
"%5$sWe have not detected any compatible WebP plugin!%6$s%4$s If you don’t "
"already have WebP images on your site consider using %3$sImagify%2$s or "
@@ -339,3357 +342,3161 @@ msgstr ""
"WP Rocket wird separate Cache-Dateien erstellen, um deine WebP-Bilder "
"auszuliefern."
-#: inc/Engine/Admin/Database/Optimization.php:30
-#: inc/Engine/Admin/Settings/Page.php:1475
-msgid "Revisions"
-msgstr "Revisionen"
+#: inc/admin/admin.php:18 inc/common/admin-bar.php:266
+#: inc/deprecated/deprecated.php:1787
+msgid "Support"
+msgstr "Hilfe"
-#: inc/Engine/Admin/Database/Optimization.php:31
-#: inc/Engine/Admin/Settings/Page.php:1485
-msgid "Auto Drafts"
-msgstr "Automatisch erstellte Entwürfe"
+#: inc/admin/admin.php:20
+msgid "Docs"
+msgstr "Dokumentation"
-#: inc/Engine/Admin/Database/Optimization.php:32
-#: inc/Engine/Admin/Settings/Page.php:1495
-msgid "Trashed Posts"
-msgstr "Gelöschte Einträge (Papierkorb)"
+#: inc/admin/admin.php:22 inc/common/admin-bar.php:254
+msgid "FAQ"
+msgstr "FAQ"
-#: inc/Engine/Admin/Database/Optimization.php:33
-#: inc/Engine/Admin/Settings/Page.php:1505
-msgid "Spam Comments"
-msgstr "Spam-Kommentare"
+#: inc/admin/admin.php:24 inc/common/admin-bar.php:63
+msgid "Settings"
+msgstr "Einstellungen"
-#: inc/Engine/Admin/Database/Optimization.php:34
-#: inc/Engine/Admin/Settings/Page.php:1515
-msgid "Trashed Comments"
-msgstr "Gelöschte Kommentare (Papierkorb)"
+#: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898
+#: inc/Engine/Cache/AdminSubscriber.php:134
+msgid "Clear this cache"
+msgstr "Diesen Cache leeren"
-#: inc/Engine/Admin/Database/Optimization.php:35
-msgid "Transients"
-msgstr "Transients"
+#: inc/admin/admin.php:397
+msgid "Settings import failed: you do not have the permissions to do this."
+msgstr ""
+"Importieren der Einstellungen fehlgeschlagen: Dir fehlen die entsprechenden "
+"Berechtigungen."
-#: inc/Engine/Admin/Database/Optimization.php:36
-msgid "Tables"
-msgstr "Tabellen"
+#: inc/admin/admin.php:401
+msgid "Settings import failed: no file uploaded."
+msgstr "Import fehlgeschlagen: keine Datei hochgeladen."
-#: inc/Engine/Admin/Database/Subscriber.php:79
-#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92
-#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137
-msgid "weekly"
-msgstr "wöchentlich"
+#: inc/admin/admin.php:405
+msgid "Settings import failed: incorrect filename."
+msgstr "Import fehlgeschlagen: nicht unterstützter Dateiname."
-#: inc/Engine/Admin/Database/Subscriber.php:85
-msgid "monthly"
-msgstr "monatlich"
+#: inc/admin/admin.php:416
+msgid "Settings import failed: incorrect filetype."
+msgstr "Import fehlgeschlagen: nicht unterstütztes Dateiformat."
-#: inc/Engine/Admin/Database/Subscriber.php:194
-msgid "Database optimization process is running"
-msgstr "Datenbank wird optimiert."
+#: inc/admin/admin.php:426
+msgid "Settings import failed: "
+msgstr "Import der Einstellungen fehlgeschlagen: "
-#: inc/Engine/Admin/Database/Subscriber.php:224
-msgid ""
-"Database optimization process is complete. Everything was already optimized!"
-msgstr "Datenbank-Optimierung abgeschlossen. Alles war bereits optimiert!"
+#: inc/admin/admin.php:442
+msgid "Settings import failed: unexpected file content."
+msgstr "Import der Einstellungen fehlgeschlagen: Unerwarteter Dateiinhalt."
-#: inc/Engine/Admin/Database/Subscriber.php:227
-msgid ""
-"Database optimization process is complete. List of optimized items below:"
-msgstr ""
-"Datenbank-Optimierung abgeschlossen. Folgende Elemente wurden optimiert:"
+#: inc/admin/admin.php:472
+msgid "Settings imported and saved."
+msgstr "Einstellungen importiert und gespeichert."
-#: inc/Engine/Admin/Database/Subscriber.php:235
-#, php-format
-msgid "%1$d %2$s optimized."
-msgstr "%1$d %2$s optimiert."
+#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684
+msgid "Excluded CSS Files"
+msgstr "CSS-Ausnahmen"
-#: inc/Engine/Admin/Settings/Page.php:201
-msgid "Save Changes"
-msgstr "Änderungen speichern"
+#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838
+msgid "Excluded Inline JavaScript"
+msgstr "Ausgenommenes Inline JavaScript"
-#: inc/Engine/Admin/Settings/Page.php:201
-msgid "Validate License"
-msgstr "Lizenz prüfen"
+#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856
+#: inc/Engine/Admin/Settings/Page.php:889
+#: inc/Engine/Admin/Settings/Page.php:936
+msgid "Excluded JavaScript Files"
+msgstr "JavaScript-Ausnahmen"
-#: inc/Engine/Admin/Settings/Page.php:257
-#: inc/Engine/Admin/Settings/Page.php:258
-msgid "Unavailable"
-msgstr "Server nicht erreichbar"
+#: inc/admin/options.php:87
+msgid "Defer JavaScript Files"
+msgstr "JavaScript-Dateien aufschieben"
-#: inc/Engine/Admin/Settings/Page.php:352 inc/deprecated/deprecated.php:1789
-#: views/settings/page-sections/dashboard.php:80
-msgid "License"
-msgstr "Lizenz"
+#: inc/admin/options.php:88
+msgid "Excluded Delay JavaScript Files"
+msgstr "Ausgenommene verzögerte JavaScript-Dateien"
-#: inc/Engine/Admin/Settings/Page.php:369
-msgid "API key"
-msgstr "API-Schlüssel"
+#: inc/admin/options.php:89 inc/Engine/Admin/Settings/Page.php:1329
+msgid "Never Cache URL(s)"
+msgstr "Nie cachen (URLs)"
-#: inc/Engine/Admin/Settings/Page.php:384
-msgid "Email address"
-msgstr "E-Mail-Adresse"
+#: inc/admin/options.php:90 inc/Engine/Admin/Settings/Page.php:1343
+msgid "Never Cache User Agent(s)"
+msgstr "Nie cachen (User Agents)"
-#: inc/Engine/Admin/Settings/Page.php:410
-msgid "Dashboard"
-msgstr "Dashboard"
+#: inc/admin/options.php:91 inc/Engine/Admin/Settings/Page.php:1349
+msgid "Always Purge URL(s)"
+msgstr "Immer löschen (URLs)"
-#: inc/Engine/Admin/Settings/Page.php:411
-msgid "Get help, account info"
-msgstr "Konto-Übersicht, Hilfe"
+#: inc/admin/options.php:92 inc/Engine/Admin/Settings/Page.php:1616
+msgid "Exclude files from CDN"
+msgstr "Dateien vom CDN ausschließen"
-#: inc/Engine/Admin/Settings/Page.php:420
-msgid "My Status"
-msgstr "Mein Status"
+#. translators: 1 and 2 can be anything.
+#: inc/admin/options.php:110
+msgid "%1$s: %2$s "
+msgstr "%1$s: %2$s "
-#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75
-msgid "Rocket Analytics"
-msgstr "Rocket Analytics"
+#: inc/admin/options.php:120
+msgid "The following pattern is invalid and has been removed:"
+msgid_plural "The following patterns are invalid and have been removed:"
+msgstr[0] "Folgendes Muster ist ungültig und wurde entfernt:"
+msgstr[1] "Folgende Muster sind ungültig und wurden entfernt:"
-#: inc/Engine/Admin/Settings/Page.php:432
-#, php-format
-msgid ""
-"I agree to share anonymous data with the development team to help improve WP"
-" Rocket. %1$sWhat info will we collect?%2$s"
-msgstr ""
-"Ich erlaube dem Entwicklungsteam von WP Rocket, anonyme Daten aus meiner "
-"Installation zum Zweck der Produktverbesserung zu erheben. %1$sWelche Daten "
-"werden gesammelt?%2$s"
+#: inc/admin/options.php:136
+msgid "More info"
+msgstr "Mehr erfahren"
-#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354
-msgid "Cache"
-msgstr "Cache"
+#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:671
+#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147
+#: views/settings/page-sections/dashboard.php:150
+msgid "Clear cache"
+msgstr "Cache leeren"
-#: inc/Engine/Admin/Settings/Page.php:457
-msgid "Basic cache options"
-msgstr "Cache-Grundfunktionen"
+#: inc/admin/ui/meta-boxes.php:67
+msgid "WP Rocket Options"
+msgstr "WP-Rocket-Optionen"
-#: inc/Engine/Admin/Settings/Page.php:464
-msgid "Mobile Cache"
-msgstr "Mobiler Cache"
+#: inc/admin/ui/meta-boxes.php:96
+msgid "Never cache this page"
+msgstr "Diese Seite niemals cachen"
-#: inc/Engine/Admin/Settings/Page.php:466
-msgid "Speed up your site for mobile visitors."
-msgstr "Beschleunige deine Site auf mobilen Geräten."
+#: inc/admin/ui/meta-boxes.php:100
+msgid "Activate these options on this post:"
+msgstr "Aktiviere diese Einstellungen für diesen Beitrag:"
-#: inc/Engine/Admin/Settings/Page.php:471
-msgid ""
-"We detected you use a plugin that requires a separate cache for mobile, and "
-"automatically enabled this option for compatibility."
-msgstr ""
-"Anscheinend nutzt du ein anderes Plugin, das einen separaten mobilen Cache "
-"erfordert. Daher wurde diese Einstellung automatisch aktiviert."
+#: inc/admin/ui/meta-boxes.php:103
+msgid "LazyLoad for images"
+msgstr "LazyLoad für Bilder"
-#: inc/Engine/Admin/Settings/Page.php:475
-msgid "User Cache"
-msgstr "Personalisierter Cache"
+#: inc/admin/ui/meta-boxes.php:104
+msgid "LazyLoad for iframes/videos"
+msgstr "LazyLoad für iframes und Videos"
-#: inc/Engine/Admin/Settings/Page.php:478
-#, php-format
-msgid ""
-"%1$sUser cache%2$s is great when you have user-specific or restricted "
-"content on your website."
-msgstr ""
-"%1$sPersonalisierter Cache%2$s ist nützlich, wenn du personalisierte oder "
-"eingeschränkte Inhalte zur Verfügung stellst."
+#: inc/admin/ui/meta-boxes.php:105
+msgid "Minify CSS"
+msgstr "CSS minifizieren"
-#: inc/Engine/Admin/Settings/Page.php:486
-msgid "Cache Lifespan"
-msgstr "Cache-Dauer"
+#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736
+msgid "Remove Unused CSS"
+msgstr "Nicht benutztes CSS entfernen"
-#: inc/Engine/Admin/Settings/Page.php:489
-#, php-format
-msgid ""
-"Cache files older than the specified lifespan will be deleted. Enable "
-"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan "
-"expiration."
-msgstr ""
-"Cache-Dateien, die älter als die angegebene Lebensdauer sind, werden "
-"gelöscht. Aktiviere %1$sCache füllen%2$s, um den Cache nach dem Ablauf "
-"der Lebensdauer automatisch neu zu generieren."
+#: inc/admin/ui/meta-boxes.php:107
+msgid "Minify/combine JS"
+msgstr "JS minifizieren/zusammenfassen"
-#: inc/Engine/Admin/Settings/Page.php:503
-msgid "Enable caching for logged-in WordPress users"
-msgstr "Caching für angemeldete WordPress-Benutzer/-innen aktivieren"
+#: inc/admin/ui/meta-boxes.php:108 inc/deprecated/deprecated.php:1773
+#: inc/Engine/Admin/Settings/Page.php:1586
+#: inc/Engine/Admin/Settings/Page.php:1597
+msgid "CDN"
+msgstr "CDN"
-#: inc/Engine/Admin/Settings/Page.php:511
-msgid "Enable caching for mobile devices"
-msgstr "Caching für mobile Geräte aktivieren"
+#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765
+msgid "Load CSS asynchronously"
+msgstr "CSS-Dateien asynchron laden"
-#: inc/Engine/Admin/Settings/Page.php:526
-msgid "Separate cache files for mobile devices"
-msgstr "Separater Cache für mobile Geräte"
+#: inc/admin/ui/meta-boxes.php:110
+msgid "Defer JS"
+msgstr "Verzögertes JS (defer)"
-#: inc/Engine/Admin/Settings/Page.php:528
-#, php-format
+#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907
+msgid "Delay JavaScript execution"
+msgstr "JavaScript-Ausführung verzögern"
+
+#. translators: %s is the name of the option.
+#: inc/admin/ui/meta-boxes.php:130
+msgid "Activate first the %s option."
+msgstr "Aktiviere zuerst die Einstellung %s."
+
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/admin/ui/meta-boxes.php:146
msgid ""
-"Most modern themes are responsive and should work without a separate cache. "
-"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore "
-"info%2$s"
+"%1$sNote:%2$s None of these options will be applied if this post has been "
+"excluded from cache in the global cache settings."
msgstr ""
-"Die meisten modernen Themes sind responsiv und sollten ohne einen separaten "
-"Cache arbeiten. Aktiviere dies nur, falls du ein spezielles Mobil-Theme oder"
-" -Plugin benutzt. %1$sMehr erfahren%2$s"
+"%1$sHinweis:%2$s Keine dieser Optionen wird angewendet, falls dieser Beitrag"
+" in den globalen Cache-Einstellungen vom Cache ausgenommen wurde."
-#: inc/Engine/Admin/Settings/Page.php:544
+#. translators: %1$s WP Rocket plugin name; %2$s = file name.
+#: inc/admin/ui/notices.php:30 inc/admin/ui/notices.php:43
msgid ""
-"Specify time after which the global cache is cleared (0 = unlimited )"
+"%1$s has not been deactivated due to missing writing permissions. \n"
+"Make %2$s writeable and retry deactivation, or force deactivation now:"
msgstr ""
-"Zeitangabe, nach welcher der globale Cache geleert wird (0 = unbegrenzt)"
+"%1$s wurde nicht aktiviert wegen fehlender Schreibrechte. \n"
+"Erteile Schreibrechte für %2$s und versuche die Deaktivierung erneut, oder forciere die Deaktivierung jetzt:"
-#: inc/Engine/Admin/Settings/Page.php:546
-#, php-format
+#. translators: %s is WP Rocket plugin name.
+#: inc/admin/ui/notices.php:97
msgid ""
-"Reduce lifespan to 10 hours or less if you notice issues that seem to appear"
-" periodically. %1$sWhy?%2$s"
+"%s : One or more plugins have been enabled or disabled, "
+"clear the cache if they affect the front end of your site."
msgstr ""
-"Reduziere auf 10 Stunden oder weniger, falls du Probleme bemerkst, die "
-"periodisch aufzutreten scheinen. %1$sWarum?%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:552
-#: inc/Engine/License/views/promo-banner.php:30
-#: inc/Engine/License/views/renewal-soon-banner.php:13
-msgid "Hours"
-msgstr "Stunden"
-
-#: inc/Engine/Admin/Settings/Page.php:553
-#: inc/Engine/License/views/promo-banner.php:29
-#: inc/Engine/License/views/renewal-soon-banner.php:12
-msgid "Days"
-msgstr "Tage"
-
-#: inc/Engine/Admin/Settings/Page.php:602
-msgid "File Optimization"
-msgstr "Datei-Optimierung"
-
-#: inc/Engine/Admin/Settings/Page.php:603
-msgid "Optimize CSS & JS"
-msgstr "CSS und JS optimieren"
+"%s : Plugin(s) aktiviert oder deaktiviert. Falls dies die "
+"Darstellung deiner Website betrifft, lösche jetzt den Cache."
-#: inc/Engine/Admin/Settings/Page.php:611
-#: inc/Engine/Admin/Settings/Page.php:637
-#, php-format
+#. translators: %s is WP Rocket plugin name.
+#: inc/admin/ui/notices.php:141
msgid ""
-"%1$s Minification is currently activated in Autoptimize . If"
-" you want to use %2$s’s minification, disable those options in Autoptimize."
+"%s : The following plugins are not compatible with this "
+"plugin and may cause unexpected results:"
msgstr ""
-"%1$s Minifizierung ist momentan in Autoptimize aktiviert. "
-"Wenn du die Minifizierung von %2$s nutzen möchtest, deaktiviere die "
-"entsprechenden Einstellungen in Autoptimize."
-
-#: inc/Engine/Admin/Settings/Page.php:621
-msgid "CSS Files"
-msgstr "CSS-Dateien"
-
-#: inc/Engine/Admin/Settings/Page.php:630
-msgid "JavaScript Files"
-msgstr "JavaScript-Dateien"
+"%s : Folgende Plugins sind mit diesem Plugin nicht "
+"kompatibel und können unerwartete Ergebnisse hervorrufen:"
-#: inc/Engine/Admin/Settings/Page.php:642
-msgid ""
-"If you have problems after activating this option, copy and paste the "
-"default exclusions to quickly resolve issues:"
-msgstr ""
-"Falls du nach dem Aktivieren dieser Funktion Probleme bekommst, kopiere die "
-"Standardexklusionen und füge sie ein, um diese schnell zu beheben:"
+#: inc/admin/ui/notices.php:147
+msgid "Deactivate"
+msgstr "Deaktivieren"
-#: inc/Engine/Admin/Settings/Page.php:646
-#, php-format
+#: inc/admin/ui/notices.php:189
msgid ""
-"Also, please check our %1$sdocumentation%2$s for a list of compatibility "
-"exclusions."
+"WP Rocket Footer JS is not an official add-on. It prevents some options in "
+"WP Rocket from working correctly. Please deactivate it if you have problems."
msgstr ""
-"Bitte lies auch unsere %1$sDokumentation%2$s mit einer Liste von Exklusionen"
-" aus Kompatibilitätsgründen."
+"WP Rocket Footer JS ist kein offizielles Add-on. Es verhindert, dass manche "
+"Optionen in WP Rocket korrekt funktionieren. Bitte deaktiviere es, falls du"
+" Probleme damit hast."
-#: inc/Engine/Admin/Settings/Page.php:651
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/admin/ui/notices.php:229
msgid ""
-"Internal scripts are excluded by default to prevent issues. Remove them to "
-"take full advantage of this option."
+"Endurance Cache is currently enabled, which will conflict with WP Rocket "
+"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the "
+"%1$sSettings > General%2$s page to prevent any issues."
msgstr ""
-"Interne Skripte werden standardmäßig ausgeschlossen, um Probleme zu "
-"verhindern. Entferne sie, um diese Funktion voll auszureizen."
+"Endurance Cache ist momentan aktiviert, was Probleme mit dem Cache von WP "
+"Rocket verursacht. Bitte stelle den Endurance Cache cache level auf der "
+"Seite %1$sEinstellungen > Allgemein%2$sauf „Aus“ (Level 0), um Probleme zu "
+"verhindern."
-#: inc/Engine/Admin/Settings/Page.php:654
-#, php-format
+#. translators: %1$s WP Rocket plugin name; %2$s = opening link; %3$s =
+#. closing link
+#: inc/admin/ui/notices.php:250
msgid ""
-"If this causes trouble, restore the default exclusions, found %1$shere%2$s"
+"%1$s: A custom permalink structure is required for the plugin to work "
+"properly. %2$sGo to permalinks settings%3$s"
msgstr ""
-"Falls das zu Schwierigkeiten führt, stelle die Standardexklusionen wieder "
-"her, die du %1$shier%2$s findest"
-
-#: inc/Engine/Admin/Settings/Page.php:663
-msgid "Minify CSS files"
-msgstr "CSS minifizieren"
-
-#: inc/Engine/Admin/Settings/Page.php:664
-msgid "Minify CSS removes whitespace and comments to reduce the file size."
-msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe."
-
-#: inc/Engine/Admin/Settings/Page.php:677
-#: inc/Engine/Admin/Settings/Page.php:701
-#: inc/Engine/Admin/Settings/Page.php:765
-#: inc/Engine/Admin/Settings/Page.php:831
-#: inc/Engine/Admin/Settings/Page.php:855
-msgid "This could break things!"
-msgstr "Dies könnte Probleme bereiten!"
+"%1$s: Eine angepasste Permalink-Struktur ist erforderlich für die korrekte "
+"Funktionsweise des Plugins. %2$sPermalink-Einstellungen aufrufen%3$s"
-#: inc/Engine/Admin/Settings/Page.php:678
-#: inc/Engine/Admin/Settings/Page.php:702
-#: inc/Engine/Admin/Settings/Page.php:766
-#: inc/Engine/Admin/Settings/Page.php:832
-#: inc/Engine/Admin/Settings/Page.php:856
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:297
msgid ""
-"If you notice any errors on your website after having activated this "
-"setting, just deactivate it again, and your site will be back to normal."
+"%s could not modify the .htaccess file due to missing writing permissions."
msgstr ""
-"Falls du nach der Aktivierung dieser Einstellung Unregelmäßigkeiten auf "
-"deiner Website bemerken solltest, deaktiviere sie einfach wieder, und deine "
-"Site wird wieder normal aussehen."
-
-#: inc/Engine/Admin/Settings/Page.php:679
-msgid "Activate minify CSS"
-msgstr "Verstanden, aktiviere „CSS minifizieren“"
+"%s konnte die .htaccess-Datei nicht ändern aufgrund fehlender "
+"Schreibberechtigungen."
-#: inc/Engine/Admin/Settings/Page.php:684
-msgid "Combine CSS files (Enable Minify CSS files to select) "
+#. translators: This is a doc title! %1$s = opening link; %2$s = closing link
+#: inc/admin/ui/notices.php:303 inc/admin/ui/notices.php:788
+msgid "Troubleshoot: %1$sHow to make system files writeable%2$s"
msgstr ""
-"CSS zusammenfassen („CSS minifizieren“ erforderlich zur "
-"Aktivierung) "
+"Fehlerbehebung: %1$sFehlende Schreibrechte für System-Dateien beheben%2$s"
-#: inc/Engine/Admin/Settings/Page.php:686
-#, php-format
+#. translators: Documentation exists in EN, DE, FR, ES, IT; use loaclised URL
+#. if applicable
+#: inc/admin/ui/notices.php:305 inc/admin/ui/notices.php:790
msgid ""
-"Combine CSS merges all your files into 1, reducing HTTP requests. Not "
-"recommended if your site uses HTTP/2. %1$sMore info%2$s"
+"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-"
+"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket"
msgstr ""
-"Verknüpft alle CSS-Dateien zu einer einzigen und reduziert so die Anzahl von"
-" HTTP-Anfragen. Nicht empfohlen, wenn deine Site HTTP/2 nutzt. %1$sMehr "
-"erfahren%2$s"
+"https://de.docs.wp-rocket.me/article/1042-fehlende-schreibrechte-fuer-"
+"system-dateien-beheben-htaccess-wp-"
+"configphp?utm_source=wp_plugin&utm_medium=wp_rocket"
-#: inc/Engine/Admin/Settings/Page.php:687
+#: inc/admin/ui/notices.php:311
msgid ""
-"For compatibility and best results, this option is disabled when Remove "
-"unused CSS is enabled."
+"Don’t worry, WP Rocket’s page caching and settings will still function "
+"correctly."
msgstr ""
-"Diese Option ist aus Gründen der Kompatibilität und für beste Ergebnisse "
-"deaktiviert, wenn Unbenutztes CSS entfernen aktiv ist."
-
-#: inc/Engine/Admin/Settings/Page.php:703
-msgid "Activate combine CSS"
-msgstr "Verstanden, aktiviere „CSS zusammenfassen“"
-
-#: inc/Engine/Admin/Settings/Page.php:708 inc/admin/options.php:124
-msgid "Excluded CSS Files"
-msgstr "CSS-Ausnahmen"
+"Keine Bange. Das Cachen der Seiten durch WP Rocket und die Einstellungen "
+"werden weiterhin korrekt funktionieren."
-#: inc/Engine/Admin/Settings/Page.php:709
+#: inc/admin/ui/notices.php:311
msgid ""
-"Specify URLs of CSS files to be excluded from minification and concatenation"
-" (one per line)."
+"For optimal performance, adding the following lines into your .htaccess is "
+"recommended (not required):"
msgstr ""
-"URLs von CSS-Dateien, die von der Minifizierung und Zusammenführung "
-"ausgenommen werden sollen (eine pro Zeile)."
+"Für optimale Leistung wird das Hinzufügen folgender Zeilen in deine "
+".htaccess-Datei empfohlen (nicht erforderlich):"
-#: inc/Engine/Admin/Settings/Page.php:710
+#. translators: %1$s = plugin name, %2$s + %3$s = opening links, %4$s =
+#. closing link
+#: inc/admin/ui/notices.php:458
msgid ""
-"Internal: The domain part of the URL will be stripped "
-"automatically. Use (.*).css wildcards to exclude all CSS files located at a "
-"specific path."
+"%1$s is good to go! %2$sTest your load time%4$s, or visit your "
+"%3$ssettings%4$s."
msgstr ""
-"Intern: Der Domain-Teil der URL wird automatisch entfernt. "
-"Benutze den Platzhalter (.*).css, um alle CSS-Dateien auszunehmen, die sich "
-"in einem angegebenen Pfad befinden."
+"%1$s ist fertig aktiviert! %2$sTeste deine Ladezeiten%4$s, oder schau dir "
+"deine %3$sEinstellungen%4$s an."
-#: inc/Engine/Admin/Settings/Page.php:712
-#, php-format
+#: inc/admin/ui/notices.php:499
msgid ""
-"3rd Party: Use either the full URL path or only the domain "
-"name, to exclude external CSS. %1$sMore info%2$s"
+"Would you allow WP Rocket to collect non-sensitive diagnostic data from this"
+" website?"
msgstr ""
-"Drittanbieter: Benutze entweder den vollständigen URL-Pfad "
-"oder nur den Domainnamen, um externes CSS auszunehmen. %1$sMehr erfahren%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:725
-#: inc/Engine/Admin/Settings/Page.php:747
-msgid "Optimize CSS delivery"
-msgstr "CSS-Darstellung optimieren"
+"Würdest du WP Rocket erlauben, anonymisierte technische Daten von dieser "
+"Website zu sammeln?"
-#: inc/Engine/Admin/Settings/Page.php:730
-msgid ""
-"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
-"one method can be selected. Remove Unused CSS is recommended for optimal "
-"performance, but limited only to the users with active license."
+#: inc/admin/ui/notices.php:500
+msgid "This would help us to improve WP Rocket for you in the future."
msgstr ""
-"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner"
-" Website. Nur eine Methode kann ausgewählt werden. Unbenutztes CSS entfernen"
-" wird für die beste Leistung empfohlen, aber kann nur von Benutzern mit "
-"einer aktiven Lizenz eingesetzt werden."
+"Das würde uns dabei unterstützen, WP Rocket in Zukunft weiter zu verbessern."
-#: inc/Engine/Admin/Settings/Page.php:730
-msgid ""
-"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
-"one method can be selected. Remove Unused CSS is recommended for optimal "
-"performance."
-msgstr ""
-"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner"
-" Website. Nur eine Methode kann ausgewählt werden. Nicht benutztes CSS "
-"entfernen wird für die beste Leistung empfohlen."
+#. translators: button text, click will expand data collection preview
+#: inc/admin/ui/notices.php:506
+msgid "What info will we collect?"
+msgstr "Um welche Art Daten geht es genau?"
-#: inc/Engine/Admin/Settings/Page.php:740
-#, php-format
+#: inc/admin/ui/notices.php:511
msgid ""
-"Optimize CSS Delivery features are disabled on local environments. %1$sLearn"
-" more%2$s"
+"Below is a detailed view of all data WP Rocket will collect if granted "
+"permission. WP Rocket will never transmit any domain names or email "
+"addresses (except for license validation), IP addresses, or third-party API "
+"keys."
msgstr ""
-"Funktionen zur optimierten CSS-Darstellung sind auf lokalen Umgebungen "
-"deaktiviert. %1$sMehr erfahren%2$s"
+"Hier findest du eine genaue Auflistung der Daten, die WP Rocket nach Hause "
+"sendet, wenn du die Erlaubnis dazu erteilst. WP Rocket wird niemals Domain-"
+"Namen, E-Mail-Adressen (außer zur Lizenzprüfung), IP-Adressen oder API-"
+"Schlüssel von Drittanbietern übermitteln."
-#: inc/Engine/Admin/Settings/Page.php:760 inc/admin/ui/meta-boxes.php:106
-msgid "Remove Unused CSS"
-msgstr "Nicht benutztes CSS entfernen"
+#. translators: button text for data collection opt-in
+#: inc/admin/ui/notices.php:520
+msgid "Yes, allow"
+msgstr "Ja, erlauben"
-#: inc/Engine/Admin/Settings/Page.php:763
-#, php-format
-msgid ""
-"Removes unused CSS per page and helps to reduce page size and HTTP requests."
-" Recommended for best performance. Test thoroughly! %1$sMore info%2$s"
-msgstr ""
-"Entfernt nicht benutztes CSS pro Seite und hilft, die Größe der Seite und "
-"die Anzahl von HTTP-Anfragen zu reduzieren. Empfohlen für die beste "
-"Leistung. Ausführlich testen! %1$sMehr erfahren%2$s"
+#. translators: button text for data collection opt-in
+#: inc/admin/ui/notices.php:523
+msgid "No, thanks"
+msgstr "Nein, danke"
-#: inc/Engine/Admin/Settings/Page.php:767
-msgid "Activate Remove Unused CSS"
-msgstr "Unbenutztes CSS entfernen aktivieren"
+#: inc/admin/ui/notices.php:562
+msgid "Thank you!"
+msgstr "Danke!"
-#: inc/Engine/Admin/Settings/Page.php:773
-msgid "CSS safelist"
-msgstr "CSS-Safelist"
+#: inc/admin/ui/notices.php:567
+msgid "WP Rocket now collects these metrics from your website:"
+msgstr "WP Rocket erhebt jetzt die folgenden Kennzahlen von deiner Website:"
-#: inc/Engine/Admin/Settings/Page.php:774
-msgid ""
-"Specify CSS filenames, IDs or classes that should not be removed (one per "
-"line)."
-msgstr ""
-"Gib CSS-Dateinamen, IDs oder Klassen an, die nicht entfernt werden sollen "
-"(eine pro Zeile)."
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:605
+msgid "%s: Cache cleared."
+msgstr "%s: Cache geleert."
-#: inc/Engine/Admin/Settings/Page.php:789 inc/admin/ui/meta-boxes.php:109
-msgid "Load CSS asynchronously"
-msgstr "CSS-Dateien asynchron laden"
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:612
+msgid "%s: Post cache cleared."
+msgstr "%s: Cache für Beitrag/Seite geleert."
-#: inc/Engine/Admin/Settings/Page.php:792
-#, php-format
-msgctxt "WP Critical CSS compatibility"
-msgid ""
-"Load CSS asynchronously is currently handled by the %1$s plugin. If you want"
-" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin."
-msgstr ""
-"CSS-Dateien asynchron laden wird momentan durch das Plugin %1$s realisiert. "
-"Wenn du die Option zur optimierten CSS-Darstellung von WP Rocket benutzen "
-"willst, deaktiviere das Plugin %1$s."
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:619
+msgid "%s: Term cache cleared."
+msgstr "%s: Cache für Begriff geleert."
-#: inc/Engine/Admin/Settings/Page.php:794
-#, php-format
-msgid ""
-"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s"
-msgstr ""
-"Erzeugt CSS für den kritischen Pfad und lädt CSS asynchron. %1$sMehr "
-"erfahren%2$s"
+#. translators: %s = plugin name).
+#: inc/admin/ui/notices.php:626
+msgid "%s: User cache cleared."
+msgstr "%s: Cache für Benutzer/-in geleert."
-#: inc/Engine/Admin/Settings/Page.php:800
-msgid "Fallback critical CSS"
-msgstr "Alternatives Kritisches CSS"
+#: inc/admin/ui/notices.php:662 inc/Engine/License/views/promo-banner.php:36
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42
+#: inc/Engine/License/views/renewal-expired-banner.php:30
+#: views/settings/page-sections/dashboard.php:46
+msgid "Dismiss this notice"
+msgstr "Diese Meldung ausblenden"
-#: inc/Engine/Admin/Settings/Page.php:802
-#, php-format
-msgid ""
-"Provides a fallback if auto-generated critical path CSS is incomplete. "
-"%1$sMore info%2$s"
-msgstr ""
-"Für den Fall, dass das automatisch erstellte Kritische CSS unvollständig "
-"ist. %1$sMehr erfahren%2$s"
+#: inc/admin/ui/notices.php:682
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131
+#: views/settings/page-sections/dashboard.php:188
+msgid "Clear Used CSS"
+msgstr "Benutztes CSS leeren"
-#: inc/Engine/Admin/Settings/Page.php:817
-msgid "Minify JavaScript files"
-msgstr "JavaScript minifizieren"
+#: inc/admin/ui/notices.php:685
+msgid "Stop Preload"
+msgstr "Vorladen beenden"
-#: inc/Engine/Admin/Settings/Page.php:818
-msgid ""
-"Minify JavaScript removes whitespace and comments to reduce the file size."
-msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe."
+#: inc/admin/ui/notices.php:691
+msgid "Turn on Remove Unused CSS"
+msgstr "Unbenutztes CSS entfernen aktivieren"
-#: inc/Engine/Admin/Settings/Page.php:833
-msgid "Activate minify JavaScript"
-msgstr "Verstanden, aktiviere „JavaScript minifizieren“"
+#: inc/admin/ui/notices.php:697
+msgid "Enable “Separate Cache Files for Mobile Devices” now"
+msgstr "„Separater Cache für mobile Geräte“ jetzt aktivieren"
-#: inc/Engine/Admin/Settings/Page.php:838
-msgid ""
-"Combine JavaScript files (Enable Minify JavaScript files to select) "
-msgstr ""
-"JavaScript zusammenfassen („JavaScript minifizieren“ erforderlich zur "
-"Aktivierung) "
+#: inc/admin/ui/notices.php:715
+msgid "Force deactivation "
+msgstr "Deaktivierung forcieren"
-#: inc/Engine/Admin/Settings/Page.php:840
-#, php-format
-msgid ""
-"Combine JavaScript files combines your site’s internal, 3rd party and inline"
-" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. "
-"%1$sMore info%2$s"
-msgstr ""
-"JavaScript zusammenfassen kombiniert internes, externes und inline JS, um "
-"HTTP-Anfragen zu verringern. nicht empfohlen, falls deine Website mit HTTP/2"
-" läuft. %1$sMehr erfahren%2$s"
+#: inc/admin/ui/notices.php:745
+msgid "The following code should have been written to this file:"
+msgstr "Folgender Code hätte in diese Datei geschrieben werden sollen:"
-#: inc/Engine/Admin/Settings/Page.php:841
-msgid ""
-"For compatibility and best results, this option is disabled when delay "
-"javascript execution is enabled."
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:776
+msgid "%s cannot configure itself due to missing writing permissions."
msgstr ""
-"Diese Option ist aus Gründen der Kompatibilität und für beste Ergebnisse "
-"deaktiviert, wenn die Option zum Verzögern der Ausführung von JavaScript "
-"aktiv ist."
-
-#: inc/Engine/Admin/Settings/Page.php:857
-msgid "Activate combine JavaScript"
-msgstr "Verstanden, aktiviere „JavaScript zusammenfassen“"
+"%s kann sich wegen fehlender Schreibrechte nicht selbst konfigurieren."
-#: inc/Engine/Admin/Settings/Page.php:862 inc/admin/options.php:125
-msgid "Excluded Inline JavaScript"
-msgstr "Ausgenommenes Inline JavaScript"
+#. translators: %s = file/folder name
+#: inc/admin/ui/notices.php:782
+msgid "Affected file/folder: %s"
+msgstr "Betroffene Dateien/Ordner: %s"
-#: inc/Engine/Admin/Settings/Page.php:864
-#, php-format
-msgid ""
-"Specify patterns of inline JavaScript to be excluded from concatenation (one"
-" per line). %1$sMore info%2$s"
-msgstr ""
-"Muster von Inline JavaScript, die von der Zusammenführung ausgenommen werden"
-" sollen (eine pro Zeile). %1$sMehr erfahren%2$s"
+#: inc/classes/admin/class-logs.php:124
+msgid "The debug file could not be deleted."
+msgstr "Die Fehlerbehebungs-Protokolldatei konnte nicht gelöscht werden."
-#: inc/Engine/Admin/Settings/Page.php:880
-#: inc/Engine/Admin/Settings/Page.php:913
-#: inc/Engine/Admin/Settings/Page.php:960 inc/admin/options.php:126
-msgid "Excluded JavaScript Files"
-msgstr "JavaScript-Ausnahmen"
+#. Translators: %1$s = Plugin name, %2$s = Plugin version.
+#: inc/classes/class-wp-rocket-requirements-check.php:147
+msgid "To function properly, %1$s %2$s requires at least:"
+msgstr "Um richtig zu funktionieren, erfordert %1$s %2$s mindestens:"
-#: inc/Engine/Admin/Settings/Page.php:881
+#. Translators: %1$s = PHP version required.
+#: inc/classes/class-wp-rocket-requirements-check.php:151
msgid ""
-"Specify URLs of JavaScript files to be excluded from minification and "
-"concatenation (one per line)."
+"PHP %1$s. To use this WP Rocket version, please ask your web host how to "
+"upgrade your server to PHP %1$s or higher."
msgstr ""
-"URLs von JavaScript-Dateien, die von der Minifizierung und Zusammenführung "
-"ausgenommen werden sollen (eine pro Zeile)."
+"PHP %1$s. Um diese Version von WP Rocket zu nutzen, frage bei deinem "
+"Webhosting nach einer Aktualisierung deines Servers auf PHP %1$s oder höher."
-#: inc/Engine/Admin/Settings/Page.php:882
+#. Translators: %1$s = WordPress version required.
+#: inc/classes/class-wp-rocket-requirements-check.php:156
msgid ""
-"Internal: The domain part of the URL will be stripped "
-"automatically. Use (.*).js wildcards to exclude all JS files located at a "
-"specific path."
+"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to "
+"version %1$s or higher."
msgstr ""
-"Intern: Der Domain-Teil der URL wird automatisch entfernt. "
-"Benutze den Platzhalter (.*).css, um alle JS-Dateien auszunehmen, die sich "
-"in einem angegebenen Pfad befinden."
+"WordPress %1$s. Um diese Version von WP Rocket zu nutzen, aktualisiere "
+"WordPress auf version %1$s oder höher."
-#: inc/Engine/Admin/Settings/Page.php:884
-#, php-format
+#: inc/classes/class-wp-rocket-requirements-check.php:159
msgid ""
-"3rd Party: Use either the full URL path or only the domain "
-"name, to exclude external JS. %1$sMore info%2$s"
+"If you are not able to upgrade, you can rollback to the previous version by "
+"using the button below."
msgstr ""
-"Drittanbieter: Benutze entweder den vollständigen URL-Pfad "
-"oder nur den Domainnamen, um externes JS auszunehmen. %1$sMehr erfahren%2$s"
+"Wenn eine Aktualisierung nicht möglich ist, kannst du das Button weiter "
+"unten klicken, um die vorherige Version von WP Rocket wiederherzustellen."
-#: inc/Engine/Admin/Settings/Page.php:900
-msgid "Load JavaScript deferred"
-msgstr "JavaScript verzögert laden"
+#. Translators: %s = Previous plugin version.
+#: inc/classes/class-wp-rocket-requirements-check.php:161
+#: inc/deprecated/deprecated.php:1947
+msgid "Re-install version %s"
+msgstr " Version %s wiederherstellen"
-#: inc/Engine/Admin/Settings/Page.php:902
-#, php-format
-msgid ""
-"Load JavaScript deferred eliminates render-blocking JS on your site and can "
-"improve load time. %1$sMore info%2$s"
-msgstr ""
-"Entfernt rendering-blockierendes JavaScript, kann die Ladezeit verbessern. "
-"%1$sMehr erfahren%2$s"
+#. translators: %s is the plugin name.
+#: inc/classes/class-wp-rocket-requirements-check.php:203
+#: inc/classes/class-wp-rocket-requirements-check.php:214
+#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251
+#: inc/Engine/Plugin/UpdaterSubscriber.php:483
+#: inc/Engine/Plugin/UpdaterSubscriber.php:497
+msgid "%s Update Rollback"
+msgstr "%s Update zurückrollen"
-#: inc/Engine/Admin/Settings/Page.php:915
-#, php-format
+#. translators: %1$s = missing tags;
+#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151
msgid ""
-"Specify URLs or keywords of JavaScript files to be excluded from defer (one "
-"per line). %1$sMore info%2$s"
-msgstr ""
-"URLs oder Schlüsselwörter von JavaScript-Dateien, die von der Verzögerung "
-"ausgenommen werden sollen (eine pro Zeile) %1$sMehr erfahren%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:931 inc/admin/ui/meta-boxes.php:111
-msgid "Delay JavaScript execution"
-msgstr "JavaScript-Ausführung verzögern"
+"Failed to detect the following requirement in your theme: closing %1$s."
+msgid_plural ""
+"Failed to detect the following requirements in your theme: closing %1$s."
+msgstr[0] ""
+"Erkennung des folgenden Erfordernisses in deinem Theme fehlgeschlagen: "
+"Schließe %1$s."
+msgstr[1] ""
+"Erkennung der folgenden Erfordernisse in deinem Theme fehlgeschlagen: "
+"Schließe %1$s."
-#: inc/Engine/Admin/Settings/Page.php:933
-#, php-format
+#. translators: Documentation exists in EN, FR; use localized URL if
+#. applicable.
+#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159
msgid ""
-"Improves performance by delaying the loading of JavaScript files until user "
-"interaction (e.g. scroll, click). %1$sMore info%2$s"
+"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
+"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
msgstr ""
-"Verbessert die Leistung durch das Verzögern des Ladens von JavaScript-"
-"Dateien bis zur ersten Benutzerinteraktion (z. B: Scrollen, Klicken). "
-"%1$sMehr erfahren%2$s"
+"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
+"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
-#: inc/Engine/Admin/Settings/Page.php:942
-msgid "One-click exclusions"
-msgstr "Ein-Klick-Exklusionen"
+#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147
+#: views/settings/page-sections/dashboard.php:150
+msgid "Clear and preload cache"
+msgstr "Cache leeren und vorladen"
-#: inc/Engine/Admin/Settings/Page.php:943
-msgid ""
-"When using the Delay JavaScript Execution, you might experience delay "
-"loading elements located in the viewport that need to appear immediately - "
-"e.g. slider, header, menu."
-msgstr ""
-"Wenn du die Ausführung von JavaScript verzögerst, kann es zu Verzögerungen "
-"beim Laden von Elementen im Viewport kommen, die sofort angezeigt werden "
-"müssen, z. B. Slider, Header, Menü."
+#: inc/common/admin-bar.php:135 inc/functions/i18n.php:40
+#: inc/functions/i18n.php:50
+msgid "All languages"
+msgstr "Alle Sprachen"
-#: inc/Engine/Admin/Settings/Page.php:944
-msgid ""
-"If you need instant visibility, click below on files that should NOT be "
-"delayed. This selection will help users interact with the elements straight "
-"away."
-msgstr ""
-"Wenn du sofortige Sichtbarkeit brauchst, klicke unten auf die Dateien, die "
-"NICHT verzögert werden sollten. Diese Auswahl hilft den Nutzern, sofort mit "
-"den Elementen zu interagieren."
+#: inc/common/admin-bar.php:171
+msgid "Clear this post"
+msgstr "Lösche diesen Eintrag"
-#: inc/Engine/Admin/Settings/Page.php:961
-msgid ""
-"Specify URLs or keywords that can identify inline or JavaScript files to be "
-"excluded from delaying execution (one per line)."
-msgstr ""
-"URLs oder Schlüsselwörter, die Inline- oder JavaScript-Dateien "
-"identifizieren, die nicht verzögert ausgeführt werden sollen (eine pro "
-"Zeile)."
+#: inc/common/admin-bar.php:185
+msgid "Purge this URL"
+msgstr "Entferne diese URL aus dem Cache"
-#: inc/Engine/Admin/Settings/Page.php:993
-msgid "Media"
-msgstr "Medien"
+#: inc/common/admin-bar.php:205
+msgid "Purge Sucuri cache"
+msgstr "Sucuri-Cache leeren"
-#: inc/Engine/Admin/Settings/Page.php:994
-msgid "LazyLoad, image dimensions"
-msgstr "LazyLoad, Bildabmessungen"
+#: inc/common/admin-bar.php:229 views/settings/fields/rocket-cdn.php:55
+msgid "Purge RocketCDN cache"
+msgstr "RocketCDN-Cache leeren"
-#: inc/Engine/Admin/Settings/Page.php:1003
-msgid "Autoptimize"
-msgstr "Autoptimize"
+#: inc/common/admin-bar.php:242 views/settings/partials/documentation.php:14
+msgid "Documentation"
+msgstr "Dokumentation"
-#: inc/Engine/Admin/Settings/Page.php:1048
-msgid "LazyLoad"
-msgstr "LazyLoad"
+#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36
+msgid "Activate Imagify"
+msgstr "Imagify aktivieren"
-#: inc/Engine/Admin/Settings/Page.php:1051
-#, php-format
-msgid ""
-"It can improve actual and perceived loading time as images, iframes, and "
-"videos will be loaded only as they enter (or about to enter) the viewport "
-"and reduces the number of HTTP requests. %1$sMore Info%2$s"
-msgstr ""
-"Es kann die tatsächliche und empfundene Ladezeit verbessern, weil Bilder, "
-"iframes und Videos erst geladen werden, wenn sie in den Viewport kommen "
-"(oder in die Nähe). Das verringert auch die Anzahl der HTTP-Anfragen. "
-"%1$sMehr erfahren%2$s"
+#: inc/deprecated/3.2.php:52
+msgid "Install Imagify for Free"
+msgstr "Imagify kostenfrei installieren"
-#: inc/Engine/Admin/Settings/Page.php:1058
-#, php-format
+#: inc/deprecated/3.2.php:67
msgid ""
-"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s "
-"LazyLoad, disable this option in %2$s."
+"Speed up your website and boost your SEO by reducing image file sizes "
+"without losing quality with Imagify."
msgstr ""
-"LazyLoad ist momentan in %2$s aktiviert. Wenn du die LazyLoad-Funktion von "
-"WP Rocket benutzen willst, deaktiviere diese Option in %2$s."
+"Beschleunige deine Website und booste dein SEO, indem du deine Bilder mit "
+"Imagify verlustfrei optimierst."
-#: inc/Engine/Admin/Settings/Page.php:1061
-msgid "Image Dimensions"
-msgstr "Bildabmessungen"
+#: inc/deprecated/3.2.php:72
+msgid "More details"
+msgstr "Weitere Einzelheiten"
+
+#. translators: %d is the number of pages preloaded.
+#: inc/deprecated/3.2.php:228
+msgid "Sitemap preload: %d pages have been cached."
+msgstr "Sitemap-Preload: %d Seiten gecacht."
-#: inc/Engine/Admin/Settings/Page.php:1064
-#, php-format
+#. translators: %d = Number of pages preloaded.
+#: inc/deprecated/3.2.php:261
msgid ""
-"Add missing width and height attributes to images. Helps prevent layout "
-"shifts and improve the reading experience for your visitors. %1$sMore "
-"info%2$s"
+"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see "
+"progress)"
msgstr ""
-"Fügt Bildern fehlende width und height Attribute hinzu. Hilft, Layout-"
-"Sprünge zu verhindern und verbessert die Leseerfahrung für deine Besucher. "
-"%1$sMehr erfahren%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1083
-msgid "Enable for images"
-msgstr "Für Bilder aktivieren"
+"Sitemap-Preload: %d Seiten wurden bis jetzt in den Cache geladen. (Seite "
+"neu laden für aktuellen Stand)"
-#: inc/Engine/Admin/Settings/Page.php:1095
-#, php-format
+#. translators: %s is an URL.
+#: inc/deprecated/3.3.php:761 inc/deprecated/3.3.php:770
+#: inc/Engine/Plugin/UpdaterApiTools.php:32
msgid ""
-"LazyLoad for images is currently activated in %2$s. If you want to use "
-"%1$s’s LazyLoad, disable this option in %2$s."
+"An unexpected error occurred. Something may be wrong with WP-Rocket.me or "
+"this server’s configuration. If you continue to have problems, contact support ."
msgstr ""
-"LazyLoad für Bilder ist aktuell aktiviert in %2$s. Falls du die LazyLoad-"
-"Funktion von %1$s benutzen willst, deaktivere diese Option in %2$s."
+"Ein unerwarteter Fehler ist aufgetreten. Vielleicht ist etwas auf wp-"
+"rocket.me oder mit dieser Server-Einstellung schief gelaufen. Falls es "
+"weiterhin Probleme geben sollte, kontaktiere den Support ."
-#: inc/Engine/Admin/Settings/Page.php:1103
-msgid "Enable for iframes and videos"
-msgstr "Für iframes und Video aktivieren"
+#: inc/deprecated/3.4.php:18
+msgid "Choose a domain from the list"
+msgstr "Wähle eine Domain aus der Liste"
-#: inc/Engine/Admin/Settings/Page.php:1118
-msgid "Replace YouTube iframe with preview image"
-msgstr "YouTube iframe durch Vorschaubild ersetzen"
+#: inc/deprecated/3.4.php:31
+msgid "No domain available in your Cloudflare account"
+msgstr "Keine Domain in deinem Cloudflare-Konto verfügbar"
-#: inc/Engine/Admin/Settings/Page.php:1120
-#, php-format
-msgid "Replace YouTube iframe with preview image is not compatible with %2$s."
+#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195
+msgid ""
+"Curl is disabled on your server. Please ask your host to enable it. This is "
+"required for the Cloudflare Add-on to work correctly."
msgstr ""
-"YouTube-iframe mit Vorschaubild austauschen ist nicht kompatibel mit %2$s."
+"Curl ist auf deinem Server deaktiviert. Bitte deinen Hoster, es zu "
+"aktivieren. Dies ist erforderlich, damit das Cloudflare Add-on korrekt "
+"funktioniert."
-#: inc/Engine/Admin/Settings/Page.php:1120
+#. translators: %1$s = opening link; %2$s = closing link
+#: inc/deprecated/3.5.php:79
msgid ""
-"This can significantly improve your loading time if you have a lot of "
-"YouTube videos on a page."
+"Cloudflare email, API key and Zone ID are not set. Read the "
+"%1$sdocumentation%2$s for further guidance."
msgstr ""
-"Kann deine Ladezeit entscheidend verbessern, wenn du viele YouTube Videos "
-"auf einer Seite einbettest."
-
-#: inc/Engine/Admin/Settings/Page.php:1135
-msgid "Excluded images or iframes"
-msgstr "Bilder- oder iframes-Ausnahmen"
+"Cloudflare-E-Mail, API-Schlüssel und Zone ID sind nicht eingestellt. Lies "
+"die %1$sDokumentation%2$s für weitere Anleitung."
-#: inc/Engine/Admin/Settings/Page.php:1137
-#, php-format
+#. translators: %1$s = opening link; %2$s = closing link
+#: inc/deprecated/3.5.php:206
msgid ""
-"Specify keywords (e.g. image filename, CSS class, domain) from the image or "
-"iframe code to be excluded (one per line). %1$sMore info%2$s"
+"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for"
+" further guidance."
msgstr ""
-"Schlüsselwörter (z. B: Bild-Dateiname, CSS-Klasse, Domain) von dem "
-"Bild- oder iframe-Code, die ausgenommen werden sollen (eine pro Zeile). "
-"%1$sMehr erfahren%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1145
-msgid "Add missing image dimensions"
-msgstr "Fehlende Bildabmessungen hinzufügen"
+"Cloudflare-E-Mail und API-Schlüssel sind nicht eingestellt. Lies die "
+"%1$sDokumentation%2$s für weitere Anleitung."
-#: inc/Engine/Admin/Settings/Page.php:1164 inc/deprecated/deprecated.php:1776
-msgid "Preload"
-msgstr "Cache füllen"
+#: inc/deprecated/3.5.php:271
+msgid "Connection to Cloudflare failed"
+msgstr "Keine Verbindung mit Cloudflare möglich"
-#: inc/Engine/Admin/Settings/Page.php:1165
-msgid "Generate cache files, preload fonts"
-msgstr "Cache-Dateien generieren, Fonts vorladen"
+#. translators: %s = CloudFare API return message.
+#: inc/deprecated/3.5.php:587
+msgid "WP Rocket: %s"
+msgstr "WP Rocket: %s"
-#: inc/Engine/Admin/Settings/Page.php:1177
-msgid "Preload Cache"
-msgstr "Cache füllen"
+#: inc/deprecated/3.5.php:592
+msgid "WP Rocket: Cloudflare cache successfully purged."
+msgstr "WP Rocket: Cloudflare-Cache erfolgreich geleert."
-#: inc/Engine/Admin/Settings/Page.php:1180
+#: inc/deprecated/3.5.php:858 inc/Engine/HealthCheck/HealthCheck.php:81
msgid ""
-"When you enable preloading WP Rocket will automatically detect your sitemaps"
-" and save all URLs to the database. The plugin will make sure that your "
-"cache is always preloaded."
-msgstr ""
-"Wenn du das Vorladen aktivierst, wird WP Rocket deine Sitemaps automatisch "
-"erkennen und alle URLs in der Datenbank speichern. Das Plugin stellt sicher,"
-" dass dein Cache immer vorgeladen wird."
+"The following scheduled event failed to run. This may indicate the CRON "
+"system is not running properly, which can prevent some WP Rocket features "
+"from working as intended:"
+msgid_plural ""
+"The following scheduled events failed to run. This may indicate the CRON "
+"system is not running properly, which can prevent some WP Rocket features "
+"from working as intended:"
+msgstr[0] ""
+"Folgendes geplantes Ereigniss hat nicht stattgefunden. Dies könnte ein "
+"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu "
+"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht "
+"funktionieren:"
+msgstr[1] ""
+"Folgende geplante Ereignisse haben nicht stattgefunden. Dies könnte ein "
+"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu "
+"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht "
+"funktionieren:"
-#: inc/Engine/Admin/Settings/Page.php:1188
-msgid "Preload Links"
-msgstr "Links vorladen"
+#: inc/deprecated/3.5.php:867 inc/Engine/HealthCheck/HealthCheck.php:88
+msgid "Please contact your host to check if CRON is working."
+msgstr "Bitte kontaktiere deinen Hoster, um zu prüfen, ob CRON funktioniert."
-#: inc/Engine/Admin/Settings/Page.php:1191
-#, php-format
-msgid ""
-"Link preloading improves the perceived load time by downloading a page when "
-"a user hovers over the link. %1$sMore info%2$s"
-msgstr ""
-"Links vorladen optimiert die wahrgenommene Ladezeit, indem eine verlinkte "
-"Seite bereits geladen wird, sobald sich der Mauszeiger eines Benutzers über "
-"einem Link befindet. %1$sMehr erfahren%2$s"
+#: inc/deprecated/3.10.php:163
+msgid "OPcache purge failed."
+msgstr "OPcache leeren fehlgeschlagen."
-#: inc/Engine/Admin/Settings/Page.php:1199
-msgid "Prefetch DNS Requests"
-msgstr "DNS-Prefetch"
+#: inc/deprecated/3.10.php:168
+msgid "OPcache successfully purged"
+msgstr "OPcache erfolgreich geleert"
-#: inc/Engine/Admin/Settings/Page.php:1201
+#: inc/deprecated/3.11.php:81
+msgid "Yoast SEO XML sitemap"
+msgstr "Yoast SEO XML Sitemap"
+
+#. translators: %s = Name of the plugin.
+#. translators: %s = plugin name, e.g. Yoast SEO.
+#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58
+#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186
+#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342
msgid ""
-"DNS prefetching can make external files load faster, especially on mobile "
-"networks"
+"We automatically detected the sitemap generated by the %s plugin. You can "
+"check the option to preload it."
msgstr ""
-"Kann das Laden externer Dateien beschleunigen, besonders über eine mobilen "
-"Netzwerkverbindung."
+"Offensichtlich existiert eine durch das Plugin %s generierte Sitemap. "
+"Aktiviere diese Option, um den Cache damit zu füllen."
-#: inc/Engine/Admin/Settings/Page.php:1206
-msgid "Preload Fonts"
-msgstr "Fonts vorladen"
+#. translators: 1 and 3 are link openings, 2 is a link closing.
+#: inc/deprecated/3.11.php:279 inc/Engine/Plugin/UpdaterSubscriber.php:520
+msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s"
+msgstr "%1$sZurück zu WP Rocket%2$s oder %3$szur Plugins-Seite gehen%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1209
-#, php-format
-msgid ""
-"Improves performance by helping browsers discover fonts in CSS files. "
-"%1$sMore info%2$s"
-msgstr ""
-"Optimiert die Leistung, indem es Browsern hilft, Fonts in CSS-Dateien zu "
-"entdecken. %1$sMehr erfahren%2$s"
+#: inc/deprecated/3.12.php:56
+msgid "All in One SEO XML sitemap"
+msgstr "All in One SEO XML Sitemap"
-#: inc/Engine/Admin/Settings/Page.php:1223
-msgid "Activate Preloading"
-msgstr "Vorladen aktivieren"
+#: inc/deprecated/3.12.php:85
+msgid "Rank Math XML sitemap"
+msgstr "Rank Math XML Sitemap"
-#: inc/Engine/Admin/Settings/Page.php:1234
-msgid "Exclude URLs"
-msgstr "URLs ausschließen"
+#: inc/deprecated/3.12.php:184
+msgid "SEOPress XML sitemap"
+msgstr "SEOPress XML Sitemap"
-#: inc/Engine/Admin/Settings/Page.php:1239
-#, php-format
-msgid ""
-"Specify URLs to be excluded from the preload feature (one per line). "
-"%1$sMore info%2$s"
-msgstr ""
-"Gib URLs ein, die von der Vorladen-Funktion ausgeschlossen werden sollen "
-"(eine pro Zeile). %1$sMehr erfahren%2$s"
+#: inc/deprecated/3.12.php:251
+msgid "The SEO Framework XML sitemap"
+msgstr "The SEO Framework XML Sitemap"
-#: inc/Engine/Admin/Settings/Page.php:1250
-msgid "URLs to prefetch"
-msgstr "Vorzeitig aufzulösende URLs"
+#: inc/deprecated/3.12.php:332
+msgid "Jetpack XML Sitemaps"
+msgstr "Jetpack XML Sitemaps"
-#: inc/Engine/Admin/Settings/Page.php:1251
-msgid ""
-"Specify external hosts to be prefetched (no http:
, one per "
-"line)"
-msgstr ""
-"Vorzeitig aufzulösende externe Domains (kein http:
, eine pro "
-"Zeile)"
+#: inc/deprecated/3.12.php:334
+msgid "Preload the sitemap from the Jetpack plugin"
+msgstr "Cache füllen via Jetpack-Sitemap"
-#: inc/Engine/Admin/Settings/Page.php:1260
-msgid "Fonts to preload"
-msgstr "Vorzuladende Fonts"
+#: inc/deprecated/deprecated.php:240
+msgid "JS files with Deferred Loading JavaScript"
+msgstr "JS -Dateien mit verzögert geladenem JavaScript"
-#: inc/Engine/Admin/Settings/Page.php:1261
-msgid ""
-"Specify urls of the font files to be preloaded (one per line). Fonts must be"
-" hosted on your own domain, or the domain you have specified on the CDN tab."
-msgstr ""
-"URLs von Font-Dateien, die vorgeladen werden sollen (eine pro Zeile). Fonts "
-"müssen auf deiner eigenen Domain gehostet sein, oder auf der Domain, die du "
-"im CDN-Tab angegeben hast."
+#: inc/deprecated/deprecated.php:293
+msgid "Add URL"
+msgstr "URL hinzufügen"
-#: inc/Engine/Admin/Settings/Page.php:1262
+#: inc/deprecated/deprecated.php:1245
+#: inc/Engine/Admin/Settings/Settings.php:451
+msgid "Settings saved."
+msgstr "Einstellungen gespeichert."
+
+#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22
msgid ""
-"The domain part of the URL will be stripped automatically. Allowed font "
-"extensions: otf, ttf, svg, woff, woff2."
+"Before you can upload your import file, you will need to fix the following "
+"error:"
msgstr ""
-"Der Domain-Teil der URL wird automatisch entfernt. Mögliche Font-"
-"Dateiendungen sind: otf, ttf, svg, woff, woff2."
+"Bevor du deine Einstellungsdatei importieren kannst, musst du den folgenden "
+"Fehler korrigieren."
-#: inc/Engine/Admin/Settings/Page.php:1271
-msgid "Enable link preloading"
-msgstr "Vorladen von Links aktivieren"
+#. translators: %s is the maximum upload size set on the current server.
+#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35
+msgid "Choose a file from your computer (maximum size: %s)"
+msgstr "Wähle eine Datei von deinem Computer (maximale Größe: %s)"
-#: inc/Engine/Admin/Settings/Page.php:1290
-msgid "Advanced Rules"
-msgstr "Erweiterte Regeln"
+#: inc/deprecated/deprecated.php:1294 inc/Engine/Admin/Settings/Render.php:422
+msgid "Upload file and import settings"
+msgstr "Datei hochladen und Einstellungen importieren."
-#: inc/Engine/Admin/Settings/Page.php:1291
-msgid "Fine-tune cache rules"
-msgstr "Cache-Regeln abstimmen"
+#: inc/deprecated/deprecated.php:1385
+msgid "Your Cloudflare credentials are valid."
+msgstr "Deine Cloudflare-Zugangsdaten sind gültig."
-#: inc/Engine/Admin/Settings/Page.php:1302
-msgid ""
-"Sensitive pages like custom login/logout URLs should be excluded from cache."
-msgstr ""
-"Sensible Seiten, wie zum Beispiel eigene Login-/Logout-Seiten, sollten vom "
-"Cache ausgeschlossen werden."
+#: inc/deprecated/deprecated.php:1389
+msgid "Your Cloudflare credentials are invalid!"
+msgstr "Deine Cloudflare-Zugangsdaten sind ungültig."
-#: inc/Engine/Admin/Settings/Page.php:1305
-msgctxt "plugin name"
-msgid "WooCommerce"
-msgstr "WooCommerce"
+#: inc/deprecated/deprecated.php:1453
+msgid "Save and optimize"
+msgstr "Speichern und optimieren"
-#: inc/Engine/Admin/Settings/Page.php:1307
-msgctxt "plugin name"
-msgid "Easy Digital Downloads"
-msgstr "Easy Digital Downloads"
+#: inc/deprecated/deprecated.php:1453
+msgid "Optimize"
+msgstr "Optimieren"
-#: inc/Engine/Admin/Settings/Page.php:1309
-msgctxt "plugin name"
-msgid "iThemes Exchange"
-msgstr "iThemes Exchange"
+#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666
+msgctxt "screen-reader-text"
+msgid "Note:"
+msgstr "Hinweis:"
-#: inc/Engine/Admin/Settings/Page.php:1311
-msgctxt "plugin name"
-msgid "Jigoshop"
-msgstr "Jigoshop"
+#: inc/deprecated/deprecated.php:1470
+msgctxt "screen-reader-text"
+msgid "Performance tip:"
+msgstr "Performance-Tipp:"
-#: inc/Engine/Admin/Settings/Page.php:1313
-msgctxt "plugin name"
-msgid "WP-Shop"
-msgstr "WP-Shop"
+#: inc/deprecated/deprecated.php:1476
+msgctxt "screen-reader-text"
+msgid "Third-party feature detected:"
+msgstr "Drittanbieter-Funktion ermittelt:"
-#: inc/Engine/Admin/Settings/Page.php:1319
-#, php-format
-msgid ""
-" Cart, checkout and \"my account\" pages set in "
-"%1$s%2$s%3$s will be detected and never cached by default."
-msgstr ""
-" Warenkorb-, Kassen- und „Mein Konto“-Seiten von "
-"%1$s%2$s%3$s werden automatisch ermittelt und nie gecacht."
+#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672
+msgctxt "screen-reader-text"
+msgid "Warning:"
+msgstr "Warnung:"
-#: inc/Engine/Admin/Settings/Page.php:1329 inc/admin/options.php:129
-msgid "Never Cache URL(s)"
-msgstr "Nie cachen (URLs)"
+#: inc/deprecated/deprecated.php:1501
+msgctxt "button text"
+msgid "Download settings"
+msgstr "Einstellungen herunterladen"
-#: inc/Engine/Admin/Settings/Page.php:1337
-msgid "Never Cache Cookies"
-msgstr "Nie cachen (Cookies)"
+#: inc/deprecated/deprecated.php:1531
+msgid "Replace site's hostname with:"
+msgstr "Ersetze den Hostnamen der Seite mit:"
-#: inc/Engine/Admin/Settings/Page.php:1343 inc/admin/options.php:130
-msgid "Never Cache User Agent(s)"
-msgstr "Nie cachen (User Agents)"
+#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587
+#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41
+#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105
+msgid "reserved for"
+msgstr "reserviert für"
-#: inc/Engine/Admin/Settings/Page.php:1349 inc/admin/options.php:131
-msgid "Always Purge URL(s)"
-msgstr "Immer löschen (URLs)"
+#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589
+#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44
+#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108
+msgid "All files"
+msgstr "Alle Dateien"
-#: inc/Engine/Admin/Settings/Page.php:1355
-msgid "Cache Query String(s)"
-msgstr "Cache für Query Strings"
+#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594
+#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56
+#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120
+msgid "Images"
+msgstr "Bilder"
-#: inc/Engine/Admin/Settings/Page.php:1358
-#, php-format
-msgid ""
-"%1$sCache for query strings%2$s enables you to force caching for specific "
-"GET parameters."
-msgstr "%1$sErstellt gesonderte Caches%2$s anhand bestimmter GET-Parameter."
+#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132
+msgid "Add CNAME"
+msgstr "CNAME hinzufügen"
-#: inc/Engine/Admin/Settings/Page.php:1369
-msgid ""
-"Specify URLs of pages or posts that should never be cached (one per line)"
-msgstr ""
-"URLs von Seiten oder Beiträgen, die niemals gecacht werden sollen (eine pro "
-"Zeile)"
+#: inc/deprecated/deprecated.php:1706
+msgid "Watch the video"
+msgstr "Video ansehen."
-#: inc/Engine/Admin/Settings/Page.php:1370
-#: inc/Engine/Admin/Settings/Page.php:1398
+#: inc/deprecated/deprecated.php:1771
+msgid "Basic"
+msgstr "Basis"
+
+#: inc/deprecated/deprecated.php:1772
+msgid "Static Files"
+msgstr "Statische Dateien"
+
+#: inc/deprecated/deprecated.php:1774
+msgid "Advanced"
+msgstr "Erweitert"
+
+#: inc/deprecated/deprecated.php:1775 inc/Engine/Admin/Settings/Page.php:1431
+msgid "Database"
+msgstr "Datenbank"
+
+#: inc/deprecated/deprecated.php:1776 inc/Engine/Admin/Settings/Page.php:1164
+msgid "Preload"
+msgstr "Cache füllen"
+
+#: inc/deprecated/deprecated.php:1786
+#: inc/Engine/Admin/Settings/Subscriber.php:168
+#: views/settings/page-sections/tools.php:33
+msgid "Tools"
+msgstr "Werkzeuge"
+
+#: inc/deprecated/deprecated.php:1789 inc/Engine/Admin/Settings/Page.php:352
+#: views/settings/page-sections/dashboard.php:80
+msgid "License"
+msgstr "Lizenz"
+
+#. Translators: %1$s = Plugin name, %2$s = Plugin version, %3$s = PHP version
+#. required.
+#: inc/deprecated/deprecated.php:1944
msgid ""
-"The domain part of the URL will be stripped automatically. Use (.*) "
-"wildcards to address multiple URLs under a given path."
+"%1$s %2$s requires at least PHP %3$s to function properly. To use this "
+"version, please ask your web host how to upgrade your server to PHP %3$s or "
+"higher. If you are not able to upgrade, you can rollback to the previous "
+"version by using the button below."
msgstr ""
-"Der Domain-Teil der URL wird automatisch entfernt. Nutze den Platzhalter "
-"(.*), um alle URLs eines bestimmten Pfades anzusprechen."
+"%1$s %2$s erfordert mindestens PHP %3$s, um korrekt zu funktionieren. Frage "
+"dein Webhosting nach einer Aktualisierung der PHP-Version auf %3$s oder "
+"höher auf deinem Server. Falls eine Aktualisierung nicht möglich ist, nutze "
+"das Button, um auf eine frühere Version zurückzusetzen."
-#: inc/Engine/Admin/Settings/Page.php:1379
+#. translators: 1: PHP class name, 2: version number, 3: replacement class
+#. name.
+#: inc/deprecated/DeprecatedClassTrait.php:54
msgid ""
-"Specify full or partial IDs of cookies that, when set in the visitor's "
-"browser, should prevent a page from getting cached (one per line)"
+"The called class %1$s is deprecated since version %2$s! Use"
+" %3$s instead."
msgstr ""
-"Gib vollständige oder Teile von Cookie-IDs an, die das Caching einer Seite "
-"verhindern sollen, sobald sie im Browser des Besuchers gesetzt sind (eine "
-"pro Zeile)"
+"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!"
+" Benutze %3$s stattdessen."
-#: inc/Engine/Admin/Settings/Page.php:1387
+#. translators: 1: PHP class name, 2: version number.
+#: inc/deprecated/DeprecatedClassTrait.php:65
msgid ""
-"Specify user agent strings that should never see cached pages (one per line)"
+"The called class %1$s is deprecated since version %2$s!"
msgstr ""
-"User Agent Strings, die niemals gecachte Seiten sehen sollten (einer pro "
-"Zeile)"
+"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!"
-#: inc/Engine/Admin/Settings/Page.php:1388
-msgid "Use (.*) wildcards to detect parts of UA strings."
-msgstr "Nutze den Platzhalter (.*), um Teile von UA Strings zu ermitteln."
+#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92
+#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137
+#: inc/Engine/Admin/Database/Subscriber.php:79
+msgid "weekly"
+msgstr "wöchentlich"
-#: inc/Engine/Admin/Settings/Page.php:1397
-msgid ""
-"Specify URLs you always want purged from cache whenever you update any post "
-"or page (one per line)"
-msgstr ""
-"URLs, deren Cache immer mit gelöscht werden sollte, sobald andere Beiträge "
-"oder Seiten aktualisiert werden (eine pro Zeile)"
+#: inc/Engine/Admin/Database/Optimization.php:30
+#: inc/Engine/Admin/Settings/Page.php:1475
+msgid "Revisions"
+msgstr "Revisionen"
-#: inc/Engine/Admin/Settings/Page.php:1406
-msgid "Specify query strings for caching (one per line)"
-msgstr "Query Strings, die gecacht werden sollen (einer pro Zeile)"
+#: inc/Engine/Admin/Database/Optimization.php:31
+#: inc/Engine/Admin/Settings/Page.php:1485
+msgid "Auto Drafts"
+msgstr "Automatisch erstellte Entwürfe"
-#: inc/Engine/Admin/Settings/Page.php:1431 inc/deprecated/deprecated.php:1775
-msgid "Database"
-msgstr "Datenbank"
+#: inc/Engine/Admin/Database/Optimization.php:32
+#: inc/Engine/Admin/Settings/Page.php:1495
+msgid "Trashed Posts"
+msgstr "Gelöschte Einträge (Papierkorb)"
-#: inc/Engine/Admin/Settings/Page.php:1432
-msgid "Optimize, reduce bloat"
-msgstr "Aufräumen, optimieren"
+#: inc/Engine/Admin/Database/Optimization.php:33
+#: inc/Engine/Admin/Settings/Page.php:1505
+msgid "Spam Comments"
+msgstr "Spam-Kommentare"
-#: inc/Engine/Admin/Settings/Page.php:1439
-msgid "Post Cleanup"
-msgstr "Beiträge/Seiten bereinigen"
+#: inc/Engine/Admin/Database/Optimization.php:34
+#: inc/Engine/Admin/Settings/Page.php:1515
+msgid "Trashed Comments"
+msgstr "Gelöschte Kommentare (Papierkorb)"
-#: inc/Engine/Admin/Settings/Page.php:1441
-msgid ""
-"Post revisions and drafts will be permanently deleted. Do not use this "
-"option if you need to retain revisions or drafts."
-msgstr ""
-"Revisionen, Entwürfe und Papierkorb werden endgültig gelöscht. Nicht "
-"aktivieren, wenn du Revisionen und Entwürfe noch benötigst!"
+#: inc/Engine/Admin/Database/Optimization.php:35
+msgid "Transients"
+msgstr "Transients"
-#: inc/Engine/Admin/Settings/Page.php:1446
-msgid "Comments Cleanup"
-msgstr "Kommentare bereinigen"
+#: inc/Engine/Admin/Database/Optimization.php:36
+msgid "Tables"
+msgstr "Tabellen"
-#: inc/Engine/Admin/Settings/Page.php:1448
-msgid "Spam and trashed comments will be permanently deleted."
-msgstr "Spam und Kommentare im Papierkorb werden endgültig gelöscht."
+#: inc/Engine/Admin/Database/Subscriber.php:85
+msgid "monthly"
+msgstr "monatlich"
-#: inc/Engine/Admin/Settings/Page.php:1452
-msgid "Transients Cleanup"
-msgstr "Transients bereinigen"
+#: inc/Engine/Admin/Database/Subscriber.php:194
+msgid "Database optimization process is running"
+msgstr "Datenbank wird optimiert."
-#: inc/Engine/Admin/Settings/Page.php:1454
+#: inc/Engine/Admin/Database/Subscriber.php:224
msgid ""
-"Transients are temporary options; they are safe to remove. They will be "
-"automatically regenerated as your plugins require them."
-msgstr ""
-"Transients sind zeitlich begrenzte Optionen; sie können problemlos gelöscht "
-"werden. Sobald deine Plugins sie benötigen, werden sie automatisch erneut "
-"generiert."
+"Database optimization process is complete. Everything was already optimized!"
+msgstr "Datenbank-Optimierung abgeschlossen. Alles war bereits optimiert!"
-#: inc/Engine/Admin/Settings/Page.php:1458
-msgid "Database Cleanup"
-msgstr "Datenbank bereinigen"
+#: inc/Engine/Admin/Database/Subscriber.php:227
+msgid ""
+"Database optimization process is complete. List of optimized items below:"
+msgstr ""
+"Datenbank-Optimierung abgeschlossen. Folgende Elemente wurden optimiert:"
-#: inc/Engine/Admin/Settings/Page.php:1460
-msgid "Reduces overhead of database tables"
-msgstr "Reduziert den Umfang von Datenbank-Tabellen."
+#. translators: %1$d = number of items optimized, %2$s = type of optimization
+#: inc/Engine/Admin/Database/Subscriber.php:235
+msgid "%1$d %2$s optimized."
+msgstr "%1$d %2$s optimiert."
-#: inc/Engine/Admin/Settings/Page.php:1464
-msgid "Automatic Cleanup"
-msgstr "Automatische Bereinigung"
+#. translators: %1$s = , %2$s = , %3$s = , %4$s = .
+#: inc/Engine/Admin/DomainChange/Subscriber.php:143
+msgid ""
+"%1$sWP Rocket:%2$s We detected that the website domain has changed. The "
+"configuration files must be regenerated for the page cache and all other "
+"optimizations to work as intended. %3$sLearn More%4$s"
+msgstr ""
+"%1$sWP Rocket:%2$s Wir haben festgestellt, dass sich die Domain der Website "
+"geändert hat. Die Konfigurationsdateien müssen für den Seitencache und alle "
+"anderen Optimierungen regeneriert werden, damit sie wie gewünscht "
+"funktionieren. %3$sMehr erfahren%4$s"
-#: inc/Engine/Admin/Settings/Page.php:1477
-#, php-format
-msgid "%s revision in your database."
-msgid_plural "%s revisions in your database."
-msgstr[0] "%s Revision in deiner Datenbank."
-msgstr[1] "%s Revisionen in deiner Datenbank."
+#: inc/Engine/Admin/DomainChange/Subscriber.php:171
+msgid "Regenerate WP Rocket configuration files now"
+msgstr "Konfigurationsdateien von WP-Rocket jetzt regenerieren"
-#: inc/Engine/Admin/Settings/Page.php:1487
-#, php-format
-msgid "%s draft in your database."
-msgid_plural "%s drafts in your database."
-msgstr[0] "%s Entwurf in deiner Datenbank."
-msgstr[1] "%s Entwürfe in deiner Datenbank."
+#: inc/Engine/Admin/Settings/Page.php:201
+msgid "Save Changes"
+msgstr "Änderungen speichern"
-#: inc/Engine/Admin/Settings/Page.php:1497
-#, php-format
-msgid "%s trashed post in your database."
-msgid_plural "%s trashed posts in your database."
-msgstr[0] "%s gelöschter Beitrag in deiner Datenbank."
-msgstr[1] "%s gelöschte Beiträge in deiner Datenbank."
-
-#: inc/Engine/Admin/Settings/Page.php:1507
-#, php-format
-msgid "%s spam comment in your database."
-msgid_plural "%s spam comments in your database."
-msgstr[0] "%s Spam-Kommentar in deiner Datenbank."
-msgstr[1] "%s Spam-Kommentare in deiner Datenbank."
+#: inc/Engine/Admin/Settings/Page.php:201
+msgid "Validate License"
+msgstr "Lizenz prüfen"
-#: inc/Engine/Admin/Settings/Page.php:1517
-#, php-format
-msgid "%s trashed comment in your database."
-msgid_plural "%s trashed comments in your database."
-msgstr[0] "%s gelöschter Kommentare in deiner Datenbank."
-msgstr[1] "%s gelöschte Kommentare in deiner Datenbank."
+#: inc/Engine/Admin/Settings/Page.php:257
+#: inc/Engine/Admin/Settings/Page.php:258
+msgid "Unavailable"
+msgstr "Server nicht erreichbar"
-#: inc/Engine/Admin/Settings/Page.php:1525
-msgid "All transients"
-msgstr "Alle Transients"
+#: inc/Engine/Admin/Settings/Page.php:369
+msgid "API key"
+msgstr "API-Schlüssel"
-#: inc/Engine/Admin/Settings/Page.php:1527
-#, php-format
-msgid "%s transient in your database."
-msgid_plural "%s transients in your database."
-msgstr[0] "%s Transient in deiner Datenbank."
-msgstr[1] "%s Transients in deiner Datenbank."
+#: inc/Engine/Admin/Settings/Page.php:384
+msgid "Email address"
+msgstr "E-Mail-Adresse"
-#: inc/Engine/Admin/Settings/Page.php:1535
-msgid "Optimize Tables"
-msgstr "Tabellen optimieren"
+#: inc/Engine/Admin/Settings/Page.php:410
+msgid "Dashboard"
+msgstr "Dashboard"
-#: inc/Engine/Admin/Settings/Page.php:1537
-#, php-format
-msgid "%s table to optimize in your database."
-msgid_plural "%s tables to optimize in your database."
-msgstr[0] "%s Tabelle in deiner Datenbank kann optimiert werden."
-msgstr[1] "%s Tabellen in deiner Datenbank können optimiert werden."
+#: inc/Engine/Admin/Settings/Page.php:411
+msgid "Get help, account info"
+msgstr "Konto-Übersicht, Hilfe"
-#: inc/Engine/Admin/Settings/Page.php:1548
-msgid "Schedule Automatic Cleanup"
-msgstr "Automatische Bereinigung terminieren"
+#: inc/Engine/Admin/Settings/Page.php:420
+msgid "My Status"
+msgstr "Mein Status"
-#: inc/Engine/Admin/Settings/Page.php:1560
-msgid "Frequency"
-msgstr "Durchführung"
+#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75
+msgid "Rocket Analytics"
+msgstr "Rocket Analytics"
-#: inc/Engine/Admin/Settings/Page.php:1568
-msgid "Daily"
-msgstr "täglich"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:432
+msgid ""
+"I agree to share anonymous data with the development team to help improve WP"
+" Rocket. %1$sWhat info will we collect?%2$s"
+msgstr ""
+"Ich erlaube dem Entwicklungsteam von WP Rocket, anonyme Daten aus meiner "
+"Installation zum Zweck der Produktverbesserung zu erheben. %1$sWelche Daten "
+"werden gesammelt?%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1569
-msgid "Weekly"
-msgstr "wöchentlich"
+#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354
+msgid "Cache"
+msgstr "Cache"
-#: inc/Engine/Admin/Settings/Page.php:1570
-msgid "Monthly"
-msgstr "monatlich"
+#: inc/Engine/Admin/Settings/Page.php:457
+msgid "Basic cache options"
+msgstr "Cache-Grundfunktionen"
-#: inc/Engine/Admin/Settings/Page.php:1586
-#: inc/Engine/Admin/Settings/Page.php:1597 inc/admin/ui/meta-boxes.php:108
-#: inc/deprecated/deprecated.php:1773
-msgid "CDN"
-msgstr "CDN"
+#: inc/Engine/Admin/Settings/Page.php:464
+msgid "Mobile Cache"
+msgstr "Mobiler Cache"
-#: inc/Engine/Admin/Settings/Page.php:1587
-msgid "Integrate your CDN"
-msgstr "CDN integrieren"
+#: inc/Engine/Admin/Settings/Page.php:466
+msgid "Speed up your site for mobile visitors."
+msgstr "Beschleunige deine Site auf mobilen Geräten."
-#: inc/Engine/Admin/Settings/Page.php:1599
+#: inc/Engine/Admin/Settings/Page.php:471
msgid ""
-"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)"
-" you provide."
+"We detected you use a plugin that requires a separate cache for mobile, and "
+"automatically enabled this option for compatibility."
msgstr ""
-"Alle URLs statischer Dateien (CSS, JS, Bilder) werden auf den/die "
-"eingetragenen CNAME(s) umgeschrieben."
+"Anscheinend nutzt du ein anderes Plugin, das einen separaten mobilen Cache "
+"erfordert. Daher wurde diese Einstellung automatisch aktiviert."
-#: inc/Engine/Admin/Settings/Page.php:1601
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:475
+msgid "User Cache"
+msgstr "Personalisierter Cache"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:478
msgid ""
-"Not required for services like Cloudflare and Sucuri. Please see our "
-"available %1$sAdd-ons%2$s."
+"%1$sUser cache%2$s is great when you have user-specific or restricted "
+"content on your website."
msgstr ""
-"Nicht erforderlich für Dienste wie Cloudflare und Sucuri. Bitte sieh dir "
-"unsere verfügbaren %1$sAdd-ons%2$s an."
+"%1$sPersonalisierter Cache%2$s ist nützlich, wenn du personalisierte oder "
+"eingeschränkte Inhalte zur Verfügung stellst."
-#: inc/Engine/Admin/Settings/Page.php:1616 inc/admin/options.php:132
-msgid "Exclude files from CDN"
-msgstr "Dateien vom CDN ausschließen"
+#: inc/Engine/Admin/Settings/Page.php:486
+msgid "Cache Lifespan"
+msgstr "Cache-Dauer"
-#: inc/Engine/Admin/Settings/Page.php:1642
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:489
msgid ""
-"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings "
-"is not required for %2$l to work on your site."
-msgid_plural ""
-"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN "
-"settings is not required for %2$l to work on your site."
-msgstr[0] ""
-"%1$s%2$l Add-ons%3$s ist momentan aktiviert. Konfiguration der CDN-"
-"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu "
-"laufen."
-msgstr[1] ""
-"%1$s%2$l Add-ons%3$s sind momentan aktiviert. Konfiguration der CDN-"
-"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu "
-"laufen."
+"Cache files older than the specified lifespan will be deleted. Enable "
+"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan "
+"expiration."
+msgstr ""
+"Cache-Dateien, die älter als die angegebene Lebensdauer sind, werden "
+"gelöscht. Aktiviere %1$sCache füllen%2$s, um den Cache nach dem Ablauf "
+"der Lebensdauer automatisch neu zu generieren."
-#: inc/Engine/Admin/Settings/Page.php:1667
-msgid "Enable Content Delivery Network"
-msgstr "Content Delivery Network aktivieren"
+#: inc/Engine/Admin/Settings/Page.php:503
+msgid "Enable caching for logged-in WordPress users"
+msgstr "Caching für angemeldete WordPress-Benutzer/-innen aktivieren"
-#: inc/Engine/Admin/Settings/Page.php:1676
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159
-msgid "CDN CNAME(s)"
-msgstr "CDN CNAME(s)"
+#: inc/Engine/Admin/Settings/Page.php:511
+msgid "Enable caching for mobile devices"
+msgstr "Caching für mobile Geräte aktivieren"
-#: inc/Engine/Admin/Settings/Page.php:1677
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160
-msgid "Specify the CNAME(s) below"
-msgstr "CNAME(s) des CDNs hier eintragen"
+#: inc/Engine/Admin/Settings/Page.php:526
+msgid "Separate cache files for mobile devices"
+msgstr "Separater Cache für mobile Geräte"
-#: inc/Engine/Admin/Settings/Page.php:1684
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:528
msgid ""
-"Specify URL(s) of files that should not get served via CDN (one per line)."
+"Most modern themes are responsive and should work without a separate cache. "
+"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore "
+"info%2$s"
msgstr ""
-"URL(s) von Dateien, die nicht von einem CDN ausgeliefert werden sollen (eine"
-" pro Zeile)."
+"Die meisten modernen Themes sind responsiv und sollten ohne einen separaten "
+"Cache arbeiten. Aktiviere dies nur, falls du ein spezielles Mobil-Theme oder"
+" -Plugin benutzt. %1$sMehr erfahren%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1685
+#: inc/Engine/Admin/Settings/Page.php:544
msgid ""
-"The domain part of the URL will be stripped automatically. Use (.*) "
-"wildcards to exclude all files of a given file type located at a specific "
-"path."
+"Specify time after which the global cache is cleared (0 = unlimited )"
msgstr ""
-"Der Domain-Teil der URL wird automatisch entfernt. Nutze den Platzhalter "
-"(.*), um alle URLs eines bestimmten Pfades anzusprechen."
+"Zeitangabe, nach welcher der globale Cache geleert wird (0 = unbegrenzt)"
-#: inc/Engine/Admin/Settings/Page.php:1708
-#: inc/Engine/Admin/Settings/Page.php:1716
-msgid "Heartbeat"
-msgstr "Heartbeat"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:546
+msgid ""
+"Reduce lifespan to 10 hours or less if you notice issues that seem to appear"
+" periodically. %1$sWhy?%2$s"
+msgstr ""
+"Reduziere auf 10 Stunden oder weniger, falls du Probleme bemerkst, die "
+"periodisch aufzutreten scheinen. %1$sWarum?%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1709
-msgid "Control WordPress Heartbeat API"
-msgstr "WordPress-Heartbeat-API kontrollieren"
+#: inc/Engine/Admin/Settings/Page.php:552
+#: inc/Engine/License/views/promo-banner.php:30
+#: inc/Engine/License/views/renewal-soon-banner.php:13
+msgid "Hours"
+msgstr "Stunden"
+
+#: inc/Engine/Admin/Settings/Page.php:553
+#: inc/Engine/License/views/promo-banner.php:29
+#: inc/Engine/License/views/renewal-soon-banner.php:12
+msgid "Days"
+msgstr "Tage"
+
+#: inc/Engine/Admin/Settings/Page.php:602
+msgid "File Optimization"
+msgstr "Datei-Optimierung"
-#: inc/Engine/Admin/Settings/Page.php:1717
+#: inc/Engine/Admin/Settings/Page.php:603
+msgid "Optimize CSS & JS"
+msgstr "CSS und JS optimieren"
+
+#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP
+#. Rocket”.
+#: inc/Engine/Admin/Settings/Page.php:611
msgid ""
-"Reducing or disabling the Heartbeat API’s activity can help save some of "
-"your server’s resources."
+"%1$s Minification is currently activated in Autoptimize . If"
+" you want to use %2$s’s minification, disable this option in Autoptimize."
msgstr ""
-"Das Verringern oder Deaktivieren der Heartbeat-API-Aktivität kann dabei "
-"helfen, manche Ressourcen deines Servers einzusparen."
+"%1$s Minifizierung ist momentan in Autoptimize aktiviert. "
+"Falls du die Minifizierung von %2$sbenutzen willst, deaktiviere diese Option"
+" in Autoptimize."
-#: inc/Engine/Admin/Settings/Page.php:1723
-msgid "Reduce or disable Heartbeat activity"
-msgstr "Verringern oder Deaktivieren der Heartbeat-Aktivität"
+#: inc/Engine/Admin/Settings/Page.php:621
+msgid "CSS Files"
+msgstr "CSS-Dateien"
-#: inc/Engine/Admin/Settings/Page.php:1724
+#: inc/Engine/Admin/Settings/Page.php:630
+msgid "JavaScript Files"
+msgstr "JavaScript-Dateien"
+
+#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP
+#. Rocket”.
+#: inc/Engine/Admin/Settings/Page.php:637
msgid ""
-"Reducing activity will change Heartbeat frequency from one hit each minute "
-"to one hit every 2 minutes."
+"%1$s Minification is currently activated in Autoptimize . If"
+" you want to use %2$s’s minification, disable those options in Autoptimize."
msgstr ""
-"Das Verringern der Aktivität wird die Heartbeat-Frequenz von einem Schlag "
-"pro Minute auf einen alle 2 Minuten verringern."
+"%1$s Minifizierung ist momentan in Autoptimize aktiviert. "
+"Wenn du die Minifizierung von %2$s nutzen möchtest, deaktiviere die "
+"entsprechenden Einstellungen in Autoptimize."
-#: inc/Engine/Admin/Settings/Page.php:1724
+#: inc/Engine/Admin/Settings/Page.php:642
msgid ""
-"Disabling Heartbeat entirely may break plugins and themes using this API."
+"If you have problems after activating this option, copy and paste the "
+"default exclusions to quickly resolve issues:"
msgstr ""
-"Das Deaktivieren der Heartbeat-Aktivität kann dazu führen, dass Plugins und "
-"Themes, die diese API benutzen, nicht mehr funktionieren."
+"Falls du nach dem Aktivieren dieser Funktion Probleme bekommst, kopiere die "
+"Standardexklusionen und füge sie ein, um diese schnell zu beheben:"
-#: inc/Engine/Admin/Settings/Page.php:1738
-msgid "Do not limit"
-msgstr "Nicht beschränken"
+#. translators: %1$s = opening
tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:646
+msgid ""
+"Also, please check our %1$sdocumentation%2$s for a list of compatibility "
+"exclusions."
+msgstr ""
+"Bitte lies auch unsere %1$sDokumentation%2$s mit einer Liste von Exklusionen"
+" aus Kompatibilitätsgründen."
-#: inc/Engine/Admin/Settings/Page.php:1739
-msgid "Reduce activity"
-msgstr "Aktivität verringern"
-
-#: inc/Engine/Admin/Settings/Page.php:1740
-msgid "Disable"
-msgstr "Deaktivieren"
-
-#: inc/Engine/Admin/Settings/Page.php:1748
-msgid "Control Heartbeat"
-msgstr "Heartbeat kontrollieren"
-
-#: inc/Engine/Admin/Settings/Page.php:1757
-msgid "Behavior in backend"
-msgstr "Verhalten im Backend"
-
-#: inc/Engine/Admin/Settings/Page.php:1764
-msgid "Behavior in post editor"
-msgstr "Verhalten im Beitragseditor"
+#: inc/Engine/Admin/Settings/Page.php:651
+msgid ""
+"Internal scripts are excluded by default to prevent issues. Remove them to "
+"take full advantage of this option."
+msgstr ""
+"Interne Skripte werden standardmäßig ausgeschlossen, um Probleme zu "
+"verhindern. Entferne sie, um diese Funktion voll auszureizen."
-#: inc/Engine/Admin/Settings/Page.php:1770
-msgid "Behavior in frontend"
-msgstr "Verhalten im Frontend"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:654
+msgid ""
+"If this causes trouble, restore the default exclusions, found %1$shere%2$s"
+msgstr ""
+"Falls das zu Schwierigkeiten führt, stelle die Standardexklusionen wieder "
+"her, die du %1$shier%2$s findest"
-#: inc/Engine/Admin/Settings/Page.php:1787
-#: views/settings/page-sections/tutorials.php:39
-msgid "Add-ons"
-msgstr "Add-ons"
+#: inc/Engine/Admin/Settings/Page.php:663
+msgid "Minify CSS files"
+msgstr "CSS minifizieren"
-#: inc/Engine/Admin/Settings/Page.php:1788
-msgid "Add more features"
-msgstr "Erweiterungen aktivieren"
+#: inc/Engine/Admin/Settings/Page.php:664
+msgid "Minify CSS removes whitespace and comments to reduce the file size."
+msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe."
-#: inc/Engine/Admin/Settings/Page.php:1795
-msgid "One-click Rocket Add-ons"
-msgstr "One-click Rocket Add-ons"
+#: inc/Engine/Admin/Settings/Page.php:677
+#: inc/Engine/Admin/Settings/Page.php:741
+#: inc/Engine/Admin/Settings/Page.php:807
+#: inc/Engine/Admin/Settings/Page.php:831
+msgid "This could break things!"
+msgstr "Dies könnte Probleme bereiten!"
-#: inc/Engine/Admin/Settings/Page.php:1796
+#: inc/Engine/Admin/Settings/Page.php:678
+#: inc/Engine/Admin/Settings/Page.php:742
+#: inc/Engine/Admin/Settings/Page.php:808
+#: inc/Engine/Admin/Settings/Page.php:832
msgid ""
-"One-Click Add-ons are features extending available options without "
-"configuration needed. Switch the option \"on\" to enable from this screen."
+"If you notice any errors on your website after having activated this "
+"setting, just deactivate it again, and your site will be back to normal."
msgstr ""
-"One-Click Add-ons erweitern den Funktionsumfang ohne weitere Konfiguration. "
-"Aktiviere sie einfach, indem du den Schalter auf „An“ umlegst."
-
-#: inc/Engine/Admin/Settings/Page.php:1806
-msgid "Rocket Add-ons"
-msgstr "Rocket Add-ons"
-
-#: inc/Engine/Admin/Settings/Page.php:1807
-msgid "Rocket Add-ons are complementary features extending available options."
-msgstr "Rocket Add-ons erweitern den Funktionsumfang um zusätzliche Features."
+"Falls du nach der Aktivierung dieser Einstellung Unregelmäßigkeiten auf "
+"deiner Website bemerken solltest, deaktiviere sie einfach wieder, und deine "
+"Site wird wieder normal aussehen."
-#: inc/Engine/Admin/Settings/Page.php:1817
-#: inc/Engine/Admin/Settings/Page.php:1986
-msgid "Cloudflare"
-msgstr "Cloudflare"
+#: inc/Engine/Admin/Settings/Page.php:679
+msgid "Activate minify CSS"
+msgstr "Verstanden, aktiviere „CSS minifizieren“"
-#: inc/Engine/Admin/Settings/Page.php:1823
-msgid "Integrate your Cloudflare account with this add-on."
-msgstr "Integriere dein Cloudflare-Konto mit diesem Add-on."
+#: inc/Engine/Admin/Settings/Page.php:685
+msgid ""
+"Specify URLs of CSS files to be excluded from minification (one per line)."
+msgstr ""
+"Gib die URLs der CSS-Dateien an, die nicht minifiziert werden sollen (eine "
+"pro Zeile)."
-#: inc/Engine/Admin/Settings/Page.php:1824
+#: inc/Engine/Admin/Settings/Page.php:686
msgid ""
-"Provide your account email, global API key, and domain to use options such "
-"as clearing the Cloudflare cache and enabling optimal settings with WP "
-"Rocket."
+"Internal: The domain part of the URL will be stripped "
+"automatically. Use (.*).css wildcards to exclude all CSS files located at a "
+"specific path."
msgstr ""
-"Damit du den Cloudflare-Cache leeren und die optimalen Einstellungen für WP "
-"Rocket auswählen kannst, gib hier die folgenden in deinem Cloudflare-Konto "
-"hinterlegten Daten ein: E-Mail-Adresse, globaler API-Schlüssel, Domain"
+"Intern: Der Domain-Teil der URL wird automatisch entfernt. "
+"Benutze den Platzhalter (.*).css, um alle CSS-Dateien auszunehmen, die sich "
+"in einem angegebenen Pfad befinden."
-#: inc/Engine/Admin/Settings/Page.php:1827
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:688
msgid ""
-"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just "
-"activate the official Cloudflare plugin and configure it. WP Rocket will "
-"automatically enable compatibility."
+"3rd Party: Use either the full URL path or only the domain "
+"name, to exclude external CSS. %1$sMore info%2$s"
msgstr ""
-"%1$sPlanst du, Automatic Platform Optimization (APO) einzusetzen?%2$s "
-"Aktiviere einfach das offizielle Cloudflare-Plugin und konfiguriere es. WP "
-"Rocket wird automatisch für Kompatibilität sorgen."
+"Drittanbieter: Benutze entweder den vollständigen URL-Pfad "
+"oder nur den Domainnamen, um externes CSS auszunehmen. %1$sMehr erfahren%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1875
-msgid "Varnish"
-msgstr "Varnish"
+#: inc/Engine/Admin/Settings/Page.php:701
+#: inc/Engine/Admin/Settings/Page.php:723
+msgid "Optimize CSS delivery"
+msgstr "CSS-Darstellung optimieren"
-#: inc/Engine/Admin/Settings/Page.php:1881
-msgid "If Varnish runs on your server, you must activate this add-on."
+#: inc/Engine/Admin/Settings/Page.php:706
+msgid ""
+"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
+"one method can be selected. Remove Unused CSS is recommended for optimal "
+"performance, but limited only to the users with active license."
msgstr ""
-"Du musst diese Einstellung aktivieren, wenn Varnish auf deinem Server aktiv "
-"ist."
+"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner"
+" Website. Nur eine Methode kann ausgewählt werden. Unbenutztes CSS entfernen"
+" wird für die beste Leistung empfohlen, aber kann nur von Benutzern mit "
+"einer aktiven Lizenz eingesetzt werden."
-#: inc/Engine/Admin/Settings/Page.php:1883
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:706
msgid ""
-"Varnish cache will be purged each time WP Rocket clears its cache to ensure "
-"content is always up-to-date. %1$sLearn more%2$s"
+"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
+"one method can be selected. Remove Unused CSS is recommended for optimal "
+"performance."
msgstr ""
-"Der Varnish-Cache wird automatisch jedes Mal geleert, wenn der Cache von WP "
-"Rocket geleert wird, damit er immer aktuell ist. %1$sMehr erfahren%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1918
-msgid "WebP Compatibility"
-msgstr "WebP-Kompatibilität"
-
-#: inc/Engine/Admin/Settings/Page.php:1924
-msgid "Improve browser compatibility for WebP images."
-msgstr "Browserkompatibilität für WebP-Bilder verbessern"
+"CSS-Darstellung optimieren eliminiert rendering-blockierendes CSS auf deiner"
+" Website. Nur eine Methode kann ausgewählt werden. Nicht benutztes CSS "
+"entfernen wird für die beste Leistung empfohlen."
-#: inc/Engine/Admin/Settings/Page.php:1928
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:716
msgid ""
-"Enable this option if you would like WP Rocket to serve WebP images to "
-"compatible browsers. Please note that WP Rocket cannot create WebP images "
-"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore "
-"info%2$s"
+"Optimize CSS Delivery features are disabled on local environments. %1$sLearn"
+" more%2$s"
msgstr ""
-"Aktiviere diese Option, falls du möchtest, dass WP Rocket WebP-Bilder an "
-"kompatible Browser ausliefert. Bitte bedenke, dass WP Rocket keine WebP-"
-"Bilder für dich erstellen kann. Dür das Erstellen von WebP-Bildern empfehlen"
-" wir %1$sImagify%2$s. %3$sMehr erfahren%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1948
-msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared."
-msgstr "Sucuri-Cache leeren, wenn der Cache von WP Rocket geleert wird."
+"Funktionen zur optimierten CSS-Darstellung sind auf lokalen Umgebungen "
+"deaktiviert. %1$sMehr erfahren%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1951
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:739
msgid ""
-"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is "
-"cleared."
+"Removes unused CSS per page and helps to reduce page size and HTTP requests."
+" Recommended for best performance. Test thoroughly! %1$sMore info%2$s"
msgstr ""
-"Gib deinen API-Schlüssel an, um auch den Sucuri-Cache zu leeren, sobald der "
-"Cache von WP Rocket geleert wird."
-
-#: inc/Engine/Admin/Settings/Page.php:1959
-#: inc/Engine/Admin/Settings/Page.php:2103
-msgid "Sucuri"
-msgstr "Sucuri"
-
-#: inc/Engine/Admin/Settings/Page.php:1965
-msgid "Synchronize Sucuri cache with this add-on."
-msgstr "Sucuri-Cache mit diesem Add-on synchronisieren."
-
-#: inc/Engine/Admin/Settings/Page.php:2003
-msgid "Cloudflare credentials"
-msgstr "Cloudflare-Zugangsdaten"
-
-#: inc/Engine/Admin/Settings/Page.php:2012
-msgid "Cloudflare settings"
-msgstr "Cloudflare-Einstellungen"
-
-#: inc/Engine/Admin/Settings/Page.php:2026
-msgctxt "Cloudflare"
-msgid "Global API key:"
-msgstr "Globaler API-Schlüssel:"
+"Entfernt nicht benutztes CSS pro Seite und hilft, die Größe der Seite und "
+"die Anzahl von HTTP-Anfragen zu reduzieren. Empfohlen für die beste "
+"Leistung. Ausführlich testen! %1$sMehr erfahren%2$s"
-#: inc/Engine/Admin/Settings/Page.php:2027
-msgctxt "Cloudflare"
-msgid "Find your API key"
-msgstr "API-Schlüssel finden"
+#: inc/Engine/Admin/Settings/Page.php:743
+msgid "Activate Remove Unused CSS"
+msgstr "Unbenutztes CSS entfernen aktivieren"
-#: inc/Engine/Admin/Settings/Page.php:2039
-msgctxt "Cloudflare"
-msgid "Account email"
-msgstr "E-Mail-Adresse des Kontos"
+#: inc/Engine/Admin/Settings/Page.php:749
+msgid "CSS safelist"
+msgstr "CSS-Safelist"
-#: inc/Engine/Admin/Settings/Page.php:2048
-msgctxt "Cloudflare"
-msgid "Zone ID"
-msgstr "Zone ID"
+#: inc/Engine/Admin/Settings/Page.php:750
+msgid ""
+"Specify CSS filenames, IDs or classes that should not be removed (one per "
+"line)."
+msgstr ""
+"Gib CSS-Dateinamen, IDs oder Klassen an, die nicht entfernt werden sollen "
+"(eine pro Zeile)."
-#: inc/Engine/Admin/Settings/Page.php:2058
-msgid "Development mode"
-msgstr "Entwicklungsmodus"
+#. translators: %1$s = plugin name.
+#: inc/Engine/Admin/Settings/Page.php:768
+msgctxt "WP Critical CSS compatibility"
+msgid ""
+"Load CSS asynchronously is currently handled by the %1$s plugin. If you want"
+" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin."
+msgstr ""
+"CSS-Dateien asynchron laden wird momentan durch das Plugin %1$s realisiert. "
+"Wenn du die Option zur optimierten CSS-Darstellung von WP Rocket benutzen "
+"willst, deaktiviere das Plugin %1$s."
-#: inc/Engine/Admin/Settings/Page.php:2060
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:770
msgid ""
-"Temporarily activate development mode on your website. This setting will "
-"automatically turn off after 3 hours. %1$sLearn more%2$s"
+"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s"
msgstr ""
-"Aktiviert vorübergehend den Entwicklungsmodus auf deiner Website. Diese "
-"Einstellung wird nach 3 Stunden automatisch deaktiviert. %1$sMehr "
+"Erzeugt CSS für den kritischen Pfad und lädt CSS asynchron. %1$sMehr "
"erfahren%2$s"
-#: inc/Engine/Admin/Settings/Page.php:2068
-msgid "Optimal settings"
-msgstr "Optimale Einstellungen"
+#: inc/Engine/Admin/Settings/Page.php:776
+msgid "Fallback critical CSS"
+msgstr "Alternatives Kritisches CSS"
-#: inc/Engine/Admin/Settings/Page.php:2069
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:778
msgid ""
-"Automatically enhances your Cloudflare configuration for speed, performance "
-"grade and compatibility."
+"Provides a fallback if auto-generated critical path CSS is incomplete. "
+"%1$sMore info%2$s"
msgstr ""
-"Verbessert deine Cloudflare-Konfiguration automatischen hinsichtlich "
-"Geschwindigkeit, Leistungsfähigkeit und Kompatibilität."
+"Für den Fall, dass das automatisch erstellte Kritische CSS unvollständig "
+"ist. %1$sMehr erfahren%2$s"
-#: inc/Engine/Admin/Settings/Page.php:2077
-msgid "Relative protocol"
-msgstr "Relatives Protokoll"
+#: inc/Engine/Admin/Settings/Page.php:793
+msgid "Minify JavaScript files"
+msgstr "JavaScript minifizieren"
-#: inc/Engine/Admin/Settings/Page.php:2078
+#: inc/Engine/Admin/Settings/Page.php:794
msgid ""
-"Should only be used with Cloudflare's flexible SSL feature. URLs of static "
-"files (CSS, JS, images) will be rewritten to use // instead of http:// or "
-"https://."
-msgstr ""
-"Sollte ausschließlich mit Flexible SSL von Cloudflare genutzt werden. URLs "
-"statischer Dateien (CSS, JS, Bilder) werden auf // anstatt http:// oder "
-"https:// umgeschrieben."
+"Minify JavaScript removes whitespace and comments to reduce the file size."
+msgstr "Entfernt Leerzeilen und Kommentare zur Reduzierung der Datei-Größe."
-#: inc/Engine/Admin/Settings/Page.php:2116
-msgid "Sucuri credentials"
-msgstr "Sucuri-Zugangsdaten"
+#: inc/Engine/Admin/Settings/Page.php:809
+msgid "Activate minify JavaScript"
+msgstr "Verstanden, aktiviere „JavaScript minifizieren“"
-#: inc/Engine/Admin/Settings/Page.php:2129
-msgctxt "Sucuri"
+#: inc/Engine/Admin/Settings/Page.php:814
msgid ""
-"Firewall API key (for plugin), must be in format {32 characters}/{32 "
-"characters}:"
+"Combine JavaScript files (Enable Minify JavaScript files to select) "
msgstr ""
-"Firewall-API-Schlüssel (für Plugin) muss das Format {32 Zeichen}/{32 "
-"Zeichen} aufweisen:"
-
-#: inc/Engine/Admin/Settings/Page.php:2130
-msgctxt "Sucuri"
-msgid "Find your API key"
-msgstr "API-Schlüssel finden"
-
-#: inc/Engine/Admin/Settings/Render.php:422 inc/deprecated/deprecated.php:1294
-msgid "Upload file and import settings"
-msgstr "Datei hochladen und Einstellungen importieren."
+"JavaScript zusammenfassen („JavaScript minifizieren“ erforderlich zur "
+"Aktivierung) "
-#: inc/Engine/Admin/Settings/Settings.php:362
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:816
msgid ""
-"Sucuri Add-on: The API key for the Sucuri firewall must be in format "
-"{32 characters}/{32 characters}
."
+"Combine JavaScript files combines your site’s internal, 3rd party and inline"
+" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. "
+"%1$sMore info%2$s"
msgstr ""
-"Sucuri Add-on: Der API-Schlüssel für die Sucuri-Firewall muss im Format "
-"{32 Zeichen}/{32 Zeichen}
sein:"
-
-#: inc/Engine/Admin/Settings/Settings.php:452
-#: inc/deprecated/deprecated.php:1245
-msgid "Settings saved."
-msgstr "Einstellungen gespeichert."
+"JavaScript zusammenfassen kombiniert internes, externes und inline JS, um "
+"HTTP-Anfragen zu verringern. nicht empfohlen, falls deine Website mit HTTP/2"
+" läuft. %1$sMehr erfahren%2$s"
-#: inc/Engine/Admin/Settings/Settings.php:668
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:817
msgid ""
-"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved "
-"because it disables caching and optimizations for every page on your site."
+"For compatibility and best results, this option is disabled when delay "
+"javascript execution is enabled."
msgstr ""
-"Entschuldigung! Das Hinzufügen von /(.*) in Erweiterte Regeln > Nie cachen "
-"(URLs) wurde nicht gespeichert, weil es das Caching und die Optimierungen "
-"für jede Seite deiner Website deaktiviert."
-
-#: inc/Engine/Admin/Settings/Subscriber.php:168
-#: inc/deprecated/deprecated.php:1786
-#: views/settings/page-sections/tools.php:33
-msgid "Tools"
-msgstr "Werkzeuge"
-
-#: inc/Engine/Admin/Settings/Subscriber.php:169
-msgid "Import, Export, Rollback"
-msgstr "Import, Export, Wiederherstellung"
-
-#: inc/Engine/Admin/Settings/Subscriber.php:194
-#: views/settings/page-sections/imagify.php:14
-msgid "Image Optimization"
-msgstr "Bildoptimierung"
-
-#: inc/Engine/Admin/Settings/Subscriber.php:195
-msgid "Compress your images"
-msgstr "Komprimiere deine Bilder"
+"Diese Option ist aus Gründen der Kompatibilität und für beste Ergebnisse "
+"deaktiviert, wenn die Option zum Verzögern der Ausführung von JavaScript "
+"aktiv ist."
-#: inc/Engine/Admin/Settings/Subscriber.php:212
-#: views/settings/page-sections/tutorials.php:48
-msgid "Tutorials"
-msgstr "Tutorials"
+#: inc/Engine/Admin/Settings/Page.php:833
+msgid "Activate combine JavaScript"
+msgstr "Verstanden, aktiviere „JavaScript zusammenfassen“"
-#: inc/Engine/Admin/Settings/Subscriber.php:213
-msgid "Getting started and how to videos"
-msgstr "Erste Schritte und Einführungsvideos"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:840
+msgid ""
+"Specify patterns of inline JavaScript to be excluded from concatenation (one"
+" per line). %1$sMore info%2$s"
+msgstr ""
+"Muster von Inline JavaScript, die von der Zusammenführung ausgenommen werden"
+" sollen (eine pro Zeile). %1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:134
+#: inc/Engine/Admin/Settings/Page.php:857
msgid ""
-"We could not fetch the current price because RocketCDN API returned an "
-"unexpected error code."
+"Specify URLs of JavaScript files to be excluded from minification and "
+"concatenation (one per line)."
msgstr ""
-"Wir konnten den aktuellen Preis nicht abrufen, weil die RocketCDN-API einen "
-"unerwarteten Fehlercode zurückgegeben hat."
+"URLs von JavaScript-Dateien, die von der Minifizierung und Zusammenführung "
+"ausgenommen werden sollen (eine pro Zeile)."
-#: inc/Engine/CDN/RocketCDN/APIClient.php:140
-msgid "RocketCDN is not available at the moment. Please retry later."
+#: inc/Engine/Admin/Settings/Page.php:858
+msgid ""
+"Internal: The domain part of the URL will be stripped "
+"automatically. Use (.*).js wildcards to exclude all JS files located at a "
+"specific path."
msgstr ""
-"RocketCDN ist momentan nicht verfügbar. Bitte später erneut versuchen."
+"Intern: Der Domain-Teil der URL wird automatisch entfernt. "
+"Benutze den Platzhalter (.*).css, um alle JS-Dateien auszunehmen, die sich "
+"in einem angegebenen Pfad befinden."
-#: inc/Engine/CDN/RocketCDN/APIClient.php:177
-msgid "RocketCDN cache purge failed: Missing identifier parameter."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:860
+msgid ""
+"3rd Party: Use either the full URL path or only the domain "
+"name, to exclude external JS. %1$sMore info%2$s"
msgstr ""
-"RocketCDN Cache leeren fehlgeschlagen: Fehlender Identifier-Parameter."
+"Drittanbieter: Benutze entweder den vollständigen URL-Pfad "
+"oder nur den Domainnamen, um externes JS auszunehmen. %1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:186
-msgid "RocketCDN cache purge failed: Missing user token."
-msgstr "RocketCDN Cache leeren fehlgeschlagen: Fehlendes Benutzer-Token."
+#: inc/Engine/Admin/Settings/Page.php:876
+msgid "Load JavaScript deferred"
+msgstr "JavaScript verzögert laden"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:212
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:878
msgid ""
-"RocketCDN cache purge failed: The API returned an unexpected response code."
+"Load JavaScript deferred eliminates render-blocking JS on your site and can "
+"improve load time. %1$sMore info%2$s"
msgstr ""
-"RocketCDN Cache leeren fehlgeschlagen: Die API gab einen unerwarteten "
-"Antwortcode zurück."
+"Entfernt rendering-blockierendes JavaScript, kann die Ladezeit verbessern. "
+"%1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:221
-msgid "RocketCDN cache purge failed: The API returned an empty response."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:891
+msgid ""
+"Specify URLs or keywords of JavaScript files to be excluded from defer (one "
+"per line). %1$sMore info%2$s"
msgstr ""
-"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine leere Antwort "
-"zurück."
+"URLs oder Schlüsselwörter von JavaScript-Dateien, die von der Verzögerung "
+"ausgenommen werden sollen (eine pro Zeile) %1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:230
-msgid "RocketCDN cache purge failed: The API returned an unexpected response."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:909
+msgid ""
+"Improves performance by delaying the loading of JavaScript files until user "
+"interaction (e.g. scroll, click). %1$sMore info%2$s"
msgstr ""
-"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine unerwartete Antwort "
-"zurück."
-
-#: inc/Engine/CDN/RocketCDN/APIClient.php:239
-#, php-format
-msgid "RocketCDN cache purge failed: %s."
-msgstr "RocketCDN Cache leeren fehlgeschlagen: %s."
-
-#: inc/Engine/CDN/RocketCDN/APIClient.php:247
-msgid "RocketCDN cache purge successful."
-msgstr "RocketCDN-Cache erfolgreich geleert."
-
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90
-msgid "Next Billing Date"
-msgstr "Nächste Rechnungsstellung"
+"Verbessert die Leistung durch das Verzögern des Ladens von JavaScript-"
+"Dateien bis zur ersten Benutzerinteraktion (z. B: Scrollen, Klicken). "
+"%1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99
-msgid "No Subscription"
-msgstr "Kein Abonnement"
+#: inc/Engine/Admin/Settings/Page.php:918
+msgid "One-click exclusions"
+msgstr "Ein-Klick-Exklusionen"
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135
-msgid "Your RocketCDN subscription is currently active."
-msgstr "Dein RocketCDN-Abonnement ist momentan aktiv."
+#: inc/Engine/Admin/Settings/Page.php:919
+msgid ""
+"When using the Delay JavaScript Execution, you might experience delay "
+"loading elements located in the viewport that need to appear immediately - "
+"e.g. slider, header, menu."
+msgstr ""
+"Wenn du die Ausführung von JavaScript verzögerst, kann es zu Verzögerungen "
+"beim Laden von Elementen im Viewport kommen, die sofort angezeigt werden "
+"müssen, z. B. Slider, Header, Menü."
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141
-#, php-format
-msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s."
-msgstr "Um RocketCDN zu benutzen, ersetze deinen CNAME mit %1$s%2$s%3$s."
+#: inc/Engine/Admin/Settings/Page.php:920
+msgid ""
+"If you need instant visibility, click below on files that should NOT be "
+"delayed. This selection will help users interact with the elements straight "
+"away."
+msgstr ""
+"Wenn du sofortige Sichtbarkeit brauchst, klicke unten auf die Dateien, die "
+"NICHT verzögert werden sollten. Diese Auswahl hilft den Nutzern, sofort mit "
+"den Elementen zu interagieren."
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152
-#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230
-#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334
-#, php-format
-msgid "%1$sMore Info%2$s"
-msgstr "%1$sMehr erfahren%2$s"
+#: inc/Engine/Admin/Settings/Page.php:937
+msgid ""
+"Specify URLs or keywords that can identify inline or JavaScript files to be "
+"excluded from delaying execution (one per line)."
+msgstr ""
+"URLs oder Schlüsselwörter, die Inline- oder JavaScript-Dateien "
+"identifizieren, die nicht verzögert ausgeführt werden sollen (eine pro "
+"Zeile)."
-#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137
-msgid "RocketCDN enabled"
-msgstr "RocketCDN aktiviert"
+#: inc/Engine/Admin/Settings/Page.php:969
+msgid "Media"
+msgstr "Medien"
-#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160
-msgid "RocketCDN disabled"
-msgstr "RocketCDN deaktiviert"
+#: inc/Engine/Admin/Settings/Page.php:970
+msgid "LazyLoad, image dimensions"
+msgstr "LazyLoad, Bildabmessungen"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27
-#, php-format
-msgid "Valid until %s only!"
-msgstr "Nur gültig bis %s!"
+#: inc/Engine/Admin/Settings/Page.php:979
+msgid "Autoptimize"
+msgstr "Autoptimize"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36
-msgid "Speed up your website thanks to:"
-msgstr "Beschleunige deine Website dank:"
+#: inc/Engine/Admin/Settings/Page.php:1033
+msgid "LazyLoad"
+msgstr "LazyLoad"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1036
msgid ""
-"High performance Content Delivery Network (CDN) with %1$sunlimited "
-"bandwidth%2$s"
+"It can improve actual and perceived loading time as images, iframes, and "
+"videos will be loaded only as they enter (or about to enter) the viewport "
+"and reduces the number of HTTP requests. %1$sMore Info%2$s"
msgstr ""
-"Hochleistungs-Content-Delivery-Network (CDN) mit %1$sunbegrenzter "
-"Bandbreite%2$s"
+"Es kann die tatsächliche und empfundene Ladezeit verbessern, weil Bilder, "
+"iframes und Videos erst geladen werden, wenn sie in den Viewport kommen "
+"(oder in die Nähe). Das verringert auch die Anzahl der HTTP-Anfragen. "
+"%1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48
-#, php-format
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names.
+#: inc/Engine/Admin/Settings/Page.php:1043
msgid ""
-"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied"
+"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s "
+"LazyLoad, disable this option in %2$s."
msgstr ""
-"Einfache Konfiguration: Die %1$sbesten CDN-Einstellungen%2$s werden "
-"automatisch angewendet"
+"LazyLoad ist momentan in %2$s aktiviert. Wenn du die LazyLoad-Funktion von "
+"WP Rocket benutzen willst, deaktiviere diese Option in %2$s."
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1046
+msgid "Image Dimensions"
+msgstr "Bildabmessungen"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1049
msgid ""
-"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in"
-" our plugin"
+"Add missing width and height attributes to images. Helps prevent layout "
+"shifts and improve the reading experience for your visitors. %1$sMore "
+"info%2$s"
msgstr ""
-"WP-Rocket-Integration: Die CDN-Option ist in unserem Plugin %1$sautomatisch "
-"konfiguriert%2$s"
+"Fügt Bildern fehlende width und height Attribute hinzu. Hilft, Layout-"
+"Sprünge zu verhindern und verbessert die Leseerfahrung für deine Besucher. "
+"%1$sMehr erfahren%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58
-msgid "Learn more about RocketCDN"
-msgstr "Erfahre mehr über RocketCDN"
+#: inc/Engine/Admin/Settings/Page.php:1068
+msgid "Enable for images"
+msgstr "Für Bilder aktivieren"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65
-#, php-format
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names.
+#: inc/Engine/Admin/Settings/Page.php:1080
msgid ""
-"*$%1$s/month for 12 months then $%2$s/month. You can cancel your "
-"subscription at any time."
+"LazyLoad for images is currently activated in %2$s. If you want to use "
+"%1$s’s LazyLoad, disable this option in %2$s."
msgstr ""
-"*$%1$s/Monat für 12 Monate, danach $%2$s/Monat. Sie können Ihr Abonnement "
-"jederzeit kündigen."
+"LazyLoad für Bilder ist aktuell aktiviert in %2$s. Falls du die LazyLoad-"
+"Funktion von %1$s benutzen willst, deaktivere diese Option in %2$s."
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86
-msgid "Billed monthly"
-msgstr "Monatliche Abrechnung"
+#: inc/Engine/Admin/Settings/Page.php:1088
+msgid "Enable for CSS background images"
+msgstr "Für CSS-Hintergrundbilder aktivieren"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87
-msgid "Get Started"
-msgstr "Erste Schritte"
+#: inc/Engine/Admin/Settings/Page.php:1103
+msgid "Enable for iframes and videos"
+msgstr "Für iframes und Video aktivieren"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92
-msgid "Reduce this banner"
-msgstr "Dieses Banner verkleinern"
+#: inc/Engine/Admin/Settings/Page.php:1118
+msgid "Replace YouTube iframe with preview image"
+msgstr "YouTube iframe durch Vorschaubild ersetzen"
-#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17
-msgid ""
-"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network."
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names.
+#: inc/Engine/Admin/Settings/Page.php:1120
+msgid "Replace YouTube iframe with preview image is not compatible with %2$s."
msgstr ""
-"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery "
-"Network."
-
-#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20
-#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13
-msgid "Learn More"
-msgstr "Mehr erfahren"
-
-#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23
-msgid "RocketCDN is unavailable on local domains and staging sites."
-msgstr "RocketCDN ist nicht für lokale Domains und Staging-Sites verfügbar."
+"YouTube-iframe mit Vorschaubild austauschen ist nicht kompatibel mit %2$s."
-#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32
-msgid "Get RocketCDN"
-msgstr "Hol dir RocketCDN"
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names.
+#: inc/Engine/Admin/Settings/Page.php:1120
+msgid ""
+"This can significantly improve your loading time if you have a lot of "
+"YouTube videos on a page."
+msgstr ""
+"Kann deine Ladezeit entscheidend verbessern, wenn du viele YouTube Videos "
+"auf einer Seite einbettest."
-#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11
-msgid "New!"
-msgstr "Neu!"
+#: inc/Engine/Admin/Settings/Page.php:1135
+msgid "Excluded images or iframes"
+msgstr "Bilder- oder iframes-Ausnahmen"
-#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1137
msgid ""
-"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!"
+"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from"
+" the image or iframe code to be excluded (one per line). %1$sMore info%2$s"
msgstr ""
-"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery "
-"Network!"
+"Gib Schlüsselwörter (z. B. Bild-Dateiname, CSS-Dateiname, CSS-Klasse, "
+"Domain) des auszuschließenden Bildes oder iframe-Code an (eins pro Zeile). "
+"%1$sWeitere Informationen%2$s"
-#: inc/Engine/Cache/AdminSubscriber.php:118 inc/admin/admin.php:96
-#: inc/admin/admin.php:118 inc/deprecated/3.5.php:898
-msgid "Clear this cache"
-msgstr "Diesen Cache leeren"
+#: inc/Engine/Admin/Settings/Page.php:1145
+msgid "Add missing image dimensions"
+msgstr "Fehlende Bildabmessungen hinzufügen"
-#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75
-msgid "WP Rocket Expired Cache Interval"
-msgstr "WP Rocket Cache-Ablaufzeit"
+#: inc/Engine/Admin/Settings/Page.php:1165
+msgid "Generate cache files, preload fonts"
+msgstr "Cache-Dateien generieren, Fonts vorladen"
-#: inc/Engine/Cache/WPCache.php:337
-msgid "WP_CACHE value"
-msgstr "WP_CACHE-Wert"
+#: inc/Engine/Admin/Settings/Page.php:1177
+msgid "Preload Cache"
+msgstr "Cache füllen"
-#: inc/Engine/Cache/WPCache.php:358
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1180
msgid ""
-"The WP_CACHE constant needs to be set to true for WP Rocket cache to work "
-"properly"
+"When you enable preloading WP Rocket will automatically detect your sitemaps"
+" and save all URLs to the database. The plugin will make sure that your "
+"cache is always preloaded."
msgstr ""
-"Die Konstante WP_CACHE muss auf true gesetzt sein, damit der Cache von WP "
-"Rocket korrekt funktioniert"
+"Wenn du das Vorladen aktivierst, wird WP Rocket deine Sitemaps automatisch "
+"erkennen und alle URLs in der Datenbank speichern. Das Plugin stellt sicher,"
+" dass dein Cache immer vorgeladen wird."
-#: inc/Engine/Cache/WPCache.php:367
-msgid "WP_CACHE is set to true"
-msgstr "WP_CACHE ist auf true eingestellt"
+#: inc/Engine/Admin/Settings/Page.php:1188
+msgid "Preload Links"
+msgstr "Links vorladen"
-#: inc/Engine/Cache/WPCache.php:375
-msgid "WP_CACHE is not set"
-msgstr "WP_CACHE ist nicht gesetzt"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1191
+msgid ""
+"Link preloading improves the perceived load time by downloading a page when "
+"a user hovers over the link. %1$sMore info%2$s"
+msgstr ""
+"Links vorladen optimiert die wahrgenommene Ladezeit, indem eine verlinkte "
+"Seite bereits geladen wird, sobald sich der Mauszeiger eines Benutzers über "
+"einem Link befindet. %1$sMehr erfahren%2$s"
-#: inc/Engine/Cache/WPCache.php:383
-msgid "WP_CACHE is set to false"
-msgstr "WP_CACHE ist auf false eingestellt"
+#: inc/Engine/Admin/Settings/Page.php:1199
+msgid "Prefetch DNS Requests"
+msgstr "DNS-Prefetch"
-#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253
-msgid "Every minute"
-msgstr "Jede Minute"
+#: inc/Engine/Admin/Settings/Page.php:1201
+msgid ""
+"DNS prefetching can make external files load faster, especially on mobile "
+"networks"
+msgstr ""
+"Kann das Laden externer Dateien beschleunigen, besonders über eine mobilen "
+"Netzwerkverbindung."
-#: inc/Engine/CriticalPath/APIClient.php:64
-#, php-format
-msgid "Critical CSS for %1$s not generated. Error: %2$s"
-msgstr "Kritisches CSS für %1$s nicht erstellt. Fehler: %2$s"
+#: inc/Engine/Admin/Settings/Page.php:1206
+msgid "Preload Fonts"
+msgstr "Fonts vorladen"
-#: inc/Engine/CriticalPath/APIClient.php:170
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1209
msgid ""
-"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
-"empty response."
+"Improves performance by helping browsers discover fonts in CSS files. "
+"%1$sMore info%2$s"
msgstr ""
-"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab "
-"eine leere Antwort zurück."
+"Optimiert die Leistung, indem es Browsern hilft, Fonts in CSS-Dateien zu "
+"entdecken. %1$sMehr erfahren%2$s"
-#: inc/Engine/CriticalPath/APIClient.php:173
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1223
+msgid "Activate Preloading"
+msgstr "Vorladen aktivieren"
+
+#: inc/Engine/Admin/Settings/Page.php:1234
+msgid "Exclude URLs"
+msgstr "URLs ausschließen"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1239
msgid ""
-"Critical CSS for %1$s not generated. Error: The API returned an empty "
-"response."
+"Specify URLs to be excluded from the preload feature (one per line). "
+"%1$sMore info%2$s"
msgstr ""
-"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab eine leere "
-"Antwort zurück."
-
-#: inc/Engine/CriticalPath/APIClient.php:185
-#, php-format
-msgid "Critical CSS for %1$s on mobile not generated."
-msgstr "Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt."
+"Gib URLs ein, die von der Vorladen-Funktion ausgeschlossen werden sollen "
+"(eine pro Zeile). %1$sMehr erfahren%2$s"
-#: inc/Engine/CriticalPath/APIClient.php:187
-#: inc/Engine/CriticalPath/ProcessorService.php:194
-#, php-format
-msgid "Critical CSS for %1$s not generated."
-msgstr "Kritisches CSS für %1$s nicht erzeugt."
+#: inc/Engine/Admin/Settings/Page.php:1250
+msgid "URLs to prefetch"
+msgstr "Vorzeitig aufzulösende URLs"
-#: inc/Engine/CriticalPath/APIClient.php:195
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1251
msgid ""
-"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
-"invalid response code."
+"Specify external hosts to be prefetched (no http:
, one per "
+"line)"
msgstr ""
-"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab "
-"einen ungültige Antwortcode zurück."
+"Vorzeitig aufzulösende externe Domains (kein http:
, eine pro "
+"Zeile)"
-#: inc/Engine/CriticalPath/APIClient.php:197
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1260
+msgid "Fonts to preload"
+msgstr "Vorzuladende Fonts"
+
+#: inc/Engine/Admin/Settings/Page.php:1261
msgid ""
-"Critical CSS for %1$s not generated. Error: The API returned an invalid "
-"response code."
+"Specify urls of the font files to be preloaded (one per line). Fonts must be"
+" hosted on your own domain, or the domain you have specified on the CDN tab."
msgstr ""
-"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab einen ungültige "
-"Antwortcode zurück."
+"URLs von Font-Dateien, die vorgeladen werden sollen (eine pro Zeile). Fonts "
+"müssen auf deiner eigenen Domain gehostet sein, oder auf der Domain, die du "
+"im CDN-Tab angegeben hast."
-#: inc/Engine/CriticalPath/APIClient.php:205
-#: inc/Engine/CriticalPath/ProcessorService.php:201
-#, php-format
-msgid "Error: %1$s"
-msgstr "Fehler: %1$s"
+#: inc/Engine/Admin/Settings/Page.php:1262
+msgid ""
+"The domain part of the URL will be stripped automatically. Allowed font "
+"extensions: otf, ttf, svg, woff, woff2."
+msgstr ""
+"Der Domain-Teil der URL wird automatisch entfernt. Mögliche Font-"
+"Dateiendungen sind: otf, ttf, svg, woff, woff2."
-#: inc/Engine/CriticalPath/Admin/Admin.php:264
-msgid "Regenerate Critical Path CSS"
-msgstr "Kritisches CSS neu generieren"
+#: inc/Engine/Admin/Settings/Page.php:1271
+msgid "Enable link preloading"
+msgstr "Vorladen von Links aktivieren"
-#: inc/Engine/CriticalPath/Admin/Post.php:144
-#: views/cpcss/metabox/generate.php:47
-msgid "Generate Specific CPCSS"
-msgstr "Spezifisches CPCSS erzeugen"
+#: inc/Engine/Admin/Settings/Page.php:1290
+msgid "Advanced Rules"
+msgstr "Erweiterte Regeln"
-#: inc/Engine/CriticalPath/Admin/Post.php:145
-#: views/cpcss/metabox/generate.php:45
-msgid "Regenerate specific CPCSS"
-msgstr "Spezifisches CPCSS neu erzeugen"
+#: inc/Engine/Admin/Settings/Page.php:1291
+msgid "Fine-tune cache rules"
+msgstr "Cache-Regeln abstimmen"
-#: inc/Engine/CriticalPath/Admin/Post.php:216
-msgid "This feature is not available for non-public post types."
+#: inc/Engine/Admin/Settings/Page.php:1302
+msgid ""
+"Sensitive pages like custom login/logout URLs should be excluded from cache."
msgstr ""
-"Diese Funktion ist für nicht-öffentliche Inhaltstypen nicht verfügbar."
-
-#: inc/Engine/CriticalPath/Admin/Post.php:219
-msgid "%l to use this feature."
-msgstr "%l, um diese Funktion zu nutzen."
+"Sensible Seiten, wie zum Beispiel eigene Login-/Logout-Seiten, sollten vom "
+"Cache ausgeschlossen werden."
-#: inc/Engine/CriticalPath/Admin/Post.php:222
-#, php-format
-msgid "Publish the %s"
-msgstr "%s veröffentlichen"
+#: inc/Engine/Admin/Settings/Page.php:1305
+msgctxt "plugin name"
+msgid "WooCommerce"
+msgstr "WooCommerce"
-#: inc/Engine/CriticalPath/Admin/Post.php:223
-msgid "Enable Load CSS asynchronously in WP Rocket settings"
-msgstr "Asynchrones Laden von CSS in den WP-Rocket-Einstellungen aktivieren"
+#: inc/Engine/Admin/Settings/Page.php:1307
+msgctxt "plugin name"
+msgid "Easy Digital Downloads"
+msgstr "Easy Digital Downloads"
-#: inc/Engine/CriticalPath/Admin/Post.php:224
-msgid "Enable Load CSS asynchronously in the options above"
-msgstr "Asynchrones Laden von CSS in den Optionen oben aktivieren"
+#: inc/Engine/Admin/Settings/Page.php:1309
+msgctxt "plugin name"
+msgid "iThemes Exchange"
+msgstr "iThemes Exchange"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176
-msgid "Critical CSS generation is currently running."
-msgstr "Kritisches CSS wird gerade neu erstellt."
+#: inc/Engine/Admin/Settings/Page.php:1311
+msgctxt "plugin name"
+msgid "Jigoshop"
+msgstr "Jigoshop"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181
-#, php-format
-msgid "Go to the %1$sWP Rocket settings%2$s page to track progress."
-msgstr ""
-"Gehe zu den %1$sEinstellungen von WP Rocket%2$s, um den Fortschritt zu "
-"beobachten."
+#: inc/Engine/Admin/Settings/Page.php:1313
+msgctxt "plugin name"
+msgid "WP-Shop"
+msgstr "WP-Shop"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396
-#, php-format
+#. translators: %1$s = opening tag, %2$s = plugin name, %3$s closing
+#. tag.
+#: inc/Engine/Admin/Settings/Page.php:1319
msgid ""
-"Critical CSS generation is currently running: %1$d of %2$d page types "
-"completed. (Refresh this page to view progress)"
+" Cart, checkout and \"my account\" pages set in "
+"%1$s%2$s%3$s will be detected and never cached by default."
msgstr ""
-"Kritisches CSS wird gerade neu erstellt: %1$d von %2$d Seiten-Typen "
-"komplett. (Seite neu laden für aktuellen Stand)"
+" Warenkorb-, Kassen- und „Mein Konto“-Seiten von "
+"%1$s%2$s%3$s werden automatisch ermittelt und nie gecacht."
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472
-#, php-format
-msgid "Critical CSS generation finished for %1$d of %2$d page types."
-msgstr "Kritisches CSS erstellt für %1$d von %2$d Seiten-Typen."
+#: inc/Engine/Admin/Settings/Page.php:1337
+msgid "Never Cache Cookies"
+msgstr "Nie cachen (Cookies)"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
-msgid "Critical CSS generation encountered one or more errors."
-msgstr ""
-"Bei der Erzeugung von Kritischem CSS sind ein oder mehr Fehler aufgetreten."
+#: inc/Engine/Admin/Settings/Page.php:1355
+msgid "Cache Query String(s)"
+msgstr "Cache für Query Strings"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
-msgid "Learn more."
-msgstr "Mehr erfahren."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1358
+msgid ""
+"%1$sCache for query strings%2$s enables you to force caching for specific "
+"GET parameters."
+msgstr "%1$sErstellt gesonderte Caches%2$s anhand bestimmter GET-Parameter."
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1369
msgid ""
-"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS "
-"optimization. Load CSS Asynchronously is always available as a back-up."
+"Specify URLs of pages or posts that should never be cached (one per line)"
msgstr ""
-"Wir empfehlen dringend das %1$saktualisierte Entfernen von unbenutzem "
-"CSS%2$s für eine bessere CSS-Optimierung. CSS-Dateien asynchron laden ist "
-"als Ersatz immer verfügbar."
+"URLs von Seiten oder Beiträgen, die niemals gecacht werden sollen (eine pro "
+"Zeile)"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845
-msgid "Stay with the old option"
-msgstr "Bei der alten Option bleiben"
+#: inc/Engine/Admin/Settings/Page.php:1370
+#: inc/Engine/Admin/Settings/Page.php:1398
+msgid ""
+"The domain part of the URL will be stripped automatically. Use (.*) "
+"wildcards to address multiple URLs under a given path."
+msgstr ""
+"Der Domain-Teil der URL wird automatisch entfernt. Nutze den Platzhalter "
+"(.*), um alle URLs eines bestimmten Pfades anzusprechen."
-#: inc/Engine/CriticalPath/DataManager.php:68
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1379
msgid ""
-"Critical CSS for %1$s on mobile not generated. Error: The destination folder"
-" could not be created."
+"Specify full or partial IDs of cookies that, when set in the visitor's "
+"browser, should prevent a page from getting cached (one per line)"
msgstr ""
-"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Der "
-"Zielordner konnte nicht erstellt werden."
+"Gib vollständige oder Teile von Cookie-IDs an, die das Caching einer Seite "
+"verhindern sollen, sobald sie im Browser des Besuchers gesetzt sind (eine "
+"pro Zeile)"
-#: inc/Engine/CriticalPath/DataManager.php:71
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1387
msgid ""
-"Critical CSS for %1$s not generated. Error: The destination folder could not"
-" be created."
+"Specify user agent strings that should never see cached pages (one per line)"
msgstr ""
-"Kritisches CSS für %1$s nicht erzeugt. Fehler: Der Zielordner konnte nicht "
-"erstellt werden."
+"User Agent Strings, die niemals gecachte Seiten sehen sollten (einer pro "
+"Zeile)"
-#: inc/Engine/CriticalPath/DataManager.php:106
-msgid "Critical CSS file for mobile does not exist"
-msgstr "Kritisches-CSS-Datei für Mobilgeräte existiert nicht"
+#: inc/Engine/Admin/Settings/Page.php:1388
+msgid "Use (.*) wildcards to detect parts of UA strings."
+msgstr "Nutze den Platzhalter (.*), um Teile von UA Strings zu ermitteln."
-#: inc/Engine/CriticalPath/DataManager.php:108
-msgid "Critical CSS file does not exist"
-msgstr "Kritisches-CSS-Datei existiert nicht"
+#: inc/Engine/Admin/Settings/Page.php:1397
+msgid ""
+"Specify URLs you always want purged from cache whenever you update any post "
+"or page (one per line)"
+msgstr ""
+"URLs, deren Cache immer mit gelöscht werden sollte, sobald andere Beiträge "
+"oder Seiten aktualisiert werden (eine pro Zeile)"
-#: inc/Engine/CriticalPath/DataManager.php:120
-msgid "Critical CSS file for mobile cannot be deleted"
-msgstr "Kritisches-CSS-Datei für Mobilgeräte kann nicht gelöscht werden"
+#: inc/Engine/Admin/Settings/Page.php:1406
+msgid "Specify query strings for caching (one per line)"
+msgstr "Query Strings, die gecacht werden sollen (einer pro Zeile)"
-#: inc/Engine/CriticalPath/DataManager.php:122
-msgid "Critical CSS file cannot be deleted"
-msgstr "Kritisches-CSS-Datei kann nicht gelöscht werden"
+#: inc/Engine/Admin/Settings/Page.php:1432
+msgid "Optimize, reduce bloat"
+msgstr "Aufräumen, optimieren"
-#: inc/Engine/CriticalPath/ProcessorService.php:187
-#, php-format
-msgid "Mobile Critical CSS for %1$s not generated."
-msgstr "Kritisches-CSS-Datei für Mobilgeräte für %1$s nicht erzeugt."
+#: inc/Engine/Admin/Settings/Page.php:1439
+msgid "Post Cleanup"
+msgstr "Beiträge/Seiten bereinigen"
-#: inc/Engine/CriticalPath/ProcessorService.php:228
-#, php-format
-msgid "Critical CSS for %s in progress."
-msgstr "Kritisches CSS für %s in Bearbeitung."
+#: inc/Engine/Admin/Settings/Page.php:1441
+msgid ""
+"Post revisions and drafts will be permanently deleted. Do not use this "
+"option if you need to retain revisions or drafts."
+msgstr ""
+"Revisionen, Entwürfe und Papierkorb werden endgültig gelöscht. Nicht "
+"aktivieren, wenn du Revisionen und Entwürfe noch benötigst!"
-#: inc/Engine/CriticalPath/ProcessorService.php:262
-#, php-format
-msgid "Mobile Critical CSS for %s generated."
-msgstr "Kritisches-CSS-Datei für Mobilgeräte für %s erzeugt."
+#: inc/Engine/Admin/Settings/Page.php:1446
+msgid "Comments Cleanup"
+msgstr "Kommentare bereinigen"
-#: inc/Engine/CriticalPath/ProcessorService.php:273
-#, php-format
-msgid "Critical CSS for %s generated."
-msgstr "Kritisches CSS für %s erstellt."
+#: inc/Engine/Admin/Settings/Page.php:1448
+msgid "Spam and trashed comments will be permanently deleted."
+msgstr "Spam und Kommentare im Papierkorb werden endgültig gelöscht."
-#: inc/Engine/CriticalPath/ProcessorService.php:295
-msgid "Critical CSS file deleted successfully."
-msgstr "Kritisches-CSS-Datei erfolgreich gelöscht."
+#: inc/Engine/Admin/Settings/Page.php:1452
+msgid "Transients Cleanup"
+msgstr "Transients bereinigen"
-#: inc/Engine/CriticalPath/ProcessorService.php:317
-#, php-format
-msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later."
+#: inc/Engine/Admin/Settings/Page.php:1454
+msgid ""
+"Transients are temporary options; they are safe to remove. They will be "
+"automatically regenerated as your plugins require them."
msgstr ""
-"Kritisches-CSS-Datei für Mobilgeräte für %1$s hat die Zeit überschritten. "
-"Bitte ein wenig später erneut versuchen."
+"Transients sind zeitlich begrenzte Optionen; sie können problemlos gelöscht "
+"werden. Sobald deine Plugins sie benötigen, werden sie automatisch erneut "
+"generiert."
-#: inc/Engine/CriticalPath/ProcessorService.php:330
-#, php-format
-msgid "Critical CSS for %1$s timeout. Please retry a little later."
-msgstr ""
-"Kritisches CSS für %1$s hat die Zeit überschritten. Bitte ein wenig später "
-"erneut versuchen."
+#: inc/Engine/Admin/Settings/Page.php:1458
+msgid "Database Cleanup"
+msgstr "Datenbank bereinigen"
-#: inc/Engine/CriticalPath/RESTWP.php:141
-msgid "Mobile CPCSS generation not enabled."
-msgstr "CPCSS-Erzeugung für Mobilgeräte nicht aktiviert."
+#: inc/Engine/Admin/Settings/Page.php:1460
+msgid "Reduces overhead of database tables"
+msgstr "Reduziert den Umfang von Datenbank-Tabellen."
-#: inc/Engine/CriticalPath/RESTWPPost.php:36
-#: inc/Engine/CriticalPath/RESTWPPost.php:69
-msgid "Requested post does not exist."
-msgstr "Angeforderter Beitrag existiert nicht."
+#: inc/Engine/Admin/Settings/Page.php:1464
+msgid "Automatic Cleanup"
+msgstr "Automatische Bereinigung"
-#: inc/Engine/CriticalPath/RESTWPPost.php:46
-msgid "Cannot generate CPCSS for unpublished post."
-msgstr "Kann kein CPCSS für unveröffentlichte Beiträge erzeugen."
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1477
+msgid "%s revision in your database."
+msgid_plural "%s revisions in your database."
+msgstr[0] "%s Revision in deiner Datenbank."
+msgstr[1] "%s Revisionen in deiner Datenbank."
-#: inc/Engine/HealthCheck/HealthCheck.php:82 inc/deprecated/3.5.php:858
-msgid ""
-"The following scheduled event failed to run. This may indicate the CRON "
-"system is not running properly, which can prevent some WP Rocket features "
-"from working as intended:"
-msgid_plural ""
-"The following scheduled events failed to run. This may indicate the CRON "
-"system is not running properly, which can prevent some WP Rocket features "
-"from working as intended:"
-msgstr[0] ""
-"Folgendes geplantes Ereigniss hat nicht stattgefunden. Dies könnte ein "
-"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu "
-"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht "
-"funktionieren:"
-msgstr[1] ""
-"Folgende geplante Ereignisse haben nicht stattgefunden. Dies könnte ein "
-"Hinweis darauf sein, dass das CRON-System nicht korrekt läuft, was dazu "
-"führen kann, dass manche Funktionen von WP Rocket nicht wie gewünscht "
-"funktionieren:"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1487
+msgid "%s draft in your database."
+msgid_plural "%s drafts in your database."
+msgstr[0] "%s Entwurf in deiner Datenbank."
+msgstr[1] "%s Entwürfe in deiner Datenbank."
-#: inc/Engine/HealthCheck/HealthCheck.php:88 inc/deprecated/3.5.php:867
-msgid "Please contact your host to check if CRON is working."
-msgstr "Bitte kontaktiere deinen Hoster, um zu prüfen, ob CRON funktioniert."
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1497
+msgid "%s trashed post in your database."
+msgid_plural "%s trashed posts in your database."
+msgstr[0] "%s gelöschter Beitrag in deiner Datenbank."
+msgstr[1] "%s gelöschte Beiträge in deiner Datenbank."
-#: inc/Engine/HealthCheck/HealthCheck.php:142
-msgid "Scheduled Cache Purge"
-msgstr "Geplantes Leeren des Caches"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1507
+msgid "%s spam comment in your database."
+msgid_plural "%s spam comments in your database."
+msgstr[0] "%s Spam-Kommentar in deiner Datenbank."
+msgstr[1] "%s Spam-Kommentare in deiner Datenbank."
-#: inc/Engine/HealthCheck/HealthCheck.php:143
-msgid "Scheduled Database Optimization"
-msgstr "Geplante Datenbank-Optimierung"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1517
+msgid "%s trashed comment in your database."
+msgid_plural "%s trashed comments in your database."
+msgstr[0] "%s gelöschter Kommentare in deiner Datenbank."
+msgstr[1] "%s gelöschte Kommentare in deiner Datenbank."
-#: inc/Engine/HealthCheck/HealthCheck.php:144
-msgid "Database Optimization Process"
-msgstr "Datenbank-Optimierungsprozess"
+#: inc/Engine/Admin/Settings/Page.php:1525
+msgid "All transients"
+msgstr "Alle Transients"
-#: inc/Engine/HealthCheck/HealthCheck.php:145
-msgctxt "noun"
-msgid "Preload"
-msgstr "Cache füllen"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1527
+msgid "%s transient in your database."
+msgid_plural "%s transients in your database."
+msgstr[0] "%s Transient in deiner Datenbank."
+msgstr[1] "%s Transients in deiner Datenbank."
-#: inc/Engine/HealthCheck/HealthCheck.php:146
-msgid "Critical Path CSS Generation Process"
-msgstr "Erzeugung des Kritischen-CSS-Pfads"
+#: inc/Engine/Admin/Settings/Page.php:1535
+msgid "Optimize Tables"
+msgstr "Tabellen optimieren"
-#: inc/Engine/License/Renewal.php:76
-#, php-format
-msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!"
-msgstr "Erneuere, bevor es zu spät ist, du bezahlst nur %1$s%2$s%3$s!"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1537
+msgid "%s table to optimize in your database."
+msgid_plural "%s tables to optimize in your database."
+msgstr[0] "%s Tabelle in deiner Datenbank kann optimiert werden."
+msgstr[1] "%s Tabellen in deiner Datenbank können optimiert werden."
-#: inc/Engine/License/Renewal.php:85
-#, php-format
-msgid ""
-"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
-"%4$s%5$s%6$s!"
-msgstr ""
-"Erneuere mit einen %1$s%2$s Rabatt%3$s, bevor es zu spät ist. Du bezahlst "
-"nur %4$s%5$s%6$s!"
+#: inc/Engine/Admin/Settings/Page.php:1548
+msgid "Schedule Automatic Cleanup"
+msgstr "Automatische Bereinigung terminieren"
-#: inc/Engine/License/Renewal.php:139
-#, php-format
-msgid "Renew your license for 1 year now at %1$s%3$s%2$s."
-msgstr "Erneuere deine Lizenz jetzt für 1 Jahr auf %1$s%3$s%2$s."
+#: inc/Engine/Admin/Settings/Page.php:1560
+msgid "Frequency"
+msgstr "Durchführung"
-#: inc/Engine/License/Renewal.php:152
-#, php-format
-msgid ""
-"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you "
-"will only pay %1$s%4$s%2$s!"
-msgstr ""
-"Erneuere deine Lizenz jetzt für 1 Jahr und erhalte sofort %1$s%3$s%2$s "
-"Rabatt: Du bezahlst nur %1$s%4$s%2$s!"
+#: inc/Engine/Admin/Settings/Page.php:1568
+msgid "Daily"
+msgstr "täglich"
-#: inc/Engine/License/Renewal.php:218
-#, php-format
-msgid "Renew before it is too late, you will pay %1$s%3$s%2$s."
-msgstr "Jetzt erneuern, bevor es zu spät ist. Du bezahlst nur %1$s%3$s%2$s."
+#: inc/Engine/Admin/Settings/Page.php:1569
+msgid "Weekly"
+msgstr "wöchentlich"
-#: inc/Engine/License/Renewal.php:227
-#, php-format
-msgid ""
-"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
-"%1$s%4$s%3$s!"
-msgstr ""
-"Erneuere mit einem %1$s%2$s Rabatt%3$s, bevor es zu spät ist, du bezahlst "
-"nur %1$s%4$s%3$s!"
+#: inc/Engine/Admin/Settings/Page.php:1570
+msgid "Monthly"
+msgstr "monatlich"
-#: inc/Engine/License/Renewal.php:546
-#, php-format
-msgid ""
-"You need a valid license to continue using this feature. %1$sRenew now%2$s "
-"before losing access."
-msgstr ""
-"Du benötigst eine gültige Lizenz, um diese Funktion weiter benutzen zu "
-"können. %1$sJetzt erneuern%2$s, bevor du den Zugang verlierst."
+#: inc/Engine/Admin/Settings/Page.php:1587
+msgid "Integrate your CDN"
+msgstr "CDN integrieren"
-#: inc/Engine/License/Renewal.php:567
-#, php-format
-msgid "You need an active license to enable this option. %1$sRenew now%2$s."
+#: inc/Engine/Admin/Settings/Page.php:1599
+msgid ""
+"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)"
+" you provide."
msgstr ""
-"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. %1$sJetzt"
-" erneuern%2$s."
+"Alle URLs statischer Dateien (CSS, JS, Bilder) werden auf den/die "
+"eingetragenen CNAME(s) umgeschrieben."
-#: inc/Engine/License/Renewal.php:595
-#, php-format
-msgid "You need an active license to enable this option. %1$sMore info%2$s."
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/Admin/Settings/Page.php:1601
+msgid ""
+"Not required for services like Cloudflare and Sucuri. Please see our "
+"available %1$sAdd-ons%2$s."
msgstr ""
-"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. "
-"%1$sWeitere Informationen%2$s."
+"Nicht erforderlich für Dienste wie Cloudflare und Sucuri. Bitte sieh dir "
+"unsere verfügbaren %1$sAdd-ons%2$s an."
-#: inc/Engine/License/Upgrade.php:252
-#, php-format
+#. translators: %1$s = opening em tag, %2$l = list of add-on name(s), %3$s =
+#. closing em tag.
+#: inc/Engine/Admin/Settings/Page.php:1647
msgid ""
-"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
-" for %3$supgrading your license to Plus or Infinite!%5$s"
+"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings "
+"is not required for %2$l to work on your site."
msgid_plural ""
-"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
-" for %3$supgrading your license to Infinite!%5$s"
+"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN "
+"settings is not required for %2$l to work on your site."
msgstr[0] ""
-"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen: "
-"%2$sErhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf "
-"Plus oder Infinite!%5$s"
+"%1$s%2$l Add-ons%3$s ist momentan aktiviert. Konfiguration der CDN-"
+"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu "
+"laufen."
msgstr[1] ""
-"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen:%2$s "
-"Erhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf "
-"Infinite!%5$s"
-
-#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405
-msgid "Unlimited"
-msgstr "Unbegrenzt"
-
-#: inc/Engine/License/views/promo-banner.php:16
-#, php-format
-msgid "%s off"
-msgstr "%s Rabatt"
-
-#: inc/Engine/License/views/promo-banner.php:21
-#, php-format
-msgid "%s promotion is live!"
-msgstr "%s Werbeaktion ist live!"
-
-#: inc/Engine/License/views/promo-banner.php:27
-msgid "Hurry Up! Deal ends in:"
-msgstr "Beeil dich! Das Angebot endet in:"
-
-#: inc/Engine/License/views/promo-banner.php:31
-#: inc/Engine/License/views/renewal-soon-banner.php:14
-msgid "Minutes"
-msgstr "Minuten"
-
-#: inc/Engine/License/views/promo-banner.php:32
-#: inc/Engine/License/views/renewal-soon-banner.php:15
-msgid "Seconds"
-msgstr "Sekunden"
-
-#: inc/Engine/License/views/promo-banner.php:34
-#: inc/Engine/License/views/upgrade-section.php:11
-msgid "Upgrade now"
-msgstr "Upgrade jetzt durchführen"
-
-#: inc/Engine/License/views/promo-banner.php:36
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42
-#: inc/Engine/License/views/renewal-expired-banner.php:30
-#: inc/admin/ui/notices.php:739 views/settings/page-sections/dashboard.php:46
-msgid "Dismiss this notice"
-msgstr "Diese Meldung ausblenden"
-
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11
-msgid "The Optimize CSS Delivery feature is disabled."
-msgstr "Die Funktion CSS-Darstellung optimieren ist deaktiviert."
-
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15
-msgid ""
-"You can no longer use the Remove Unused CSS or Load CSS asynchronously "
-"options."
-msgstr ""
-"Du kannst Unbenutztes CSS entfernen oder CSS-Dateien asynchron laden nicht "
-"länger benutzen."
-
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20
-#, php-format
-msgid ""
-"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, "
-"which addresses a PageSpeed Insights recommendation and improves your page "
-"performance."
-msgstr ""
-"Du benötigst eine %1$saktive Lizenz%2$s, um dein CSS weiter optimieren zu "
-"können. Dies ist eine Empfehlung von PageSpeed Insights und verbessert die "
-"Leistung deiner Seiten."
+"%1$s%2$l Add-ons%3$s sind momentan aktiviert. Konfiguration der CDN-"
+"Einstellungen ist nicht erforderlich für %2$l, um auf deiner Website zu "
+"laufen."
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39
-#: inc/Engine/License/views/renewal-expired-banner.php:27
-#: inc/Engine/License/views/renewal-soon-banner.php:31
-msgid "Renew now"
-msgstr "Jetzt erneuern"
+#: inc/Engine/Admin/Settings/Page.php:1673
+msgid "Enable Content Delivery Network"
+msgstr "Content Delivery Network aktivieren"
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11
-msgid "You will soon lose access to some features"
-msgstr "Du wirst bald den Zugang zu einigen Funktionen verlieren"
+#: inc/Engine/Admin/Settings/Page.php:1682
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159
+msgid "CDN CNAME(s)"
+msgstr "CDN CNAME(s)"
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1683
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160
+msgid "Specify the CNAME(s) below"
+msgstr "CNAME(s) des CDNs hier eintragen"
+
+#: inc/Engine/Admin/Settings/Page.php:1690
msgid ""
-"You need an %1$sactive license to continue optimizing your CSS delivery%2$s."
+"Specify URL(s) of files that should not get served via CDN (one per line)."
msgstr ""
-"Du benötigst eine %1$saktive Lizenz, um dein CSS weiter optimieren zu "
-"können%2$s."
+"URL(s) von Dateien, die nicht von einem CDN ausgeliefert werden sollen (eine"
+" pro Zeile)."
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24
+#: inc/Engine/Admin/Settings/Page.php:1691
msgid ""
-"The Remove Unused CSS and Load CSS asynchronously features are great options"
-" to address the PageSpeed Insights recommendations and improve your website "
-"performance."
+"The domain part of the URL will be stripped automatically. Use (.*) "
+"wildcards to exclude all files of a given file type located at a specific "
+"path."
msgstr ""
-"Die Funktionen Unbenutztes CSS entfernen und CSS-Dateien asynchron laden "
-"sind großartige Optionen, um Empfehlungen von PageSpeed Insights umzusetzen "
-"und die Leistung deiner Website zu verbessern."
-
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29
-#, php-format
-msgid "They will be %1$sautomatically disabled on %3$s%2$s."
-msgstr "Sie werden %1$sautomatisch deaktiviert am %3$s%2$s."
+"Der Domain-Teil der URL wird automatisch entfernt. Nutze den Platzhalter "
+"(.*), um alle URLs eines bestimmten Pfades anzusprechen."
-#: inc/Engine/License/views/renewal-expired-banner.php:11
-msgid "Your WP Rocket license is expired!"
-msgstr "Deine Lizenz für WP Rocket ist abgelaufen!"
+#: inc/Engine/Admin/Settings/Page.php:1714
+#: inc/Engine/Admin/Settings/Page.php:1722
+msgid "Heartbeat"
+msgstr "Heartbeat"
-#: inc/Engine/License/views/renewal-expired-banner.php:18
-#, php-format
-msgid ""
-"Your website could be much faster if it could take advantage of our %1$snew "
-"features and enhancements%2$s. 🚀"
-msgstr ""
-"Deine Website könnte viel schneller sein, wenn du die Vorteile unserer "
-"%1$sneuen Funktionen und Verbesserungen%2$s nutzen würdest. 🚀"
+#: inc/Engine/Admin/Settings/Page.php:1715
+msgid "Control WordPress Heartbeat API"
+msgstr "WordPress-Heartbeat-API kontrollieren"
-#: inc/Engine/License/views/renewal-soon-banner.php:22
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1723
msgid ""
-"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access"
-" to product updates and support."
+"Reducing or disabling the Heartbeat API’s activity can help save some of "
+"your server’s resources."
msgstr ""
-"Deine %1$sWP-Rocket-Lizenz läuft bald ab%2$s: Du verlierst bald den Zugang "
-"zu Produktaktualisierungen und Support."
+"Das Verringern oder Deaktivieren der Heartbeat-API-Aktivität kann dabei "
+"helfen, manche Ressourcen deines Servers einzusparen."
-#: inc/Engine/License/views/upgrade-popin.php:12
-msgid "Speed Up More Websites"
-msgstr "Weitere Websites beschleuigen"
+#: inc/Engine/Admin/Settings/Page.php:1729
+msgid "Reduce or disable Heartbeat activity"
+msgstr "Verringern oder Deaktivieren der Heartbeat-Aktivität"
-#: inc/Engine/License/views/upgrade-popin.php:19
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1730
msgid ""
-"You can use WP Rocket on more websites by upgrading your license. To "
-"upgrade, simply pay the %1$sprice difference%2$s between your current and "
-"new licenses, as shown below."
+"Reducing activity will change Heartbeat frequency from one hit each minute "
+"to one hit every 2 minutes."
msgstr ""
-"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner "
-"Lizenz durchführst. Um das zu tun, bezahle nur die%1$sPreisdifferenz%2$s "
-"zwischen deiner jetzigen und neuen Lizenzen, wie unten zu sehen."
+"Das Verringern der Aktivität wird die Heartbeat-Frequenz von einem Schlag "
+"pro Minute auf einen alle 2 Minuten verringern."
-#: inc/Engine/License/views/upgrade-popin.php:25
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1730
msgid ""
-"%1$sN.B.%2$s: Upgrading your license does not change your expiration date"
+"Disabling Heartbeat entirely may break plugins and themes using this API."
msgstr ""
-"%1$sHinweis%2$s: Ein Upgrade deiner Lizenz ändert das Ablaufdatum nicht"
+"Das Deaktivieren der Heartbeat-Aktivität kann dazu führen, dass Plugins und "
+"Themes, die diese API benutzen, nicht mehr funktionieren."
-#: inc/Engine/License/views/upgrade-popin.php:35
-#, php-format
-msgid "Save $%s"
-msgstr "$%s speichern"
+#: inc/Engine/Admin/Settings/Page.php:1744
+msgid "Do not limit"
+msgstr "Nicht beschränken"
-#: inc/Engine/License/views/upgrade-popin.php:48
-#, php-format
-msgid "%s websites"
-msgstr "%s Websites"
+#: inc/Engine/Admin/Settings/Page.php:1745
+msgid "Reduce activity"
+msgstr "Aktivität verringern"
-#: inc/Engine/License/views/upgrade-popin.php:54
-#, php-format
-msgid "Upgrade to %s"
-msgstr "Upgrade auf %s"
+#: inc/Engine/Admin/Settings/Page.php:1746
+msgid "Disable"
+msgstr "Deaktivieren"
-#: inc/Engine/License/views/upgrade-section.php:11
-msgid ""
-"You can use WP Rocket on more websites by upgrading your license (you will "
-"only pay the price difference between your current and new licenses)."
-msgstr ""
-"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner "
-"Lizenz durchführst (bezahle nur die Preisdifferenz zwischen deiner jetzigen"
-" und neuen Lizenzen)-"
+#: inc/Engine/Admin/Settings/Page.php:1754
+msgid "Control Heartbeat"
+msgstr "Heartbeat kontrollieren"
-#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195
-msgid "Analytics & Ads"
-msgstr "Analytics und Ads"
+#: inc/Engine/Admin/Settings/Page.php:1763
+msgid "Behavior in backend"
+msgstr "Verhalten im Backend"
-#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200
-msgid "Plugins"
-msgstr "Plugins"
+#: inc/Engine/Admin/Settings/Page.php:1770
+msgid "Behavior in post editor"
+msgstr "Verhalten im Beitragseditor"
-#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205
-msgid "Themes"
-msgstr "Themes"
+#: inc/Engine/Admin/Settings/Page.php:1776
+msgid "Behavior in frontend"
+msgstr "Verhalten im Frontend"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101
-msgid ""
-"You need an active license to get the latest version of the lists from our "
-"server."
-msgstr ""
-"Du benötigst eine aktive Lizenz, um die neueste Version der Listen von "
-"unseren Servern zu erhalten."
+#: inc/Engine/Admin/Settings/Page.php:1793
+#: views/settings/page-sections/tutorials.php:39
+msgid "Add-ons"
+msgstr "Add-ons"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115
-msgid "Could not get updated lists from server."
-msgstr "Konnte aktualisierte Listen nicht von Server abrufen."
+#: inc/Engine/Admin/Settings/Page.php:1794
+msgid "Add more features"
+msgstr "Erweiterungen aktivieren"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124
-msgid "Lists are up to date."
-msgstr "Listen sind aktuell."
+#: inc/Engine/Admin/Settings/Page.php:1801
+msgid "One-click Rocket Add-ons"
+msgstr "One-click Rocket Add-ons"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133
-msgid "Could not update lists."
-msgstr "Konnte Listen nicht aktualisieren."
+#: inc/Engine/Admin/Settings/Page.php:1802
+msgid ""
+"One-Click Add-ons are features extending available options without "
+"configuration needed. Switch the option \"on\" to enable from this screen."
+msgstr ""
+"One-Click Add-ons erweitern den Funktionsumfang ohne weitere Konfiguration. "
+"Aktiviere sie einfach, indem du den Schalter auf „An“ umlegst."
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142
-msgid "Lists are successfully updated."
-msgstr "Listen wurden erfolgreich aktualisiert."
+#: inc/Engine/Admin/Settings/Page.php:1812
+msgid "Rocket Add-ons"
+msgstr "Rocket Add-ons"
-#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:52
-msgid "Default Lists"
-msgstr "Standardlisten"
+#: inc/Engine/Admin/Settings/Page.php:1813
+msgid "Rocket Add-ons are complementary features extending available options."
+msgstr "Rocket Add-ons erweitern den Funktionsumfang um zusätzliche Features."
-#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:58
-msgid "Delay JavaScript Execution Exclusion Lists"
-msgstr "JavaScript-Ausführung verzögern Exklusions-Listen"
+#: inc/Engine/Admin/Settings/Page.php:1823
+#: inc/Engine/Admin/Settings/Page.php:1992
+msgid "Cloudflare"
+msgstr "Cloudflare"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131
-#: views/settings/page-sections/dashboard.php:188
-msgid "Clear Used CSS"
-msgstr "Benutztes CSS leeren"
+#: inc/Engine/Admin/Settings/Page.php:1829
+msgid "Integrate your Cloudflare account with this add-on."
+msgstr "Integriere dein Cloudflare-Konto mit diesem Add-on."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:219
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1830
msgid ""
-"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing "
-"your pages."
+"Provide your account email, global API key, and domain to use options such "
+"as clearing the Cloudflare cache and enabling optimal settings with WP "
+"Rocket."
msgstr ""
-"%1$s: Bitte warte %2$s Sekunden. Der Unbenutztes-CSS-entfernen-Dienst "
-"verarbeitet deine Seiten."
+"Damit du den Cloudflare-Cache leeren und die optimalen Einstellungen für WP "
+"Rocket auswählen kannst, gib hier die folgenden in deinem Cloudflare-Konto "
+"hinterlegten Daten ein: E-Mail-Adresse, globaler API-Schlüssel, Domain"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:264
-#, php-format
+#. translators: %1$s = opening span tag, %2$s = closing span tag.
+#: inc/Engine/Admin/Settings/Page.php:1833
msgid ""
-"%1$s: The Used CSS of your homepage has been processed. WP Rocket will "
-"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)."
+"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just "
+"activate the official Cloudflare plugin and configure it. WP Rocket will "
+"automatically enable compatibility."
msgstr ""
-"%1$s: Das benutzte CSS deiner Homepage wurde verarbeitet. WP Rocket wird "
-"benutztes CSS erzeugen für bis zu %2$s URLs pro %3$s Sekunde(n)."
+"%1$sPlanst du, Automatic Platform Optimization (APO) einzusetzen?%2$s "
+"Aktiviere einfach das offizielle Cloudflare-Plugin und konfiguriere es. WP "
+"Rocket wird automatisch für Kompatibilität sorgen."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:273
-#, php-format
-msgid "We suggest enabling %1$sPreload%2$s for the fastest results."
+#: inc/Engine/Admin/Settings/Page.php:1881
+msgid "Varnish"
+msgstr "Varnish"
+
+#: inc/Engine/Admin/Settings/Page.php:1887
+msgid "If Varnish runs on your server, you must activate this add-on."
msgstr ""
-"Wir empfehlen das Aktivieren von %1$sVorladen%2$s für die schnellsten "
-"Ergebnisse."
+"Du musst diese Einstellung aktivieren, wenn Varnish auf deinem Server aktiv "
+"ist."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283
-#, php-format
-msgid "To learn more about the process check our %1$sdocumentation%2$s."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1889
+msgid ""
+"Varnish cache will be purged each time WP Rocket clears its cache to ensure "
+"content is always up-to-date. %1$sLearn more%2$s"
msgstr ""
-"Um mehr über den Ablauf zu erfahren, lies unsere %1$sDokumentation%2$s."
+"Der Varnish-Cache wird automatisch jedes Mal geleert, wenn der Cache von WP "
+"Rocket geleert wird, damit er immer aktuell ist. %1$sMehr erfahren%2$s"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:481
+#: inc/Engine/Admin/Settings/Page.php:1924
+msgid "WebP Compatibility"
+msgstr "WebP-Kompatibilität"
+
+#: inc/Engine/Admin/Settings/Page.php:1930
+msgid "Improve browser compatibility for WebP images."
+msgstr "Browserkompatibilität für WebP-Bilder verbessern"
+
+#. translators: %1$s and %3$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1934
msgid ""
-"We couldn't generate the used CSS because you're using a nulled version of "
-"WP Rocket. You need an active license to use the Remove Unused CSS feature "
-"and further improve your website's performance."
+"Enable this option if you would like WP Rocket to serve WebP images to "
+"compatible browsers. Please note that WP Rocket cannot create WebP images "
+"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore "
+"info%2$s"
msgstr ""
-"Wir konnten das benutze CSS nicht erstellen, weil du eine nicht lizenzierte "
-"Version von WP Rocket benutzt. Du benötigst eine aktive Lizenz, um die "
-"Funktion Unbenutztes CSS entfernen benutzen zu können und die Leistung "
-"deiner Website damit noch weiter zu steigern."
+"Aktiviere diese Option, falls du möchtest, dass WP Rocket WebP-Bilder an "
+"kompatible Browser ausliefert. Bitte bedenke, dass WP Rocket keine WebP-"
+"Bilder für dich erstellen kann. Dür das Erstellen von WebP-Bildern empfehlen"
+" wir %1$sImagify%2$s. %3$sMehr erfahren%2$s"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:484
-#, php-format
-msgid "Click here to get a WP Rocket single license at %1$s off!"
+#: inc/Engine/Admin/Settings/Page.php:1954
+msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared."
+msgstr "Sucuri-Cache leeren, wenn der Cache von WP Rocket geleert wird."
+
+#: inc/Engine/Admin/Settings/Page.php:1957
+msgid ""
+"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is "
+"cleared."
msgstr ""
-"Klicke hier, um eine Lizenz für WP Rocket mit %1$s Rabbatt zu erhalten!"
+"Gib deinen API-Schlüssel an, um auch den Sucuri-Cache zu leeren, sobald der "
+"Cache von WP Rocket geleert wird."
+
+#: inc/Engine/Admin/Settings/Page.php:1965
+#: inc/Engine/Admin/Settings/Page.php:2109
+msgid "Sucuri"
+msgstr "Sucuri"
+
+#: inc/Engine/Admin/Settings/Page.php:1971
+msgid "Synchronize Sucuri cache with this add-on."
+msgstr "Sucuri-Cache mit diesem Add-on synchronisieren."
+
+#: inc/Engine/Admin/Settings/Page.php:2009
+msgid "Cloudflare credentials"
+msgstr "Cloudflare-Zugangsdaten"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:521
-#, php-format
-msgid ""
-"Could not create the %2$s table in the database which is necessary for the "
-"Remove Unused CSS feature to work. Please reach out to our "
-"support ."
-msgstr ""
-"Konnte die Tabelle %2$s in der Datenbank nicht erstellen. Diese ist "
-"erforderlich für die Funktion Unbenutztes CSS entfernen. Bitte wende dich an"
-" unseren Support ."
+#: inc/Engine/Admin/Settings/Page.php:2018
+msgid "Cloudflare settings"
+msgstr "Cloudflare-Einstellungen"
-#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:322
-#, php-format
-msgid "%1$s: Used CSS option is not enabled!"
-msgstr "%1$s: Option für benutztes CSS ist nicht aktiv!"
+#: inc/Engine/Admin/Settings/Page.php:2032
+msgctxt "Cloudflare"
+msgid "Global API key:"
+msgstr "Globaler API-Schlüssel:"
-#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:343
-#, php-format
-msgid "%1$s: Used CSS cache cleared!"
-msgstr "%1$s: Cache für benutztes CSS geleert!"
+#: inc/Engine/Admin/Settings/Page.php:2033
+msgctxt "Cloudflare"
+msgid "Find your API key"
+msgstr "API-Schlüssel finden"
-#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:776
-msgid "Clear Used CSS of this URL"
-msgstr "Benutztes CSS für diese URL leeren"
+#: inc/Engine/Admin/Settings/Page.php:2045
+msgctxt "Cloudflare"
+msgid "Account email"
+msgstr "E-Mail-Adresse des Kontos"
-#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160
-msgid "WP Rocket Remove Unused CSS pending jobs"
-msgstr "WP-Rocket-Unbenutztes-CSS-entfernen ausstehende Jobs"
+#: inc/Engine/Admin/Settings/Page.php:2054
+msgctxt "Cloudflare"
+msgid "Zone ID"
+msgstr "Zone ID"
-#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174
-msgid "WP Rocket clear Remove Unused CSS failed jobs"
-msgstr "WP Rocket - fehlgeschlagene Jobs für Unbenutztes CSS entfernen leeren"
+#: inc/Engine/Admin/Settings/Page.php:2064
+msgid "Development mode"
+msgstr "Entwicklungsmodus"
-#: inc/Engine/Plugin/UpdaterApiTools.php:32 inc/deprecated/3.3.php:761
-#: inc/deprecated/3.3.php:770
-#, php-format
+#. translators: %1$s = link opening tag, %2$s = link closing tag.
+#: inc/Engine/Admin/Settings/Page.php:2066
msgid ""
-"An unexpected error occurred. Something may be wrong with WP-Rocket.me or "
-"this server’s configuration. If you continue to have problems, contact support ."
+"Temporarily activate development mode on your website. This setting will "
+"automatically turn off after 3 hours. %1$sLearn more%2$s"
msgstr ""
-"Ein unerwarteter Fehler ist aufgetreten. Vielleicht ist etwas auf wp-"
-"rocket.me oder mit dieser Server-Einstellung schief gelaufen. Falls es "
-"weiterhin Probleme geben sollte, kontaktiere den Support ."
-
-#: inc/Engine/Plugin/UpdaterSubscriber.php:472
-#: inc/Engine/Plugin/UpdaterSubscriber.php:486
-#: inc/classes/class-wp-rocket-requirements-check.php:203
-#: inc/classes/class-wp-rocket-requirements-check.php:214
-#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251
-#, php-format
-msgid "%s Update Rollback"
-msgstr "%s Update zurückrollen"
+"Aktiviert vorübergehend den Entwicklungsmodus auf deiner Website. Diese "
+"Einstellung wird nach 3 Stunden automatisch deaktiviert. %1$sMehr "
+"erfahren%2$s"
-#: inc/Engine/Plugin/UpdaterSubscriber.php:509 inc/deprecated/3.11.php:279
-#, php-format
-msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s"
-msgstr "%1$sZurück zu WP Rocket%2$s oder %3$szur Plugins-Seite gehen%2$s"
+#: inc/Engine/Admin/Settings/Page.php:2074
+msgid "Optimal settings"
+msgstr "Optimale Einstellungen"
-#: inc/Engine/Preload/Admin/Settings.php:57
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:2075
msgid ""
-"%1$s: The preload service is now active. After the initial preload it will "
-"continue to cache all your pages whenever they are purged. No further action"
-" is needed."
+"Automatically enhances your Cloudflare configuration for speed, performance "
+"grade and compatibility."
msgstr ""
-"%1$s: Der Dienst zum Vorladen ist jetzt aktiv. Nach dem ersten Vorladen wird"
-" er all deine Seiten cachen, sobald sie bereinigt werden. Es ist keine "
-"weitere Aktion erforderlich."
-
-#: inc/Engine/Preload/Cron/Subscriber.php:138
-msgid "WP Rocket Preload pending jobs"
-msgstr "WP-Rocket-Vorladen ausstehende Jobs"
+"Verbessert deine Cloudflare-Konfiguration automatischen hinsichtlich "
+"Geschwindigkeit, Leistungsfähigkeit und Kompatibilität."
-#: inc/Engine/Preload/Cron/Subscriber.php:166
-msgid "WP Rocket Preload revert stuck failed jobs"
-msgstr "WP-Rocket-Vorladen setzt steckengebliebene Jobs zurück"
+#: inc/Engine/Admin/Settings/Page.php:2083
+msgid "Relative protocol"
+msgstr "Relatives Protokoll"
-#: inc/ThirdParty/Hostings/Cloudways.php:82
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:2084
msgid ""
-"Varnish auto-purge will be automatically enabled once Varnish is enabled on "
-"your %s server."
+"Should only be used with Cloudflare's flexible SSL feature. URLs of static "
+"files (CSS, JS, images) will be rewritten to use // instead of http:// or "
+"https://."
msgstr ""
-"Varnish-Auto-Leeren wird automatisch aktiviert, sobald Varnish auf deinem %s"
-" Server aktiviert ist."
+"Sollte ausschließlich mit Flexible SSL von Cloudflare genutzt werden. URLs "
+"statischer Dateien (CSS, JS, Bilder) werden auf // anstatt http:// oder "
+"https:// umgeschrieben."
-#: inc/ThirdParty/Hostings/Kinsta.php:158
-#, php-format
-msgid ""
-"Your installation seems to be missing core Kinsta files managing Cache "
-"clearing, which will prevent your Kinsta installation and WP Rocket from "
-"working correctly. Please get in touch with Kinsta support through your "
-"%1$sMyKinsta%2$s account to resolve this issue."
-msgstr ""
-"In deiner Installation fehlen scheinbar Kinsta-Core-Dateien für das Löschen "
-"des Caches. Dies verhindert das reibungslose Zusammenspiel zwischen Kinsta "
-"und WP Rocket. Kontaktiere bitte den Support bei Kinsta über dein "
-"%1$sMyKinsta%2$s-Konto, um dieses Problem zu lösen."
+#: inc/Engine/Admin/Settings/Page.php:2122
+msgid "Sucuri credentials"
+msgstr "Sucuri-Zugangsdaten"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:114
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:2135
+msgctxt "Sucuri"
msgid ""
-"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of "
-"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it."
+"Firewall API key (for plugin), must be in format {32 characters}/{32 "
+"characters}:"
msgstr ""
-"%1$s: HTTP/2 Server Push von Cloudflare ist mit den Funktionen zum Entfernen"
-" unbenötigten CSS und dem Zusammenfassen von CSS-Dateien nicht kompatibel. "
-"Wir empfehlen dringend, es zu deaktivieren."
+"Firewall-API-Schlüssel (für Plugin) muss das Format {32 Zeichen}/{32 "
+"Zeichen} aufweisen:"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:157
-msgid ""
-"Your site is using the official Cloudflare plugin. We have enabled "
-"Cloudflare auto-purge for compatibility. If you have APO activated, it is "
-"also compatible."
-msgstr ""
-"Deine Website benutzt das offizielle Cloudflare-Plugin. Wir haben das "
-"automatische Leeren für Cloudflare aus Kompatibilitätsgründen aktiviert. "
-"Wenn du APO aktiviert hast, ist es auch kompatibel."
+#: inc/Engine/Admin/Settings/Page.php:2136
+msgctxt "Sucuri"
+msgid "Find your API key"
+msgstr "API-Schlüssel finden"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:158
+#: inc/Engine/Admin/Settings/Settings.php:361
msgid ""
-"Cloudflare cache will be purged each time WP Rocket clears its cache to "
-"ensure content is always up-to-date."
+"Sucuri Add-on: The API key for the Sucuri firewall must be in format "
+"{32 characters}/{32 characters}
."
msgstr ""
-"Der Cloudflare-Cache wird jedes Mal geleert, wenn WP Rocket seinen Cache "
-"leert, damit Inhalte immer auf dem neuesten Stand sind."
+"Sucuri Add-on: Der API-Schlüssel für die Sucuri-Firewall muss im Format "
+"{32 Zeichen}/{32 Zeichen}
sein:"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:202
-#, php-format
+#: inc/Engine/Admin/Settings/Settings.php:667
msgid ""
-"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO "
-"is not yet compatible with that feature."
+"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved "
+"because it disables caching and optimizations for every page on your site."
msgstr ""
-"%1$sWP Rocket:%2$s Du nutzt den „Dynamischen Cookie-Cache\". Cloudflare-APO "
-"ist derzeit nicht mit dieser Funktion kompatibel."
+"Entschuldigung! Das Hinzufügen von /(.*) in Erweiterte Regeln > Nie cachen "
+"(URLs) wurde nicht gespeichert, weil es das Caching und die Optimierungen "
+"für jede Seite deiner Website deaktiviert."
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:208
-#, php-format
-msgid ""
-"You should either disable Cloudflare APO or check with the theme/plugin "
-"requiring the use of “Dynamic Cookies Cache” developers for an alternative "
-"way to be page-cache friendly. %1$sMore info%2$s"
-msgstr ""
-"Du solltest Cloudflare-APO entweder deaktivieren oder dich beim Anbieter des"
-" Themes/Plugins, das „Dynamischen Cookie-Cache“ erfordert nach alternativen "
-"Methoden erkundigen, das Caching von Seiten zu ermöglichen. %1$sMehr "
-"erfahren%2$s"
+#: inc/Engine/Admin/Settings/Subscriber.php:169
+msgid "Import, Export, Rollback"
+msgstr "Import, Export, Wiederherstellung"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:259
-#, php-format
-msgid ""
-"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile "
-"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on "
-"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s"
-msgstr ""
-"%1$sWP Rocket:%2$s Du benutzt die Funktion „Separater Cache für mobile "
-"Geräte“. Damit die richtige Version des Caches ausgeliefert wird, musst du "
-"die %3$sEinstellung%5$s „Cache nach Gerätetyp“ bei der Cloudflare-APO "
-"aktivieren. %4$sMehr erfahren%5$s"
+#: inc/Engine/Admin/Settings/Subscriber.php:194
+#: views/settings/page-sections/imagify.php:14
+msgid "Image Optimization"
+msgstr "Bildoptimierung"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:280
-#, php-format
-msgid ""
-"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare "
-"APO. If you judge it necessary for the website to have a different cache on "
-"mobile and desktop, we suggest you enable our “Separate Cache Files for "
-"Mobiles Devices” to ensure the generated cache is accurate."
-msgstr ""
-"%1$sWP Rocket:%2$s Du hast „Cache nach Gerätetyp“ bei der Cloudflare-APO "
-"aktiviert. Falls du es für die Website für notwendig hältst, verschiedene "
-"Caches für Mobilgeräte und Desktop zu haben, schlagen wir vor, „Separater "
-"Cache für mobile Geräte“ zu aktivieren, um sicherzustellen, dass der Cache "
-"korrekt erzeugt wird."
+#: inc/Engine/Admin/Settings/Subscriber.php:195
+msgid "Compress your images"
+msgstr "Komprimiere deine Bilder"
-#: inc/ThirdParty/Plugins/ModPagespeed.php:102
-#, php-format
-msgid ""
-"%1$s : Mod PageSpeed is not compatible with this plugin and "
-"may cause unexpected results. %2$sMore Info%3$s"
-msgstr ""
-"%1$s : Mod PageSpeed ist mit diesem Plugin nicht kompatibel "
-"und könnte unerwartete Ergebnisse verursachen. %2$sMehr erfahren%3$s"
+#: inc/Engine/Admin/Settings/Subscriber.php:212
+#: views/settings/page-sections/tutorials.php:48
+msgid "Tutorials"
+msgstr "Tutorials"
-#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:76
-#, php-format
-msgid ""
-"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript "
-"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will "
-"not be applied to the file it creates. We suggest disabling %1$sJavaScript "
-"Aggregation%2$s to take full advantage of Delay JavaScript Execution."
-msgstr ""
-"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum"
-" Zusammenführen von JavaScript aktiviert ist. WP Rocket's verzögerte "
-"Javascript-Ausführung wird nicht auf die erstellte Datei angewendet. Wir "
-"empfehlen, o.g. %1$sJavaScript-Zusammenführung%2$s zu deaktivieren, um alle "
-"Vorteile der verzögerten JavaScript-Ausführung zu erhalten."
+#: inc/Engine/Admin/Settings/Subscriber.php:213
+msgid "Getting started and how to videos"
+msgstr "Erste Schritte und Einführungsvideos"
-#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:131
-#, php-format
-msgid ""
-"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS "
-"feature is enabled. WP Rocket's Load CSS Asynchronously will not work "
-"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full "
-"advantage of Load CSS Asynchronously Execution."
-msgstr ""
-"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum"
-" Zusammenführen von Inline-CSS aktiviert ist. Das asynchrone Laden durch WP-"
-"Rocket wird nicht korrekt funktionieren. Wir empfehlen, o.g. "
-"%1$sZusammenführung von Inline-CSS%2$s zu deaktivieren, um alle Vorteile der"
-" asynchronen CSS-Ausführung durch WP Rocket voll auszuschöpfen."
+#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75
+msgid "WP Rocket Expired Cache Interval"
+msgstr "WP Rocket Cache-Ablaufzeit"
-#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45
-#, php-format
+#: inc/Engine/Cache/WPCache.php:337
+msgid "WP_CACHE value"
+msgstr "WP_CACHE-Wert"
+
+#: inc/Engine/Cache/WPCache.php:358
msgid ""
-"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and "
-"use %1$sEzoic's nameserver integration%2$s instead."
+"The WP_CACHE constant needs to be set to true for WP Rocket cache to work "
+"properly"
msgstr ""
-"Dieses Plugin blockiert das Caching und die Optimierungen von WP Rocket. "
-"Deaktivieren Sie es und verwenden Sie stattdessen die %1$sNameserver-"
-"Integration von Ezoic%2$s."
+"Die Konstante WP_CACHE muss auf true gesetzt sein, damit der Cache von WP "
+"Rocket korrekt funktioniert"
+
+#: inc/Engine/Cache/WPCache.php:367
+msgid "WP_CACHE is set to true"
+msgstr "WP_CACHE ist auf true eingestellt"
+
+#: inc/Engine/Cache/WPCache.php:375
+msgid "WP_CACHE is not set"
+msgstr "WP_CACHE ist nicht gesetzt"
+
+#: inc/Engine/Cache/WPCache.php:383
+msgid "WP_CACHE is set to false"
+msgstr "WP_CACHE ist auf false eingestellt"
+
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90
+msgid "Next Billing Date"
+msgstr "Nächste Rechnungsstellung"
+
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99
+msgid "No Subscription"
+msgstr "Kein Abonnement"
+
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135
+msgid "Your RocketCDN subscription is currently active."
+msgstr "Dein RocketCDN-Abonnement ist momentan aktiv."
+
+#. translators: %1$s = opening tag, %2$s = CDN URL, %3$s = closing
+#.
tag.
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141
+msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s."
+msgstr "Um RocketCDN zu benutzen, ersetze deinen CNAME mit %1$s%2$s%3$s."
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"Please deactivate the following %s option which conflicts with WP Rocket "
-"features:"
-msgid_plural ""
-"Please deactivate the following %s options which conflict with WP Rocket "
-"features:"
-msgstr[0] ""
-"Bitte deaktiviere die folgende %s Option, die mit Funktionen von WP Rocket "
-"kollidert:"
-msgstr[1] ""
-"Bitte deaktiviere die folgenden %s Optionen, die mit Funktionen von WP "
-"Rocket kollideren:"
+#. translators: %1$is = opening link tag, %2$s = closing link tag.
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152
+#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230
+#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334
+msgid "%1$sMore Info%2$s"
+msgstr "%1$sMehr erfahren%2$s"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151
-#, php-format
-msgctxt "Hummingbird notice"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:134
msgid ""
-"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s"
+"We could not fetch the current price because RocketCDN API returned an "
+"unexpected error code."
msgstr ""
-"%1$s %2$sdisable emoji%3$s kollidiert mit WP Rockets %2$sdisable emoji%3$s"
+"Wir konnten den aktuellen Preis nicht abrufen, weil die RocketCDN-API einen "
+"unerwarteten Fehlercode zurückgegeben hat."
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP "
-"compression%3$s"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:140
+msgid "RocketCDN is not available at the moment. Please retry later."
msgstr ""
-"%1$s %2$sGZIP-Komprimierung%3$s kollidiert mit WP Rocket %2$sGZIP-"
-"Komprimierung%3$s"
+"RocketCDN ist momentan nicht verfügbar. Bitte später erneut versuchen."
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser "
-"caching%3$s"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:177
+msgid "RocketCDN cache purge failed: Missing identifier parameter."
msgstr ""
-"%1$s %2$sBrowser-Caching%3$s kollidiert mit WP Rocket %2$sBrowser-"
-"Caching%3$s"
+"RocketCDN Cache leeren fehlgeschlagen: Fehlender Identifier-Parameter."
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s"
-msgstr ""
-"%1$s %2$sSeiten-Caching%3$s kollidiert mit WP Rocket %2$sSeiten-Caching%3$s"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:186
+msgid "RocketCDN cache purge failed: Missing user token."
+msgstr "RocketCDN Cache leeren fehlgeschlagen: Fehlendes Benutzer-Token."
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289
-#, php-format
-msgctxt "Hummingbird notice"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:212
msgid ""
-"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile "
-"optimization%3$s"
+"RocketCDN cache purge failed: The API returned an unexpected response code."
msgstr ""
-"%1$s %2$sasset optimization%3$s kollidiert mir WP Rockets %2$sDatei-"
-"Optimierung%3$s"
+"RocketCDN Cache leeren fehlgeschlagen: Die API gab einen unerwarteten "
+"Antwortcode zurück."
-#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38
-msgid ""
-"Remove Unused CSS is currently activated in Perfmatters. If you want to use "
-"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters."
+#: inc/Engine/CDN/RocketCDN/APIClient.php:221
+msgid "RocketCDN cache purge failed: The API returned an empty response."
msgstr ""
-"Unbenutztes-CSS-entfernen ist derzeit in Perfmatters aktiv. Falls du die "
-"Funktion Unbenutztes-CSS-entfernen von WP Rocket benutzen willst, "
-"deaktiviere diese Option in Perfmatters."
+"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine leere Antwort "
+"zurück."
-#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39
-msgid ""
-"Automated unused CSS removal is currently activated in RapidLoad Power-Up "
-"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, "
-"disable the RapidLoad Power-Up for Autoptimize plugin."
+#: inc/Engine/CDN/RocketCDN/APIClient.php:230
+msgid "RocketCDN cache purge failed: The API returned an unexpected response."
msgstr ""
-"Automatisiertes Entfernen von unbenutzem CSS ist derzeit in RapidLoad Power-"
-"Up for Autoptimize aktiviert. Falls du die Funktion Unbenutztes-CSS-"
-"entfernen von WP Rocket benutzen willst, deaktiviere das Plugin RapidLoad "
-"Power-Up for Autoptimize."
+"RocketCDN Cache leeren fehlgeschlagen: Die API gab eine unerwartete Antwort "
+"zurück."
-#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42
-#, php-format
-msgid ""
-"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s "
-"delay JS, disable %1$s"
-msgstr ""
-"JS verzögern ist momentan in %1$s aktiviert. Wenn du das Verzögern von JS "
-"von WP Rocket benutzen willst, deaktiviere %1$s"
+#. translators: %s = message returned by the API.
+#: inc/Engine/CDN/RocketCDN/APIClient.php:239
+msgid "RocketCDN cache purge failed: %s."
+msgstr "RocketCDN Cache leeren fehlgeschlagen: %s."
-#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126
-msgid "Smush"
-msgstr "Smush"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:247
+msgid "RocketCDN cache purge successful."
+msgstr "RocketCDN-Cache erfolgreich geleert."
-#: inc/ThirdParty/Themes/Avada.php:116
-msgid "Avada"
-msgstr "Avada"
+#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137
+msgid "RocketCDN enabled"
+msgstr "RocketCDN aktiviert"
-#: inc/admin/admin.php:18 inc/common/admin-bar.php:255
-#: inc/deprecated/deprecated.php:1787
-msgid "Support"
-msgstr "Hilfe"
+#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160
+msgid "RocketCDN disabled"
+msgstr "RocketCDN deaktiviert"
-#: inc/admin/admin.php:20
-msgid "Docs"
-msgstr "Dokumentation"
+#. Translators: %s = date formatted using date_i18n() and get_option(
+#. 'date_format' ).
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27
+msgid "Valid until %s only!"
+msgstr "Nur gültig bis %s!"
-#: inc/admin/admin.php:22 inc/common/admin-bar.php:243
-msgid "FAQ"
-msgstr "FAQ"
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36
+msgid "Speed up your website thanks to:"
+msgstr "Beschleunige deine Website dank:"
-#: inc/admin/admin.php:24 inc/common/admin-bar.php:63
-msgid "Settings"
-msgstr "Einstellungen"
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42
+msgid ""
+"High performance Content Delivery Network (CDN) with %1$sunlimited "
+"bandwidth%2$s"
+msgstr ""
+"Hochleistungs-Content-Delivery-Network (CDN) mit %1$sunbegrenzter "
+"Bandbreite%2$s"
-#: inc/admin/admin.php:458
-msgid "Settings import failed: you do not have the permissions to do this."
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48
+msgid ""
+"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied"
msgstr ""
-"Importieren der Einstellungen fehlgeschlagen: Dir fehlen die entsprechenden "
-"Berechtigungen."
+"Einfache Konfiguration: Die %1$sbesten CDN-Einstellungen%2$s werden "
+"automatisch angewendet"
-#: inc/admin/admin.php:462
-msgid "Settings import failed: no file uploaded."
-msgstr "Import fehlgeschlagen: keine Datei hochgeladen."
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54
+msgid ""
+"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in"
+" our plugin"
+msgstr ""
+"WP-Rocket-Integration: Die CDN-Option ist in unserem Plugin %1$sautomatisch "
+"konfiguriert%2$s"
-#: inc/admin/admin.php:466
-msgid "Settings import failed: incorrect filename."
-msgstr "Import fehlgeschlagen: nicht unterstützter Dateiname."
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58
+msgid "Learn more about RocketCDN"
+msgstr "Erfahre mehr über RocketCDN"
-#: inc/admin/admin.php:477
-msgid "Settings import failed: incorrect filetype."
-msgstr "Import fehlgeschlagen: nicht unterstütztes Dateiformat."
+#. translators: %1$s = discounted price, %2$s = regular price.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65
+msgid ""
+"*$%1$s/month for 12 months then $%2$s/month. You can cancel your "
+"subscription at any time."
+msgstr ""
+"*$%1$s/Monat für 12 Monate, danach $%2$s/Monat. Sie können Ihr Abonnement "
+"jederzeit kündigen."
-#: inc/admin/admin.php:487
-msgid "Settings import failed: "
-msgstr "Import der Einstellungen fehlgeschlagen: "
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86
+msgid "Billed monthly"
+msgstr "Monatliche Abrechnung"
-#: inc/admin/admin.php:503
-msgid "Settings import failed: unexpected file content."
-msgstr "Import der Einstellungen fehlgeschlagen: Unerwarteter Dateiinhalt."
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87
+msgid "Get Started"
+msgstr "Erste Schritte"
-#: inc/admin/admin.php:533
-msgid "Settings imported and saved."
-msgstr "Einstellungen importiert und gespeichert."
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92
+msgid "Reduce this banner"
+msgstr "Dieses Banner verkleinern"
-#: inc/admin/options.php:127
-msgid "Defer JavaScript Files"
-msgstr "JavaScript-Dateien aufschieben"
+#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17
+msgid ""
+"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network."
+msgstr ""
+"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery "
+"Network."
-#: inc/admin/options.php:128
-msgid "Excluded Delay JavaScript Files"
-msgstr "Ausgenommene verzögerte JavaScript-Dateien"
+#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20
+#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13
+msgid "Learn More"
+msgstr "Mehr erfahren"
-#: inc/admin/options.php:150
-#, php-format
-msgid "%1$s: %2$s "
-msgstr "%1$s: %2$s "
+#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23
+msgid "RocketCDN is unavailable on local domains and staging sites."
+msgstr "RocketCDN ist nicht für lokale Domains und Staging-Sites verfügbar."
-#: inc/admin/options.php:160
-msgid "The following pattern is invalid and has been removed:"
-msgid_plural "The following patterns are invalid and have been removed:"
-msgstr[0] "Folgendes Muster ist ungültig und wurde entfernt:"
-msgstr[1] "Folgende Muster sind ungültig und wurden entfernt:"
+#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32
+msgid "Get RocketCDN"
+msgstr "Hol dir RocketCDN"
-#: inc/admin/options.php:176
-msgid "More info"
-msgstr "Mehr erfahren"
+#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11
+msgid "New!"
+msgstr "Neu!"
-#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:748
-#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136
-#: views/settings/page-sections/dashboard.php:150
-msgid "Clear cache"
-msgstr "Cache leeren"
+#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12
+msgid ""
+"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!"
+msgstr ""
+"Beschleunige deine Website mit RocketCDN, WP Rockets Content Delivery "
+"Network!"
-#: inc/admin/ui/meta-boxes.php:67
-msgid "WP Rocket Options"
-msgstr "WP-Rocket-Optionen"
+#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253
+msgid "Every minute"
+msgstr "Jede Minute"
-#: inc/admin/ui/meta-boxes.php:96
-msgid "Never cache this page"
-msgstr "Diese Seite niemals cachen"
+#: inc/Engine/CriticalPath/Admin/Admin.php:264
+msgid "Regenerate Critical Path CSS"
+msgstr "Kritisches CSS neu generieren"
-#: inc/admin/ui/meta-boxes.php:100
-msgid "Activate these options on this post:"
-msgstr "Aktiviere diese Einstellungen für diesen Beitrag:"
+#: inc/Engine/CriticalPath/Admin/Post.php:144
+#: views/cpcss/metabox/generate.php:47
+msgid "Generate Specific CPCSS"
+msgstr "Spezifisches CPCSS erzeugen"
-#: inc/admin/ui/meta-boxes.php:103
-msgid "LazyLoad for images"
-msgstr "LazyLoad für Bilder"
+#: inc/Engine/CriticalPath/Admin/Post.php:145
+#: views/cpcss/metabox/generate.php:45
+msgid "Regenerate specific CPCSS"
+msgstr "Spezifisches CPCSS neu erzeugen"
+
+#: inc/Engine/CriticalPath/Admin/Post.php:216
+msgid "This feature is not available for non-public post types."
+msgstr ""
+"Diese Funktion ist für nicht-öffentliche Inhaltstypen nicht verfügbar."
-#: inc/admin/ui/meta-boxes.php:104
-msgid "LazyLoad for iframes/videos"
-msgstr "LazyLoad für iframes und Videos"
+#: inc/Engine/CriticalPath/Admin/Post.php:219
+msgid "%l to use this feature."
+msgstr "%l, um diese Funktion zu nutzen."
-#: inc/admin/ui/meta-boxes.php:105
-msgid "Minify CSS"
-msgstr "CSS minifizieren"
+#. translators: %s = post type.
+#: inc/Engine/CriticalPath/Admin/Post.php:222
+msgid "Publish the %s"
+msgstr "%s veröffentlichen"
-#: inc/admin/ui/meta-boxes.php:107
-msgid "Minify/combine JS"
-msgstr "JS minifizieren/zusammenfassen"
+#. translators: %s = post type.
+#: inc/Engine/CriticalPath/Admin/Post.php:223
+msgid "Enable Load CSS asynchronously in WP Rocket settings"
+msgstr "Asynchrones Laden von CSS in den WP-Rocket-Einstellungen aktivieren"
-#: inc/admin/ui/meta-boxes.php:110
-msgid "Defer JS"
-msgstr "Verzögertes JS (defer)"
+#: inc/Engine/CriticalPath/Admin/Post.php:224
+msgid "Enable Load CSS asynchronously in the options above"
+msgstr "Asynchrones Laden von CSS in den Optionen oben aktivieren"
-#: inc/admin/ui/meta-boxes.php:117
-#, php-format
-msgid "Activate first the %s option."
-msgstr "Aktiviere zuerst die Einstellung %s."
+#. translators: %1$s = type of content, %2$s = error message.
+#: inc/Engine/CriticalPath/APIClient.php:64
+msgid "Critical CSS for %1$s not generated. Error: %2$s"
+msgstr "Kritisches CSS für %1$s nicht erstellt. Fehler: %2$s"
-#: inc/admin/ui/meta-boxes.php:133
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/APIClient.php:170
msgid ""
-"%1$sNote:%2$s None of these options will be applied if this post has been "
-"excluded from cache in the global cache settings."
+"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
+"empty response."
msgstr ""
-"%1$sHinweis:%2$s Keine dieser Optionen wird angewendet, falls dieser Beitrag"
-" in den globalen Cache-Einstellungen vom Cache ausgenommen wurde."
+"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab "
+"eine leere Antwort zurück."
-#: inc/admin/ui/notices.php:31 inc/admin/ui/notices.php:44
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/APIClient.php:173
msgid ""
-"%1$s has not been deactivated due to missing writing permissions. \n"
-"Make %2$s writeable and retry deactivation, or force deactivation now:"
+"Critical CSS for %1$s not generated. Error: The API returned an empty "
+"response."
msgstr ""
-"%1$s wurde nicht aktiviert wegen fehlender Schreibrechte. \n"
-"Erteile Schreibrechte für %2$s und versuche die Deaktivierung erneut, oder forciere die Deaktivierung jetzt:"
+"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab eine leere "
+"Antwort zurück."
-#: inc/admin/ui/notices.php:97
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/APIClient.php:185
+msgid "Critical CSS for %1$s on mobile not generated."
+msgstr "Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt."
+
+#. translators: %s = item URL.
+#. translators: %1$s = item URL or item type.
+#: inc/Engine/CriticalPath/APIClient.php:187
+#: inc/Engine/CriticalPath/ProcessorService.php:194
+msgid "Critical CSS for %1$s not generated."
+msgstr "Kritisches CSS für %1$s nicht erzeugt."
+
+#. translators: %s = URL.
+#: inc/Engine/CriticalPath/APIClient.php:195
msgid ""
-"%s : One or more plugins have been enabled or disabled, "
-"clear the cache if they affect the front end of your site."
+"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
+"invalid response code."
msgstr ""
-"%s : Plugin(s) aktiviert oder deaktiviert. Falls dies die "
-"Darstellung deiner Website betrifft, lösche jetzt den Cache."
+"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Die API gab "
+"einen ungültige Antwortcode zurück."
-#: inc/admin/ui/notices.php:218
-#, php-format
+#. translators: %s = URL.
+#: inc/Engine/CriticalPath/APIClient.php:197
msgid ""
-"%s : The following plugins are not compatible with this "
-"plugin and may cause unexpected results:"
+"Critical CSS for %1$s not generated. Error: The API returned an invalid "
+"response code."
msgstr ""
-"%s : Folgende Plugins sind mit diesem Plugin nicht "
-"kompatibel und können unerwartete Ergebnisse hervorrufen:"
+"Kritisches CSS für %1$s nicht erzeugt. Fehler: Die API gab einen ungültige "
+"Antwortcode zurück."
-#: inc/admin/ui/notices.php:224
-msgid "Deactivate"
-msgstr "Deaktivieren"
+#. translators: %1$s = error message.
+#: inc/Engine/CriticalPath/APIClient.php:205
+#: inc/Engine/CriticalPath/ProcessorService.php:201
+msgid "Error: %1$s"
+msgstr "Fehler: %1$s"
-#: inc/admin/ui/notices.php:266
-msgid ""
-"WP Rocket Footer JS is not an official add-on. It prevents some options in "
-"WP Rocket from working correctly. Please deactivate it if you have problems."
-msgstr ""
-"WP Rocket Footer JS ist kein offizielles Add-on. Es verhindert, dass manche "
-"Optionen in WP Rocket korrekt funktionieren. Bitte deaktiviere es, falls du"
-" Probleme damit hast."
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176
+msgid "Critical CSS generation is currently running."
+msgstr "Kritisches CSS wird gerade neu erstellt."
-#: inc/admin/ui/notices.php:306
-#, php-format
-msgid ""
-"Endurance Cache is currently enabled, which will conflict with WP Rocket "
-"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the "
-"%1$sSettings > General%2$s page to prevent any issues."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181
+msgid "Go to the %1$sWP Rocket settings%2$s page to track progress."
msgstr ""
-"Endurance Cache ist momentan aktiviert, was Probleme mit dem Cache von WP "
-"Rocket verursacht. Bitte stelle den Endurance Cache cache level auf der "
-"Seite %1$sEinstellungen > Allgemein%2$sauf „Aus“ (Level 0), um Probleme zu "
-"verhindern."
+"Gehe zu den %1$sEinstellungen von WP Rocket%2$s, um den Fortschritt zu "
+"beobachten."
-#: inc/admin/ui/notices.php:327
-#, php-format
+#. Translators: %1$d = number of critical CSS generated, %2$d = total number
+#. of critical CSS to generate.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396
msgid ""
-"%1$s: A custom permalink structure is required for the plugin to work "
-"properly. %2$sGo to permalinks settings%3$s"
+"Critical CSS generation is currently running: %1$d of %2$d page types "
+"completed. (Refresh this page to view progress)"
msgstr ""
-"%1$s: Eine angepasste Permalink-Struktur ist erforderlich für die korrekte "
-"Funktionsweise des Plugins. %2$sPermalink-Einstellungen aufrufen%3$s"
+"Kritisches CSS wird gerade neu erstellt: %1$d von %2$d Seiten-Typen "
+"komplett. (Seite neu laden für aktuellen Stand)"
-#: inc/admin/ui/notices.php:374
-#, php-format
-msgid ""
-"%s could not modify the .htaccess file due to missing writing permissions."
-msgstr ""
-"%s konnte die .htaccess-Datei nicht ändern aufgrund fehlender "
-"Schreibberechtigungen."
+#. Translators: %1$d = number of critical CSS generated, %2$d = total number
+#. of critical CSS to generate.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472
+msgid "Critical CSS generation finished for %1$d of %2$d page types."
+msgstr "Kritisches CSS erstellt für %1$d von %2$d Seiten-Typen."
-#: inc/admin/ui/notices.php:380 inc/admin/ui/notices.php:843
-#, php-format
-msgid "Troubleshoot: %1$sHow to make system files writeable%2$s"
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
+msgid "Critical CSS generation encountered one or more errors."
msgstr ""
-"Fehlerbehebung: %1$sFehlende Schreibrechte für System-Dateien beheben%2$s"
+"Bei der Erzeugung von Kritischem CSS sind ein oder mehr Fehler aufgetreten."
-#: inc/admin/ui/notices.php:382 inc/admin/ui/notices.php:845
-msgid ""
-"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-"
-"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket"
-msgstr ""
-"https://de.docs.wp-rocket.me/article/1042-fehlende-schreibrechte-fuer-"
-"system-dateien-beheben-htaccess-wp-"
-"configphp?utm_source=wp_plugin&utm_medium=wp_rocket"
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
+msgid "Learn more."
+msgstr "Mehr erfahren."
-#: inc/admin/ui/notices.php:388
+#. translators: %1$ = opening bold tag, %2$ = closing bold tag.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840
msgid ""
-"Don’t worry, WP Rocket’s page caching and settings will still function "
-"correctly."
+"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS "
+"optimization. Load CSS Asynchronously is always available as a back-up."
msgstr ""
-"Keine Bange. Das Cachen der Seiten durch WP Rocket und die Einstellungen "
-"werden weiterhin korrekt funktionieren."
+"Wir empfehlen dringend das %1$saktualisierte Entfernen von unbenutzem "
+"CSS%2$s für eine bessere CSS-Optimierung. CSS-Dateien asynchron laden ist "
+"als Ersatz immer verfügbar."
-#: inc/admin/ui/notices.php:388
-msgid ""
-"For optimal performance, adding the following lines into your .htaccess is "
-"recommended (not required):"
-msgstr ""
-"Für optimale Leistung wird das Hinzufügen folgender Zeilen in deine "
-".htaccess-Datei empfohlen (nicht erforderlich):"
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845
+msgid "Stay with the old option"
+msgstr "Bei der alten Option bleiben"
-#: inc/admin/ui/notices.php:535
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/DataManager.php:68
msgid ""
-"%1$s is good to go! %2$sTest your load time%4$s, or visit your "
-"%3$ssettings%4$s."
+"Critical CSS for %1$s on mobile not generated. Error: The destination folder"
+" could not be created."
msgstr ""
-"%1$s ist fertig aktiviert! %2$sTeste deine Ladezeiten%4$s, oder schau dir "
-"deine %3$sEinstellungen%4$s an."
+"Kritisches CSS für %1$s auf Mobilgeräten nicht erzeugt. Fehler: Der "
+"Zielordner konnte nicht erstellt werden."
-#: inc/admin/ui/notices.php:576
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/DataManager.php:71
msgid ""
-"Would you allow WP Rocket to collect non-sensitive diagnostic data from this"
-" website?"
+"Critical CSS for %1$s not generated. Error: The destination folder could not"
+" be created."
msgstr ""
-"Würdest du WP Rocket erlauben, anonymisierte technische Daten von dieser "
-"Website zu sammeln?"
+"Kritisches CSS für %1$s nicht erzeugt. Fehler: Der Zielordner konnte nicht "
+"erstellt werden."
-#: inc/admin/ui/notices.php:577
-msgid "This would help us to improve WP Rocket for you in the future."
-msgstr ""
-"Das würde uns dabei unterstützen, WP Rocket in Zukunft weiter zu verbessern."
+#: inc/Engine/CriticalPath/DataManager.php:106
+msgid "Critical CSS file for mobile does not exist"
+msgstr "Kritisches-CSS-Datei für Mobilgeräte existiert nicht"
-#: inc/admin/ui/notices.php:583
-msgid "What info will we collect?"
-msgstr "Um welche Art Daten geht es genau?"
+#: inc/Engine/CriticalPath/DataManager.php:108
+msgid "Critical CSS file does not exist"
+msgstr "Kritisches-CSS-Datei existiert nicht"
-#: inc/admin/ui/notices.php:588
-msgid ""
-"Below is a detailed view of all data WP Rocket will collect if granted "
-"permission. WP Rocket will never transmit any domain names or email "
-"addresses (except for license validation), IP addresses, or third-party API "
-"keys."
-msgstr ""
-"Hier findest du eine genaue Auflistung der Daten, die WP Rocket nach Hause "
-"sendet, wenn du die Erlaubnis dazu erteilst. WP Rocket wird niemals Domain-"
-"Namen, E-Mail-Adressen (außer zur Lizenzprüfung), IP-Adressen oder API-"
-"Schlüssel von Drittanbietern übermitteln."
+#: inc/Engine/CriticalPath/DataManager.php:120
+msgid "Critical CSS file for mobile cannot be deleted"
+msgstr "Kritisches-CSS-Datei für Mobilgeräte kann nicht gelöscht werden"
-#: inc/admin/ui/notices.php:597
-msgid "Yes, allow"
-msgstr "Ja, erlauben"
+#: inc/Engine/CriticalPath/DataManager.php:122
+msgid "Critical CSS file cannot be deleted"
+msgstr "Kritisches-CSS-Datei kann nicht gelöscht werden"
-#: inc/admin/ui/notices.php:600
-msgid "No, thanks"
-msgstr "Nein, danke"
+#. translators: %1$s = item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:187
+msgid "Mobile Critical CSS for %1$s not generated."
+msgstr "Kritisches-CSS-Datei für Mobilgeräte für %1$s nicht erzeugt."
-#: inc/admin/ui/notices.php:639
-msgid "Thank you!"
-msgstr "Danke!"
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:228
+msgid "Critical CSS for %s in progress."
+msgstr "Kritisches CSS für %s in Bearbeitung."
-#: inc/admin/ui/notices.php:644
-msgid "WP Rocket now collects these metrics from your website:"
-msgstr "WP Rocket erhebt jetzt die folgenden Kennzahlen von deiner Website:"
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:262
+msgid "Mobile Critical CSS for %s generated."
+msgstr "Kritisches-CSS-Datei für Mobilgeräte für %s erzeugt."
-#: inc/admin/ui/notices.php:682
-#, php-format
-msgid "%s: Cache cleared."
-msgstr "%s: Cache geleert."
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:273
+msgid "Critical CSS for %s generated."
+msgstr "Kritisches CSS für %s erstellt."
-#: inc/admin/ui/notices.php:689
-#, php-format
-msgid "%s: Post cache cleared."
-msgstr "%s: Cache für Beitrag/Seite geleert."
+#: inc/Engine/CriticalPath/ProcessorService.php:295
+msgid "Critical CSS file deleted successfully."
+msgstr "Kritisches-CSS-Datei erfolgreich gelöscht."
-#: inc/admin/ui/notices.php:696
-#, php-format
-msgid "%s: Term cache cleared."
-msgstr "%s: Cache für Begriff geleert."
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:317
+msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later."
+msgstr ""
+"Kritisches-CSS-Datei für Mobilgeräte für %1$s hat die Zeit überschritten. "
+"Bitte ein wenig später erneut versuchen."
-#: inc/admin/ui/notices.php:703
-#, php-format
-msgid "%s: User cache cleared."
-msgstr "%s: Cache für Benutzer/-in geleert."
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:330
+msgid "Critical CSS for %1$s timeout. Please retry a little later."
+msgstr ""
+"Kritisches CSS für %1$s hat die Zeit überschritten. Bitte ein wenig später "
+"erneut versuchen."
-#: inc/admin/ui/notices.php:751
-msgid "Stop Preload"
-msgstr "Vorladen beenden"
+#: inc/Engine/CriticalPath/RESTWP.php:141
+msgid "Mobile CPCSS generation not enabled."
+msgstr "CPCSS-Erzeugung für Mobilgeräte nicht aktiviert."
-#: inc/admin/ui/notices.php:757
-msgid "Turn on Remove Unused CSS"
-msgstr "Unbenutztes CSS entfernen aktivieren"
+#: inc/Engine/CriticalPath/RESTWPPost.php:36
+#: inc/Engine/CriticalPath/RESTWPPost.php:69
+msgid "Requested post does not exist."
+msgstr "Angeforderter Beitrag existiert nicht."
-#: inc/admin/ui/notices.php:763
-msgid "Enable “Separate Cache Files for Mobile Devices” now"
-msgstr "„Separater Cache für mobile Geräte“ jetzt aktivieren"
+#: inc/Engine/CriticalPath/RESTWPPost.php:46
+msgid "Cannot generate CPCSS for unpublished post."
+msgstr "Kann kein CPCSS für unveröffentlichte Beiträge erzeugen."
-#: inc/admin/ui/notices.php:781
-msgid "Force deactivation "
-msgstr "Deaktivierung forcieren"
+#: inc/Engine/HealthCheck/HealthCheck.php:142
+msgid "Scheduled Cache Purge"
+msgstr "Geplantes Leeren des Caches"
-#: inc/admin/ui/notices.php:800
-msgid "The following code should have been written to this file:"
-msgstr "Folgender Code hätte in diese Datei geschrieben werden sollen:"
+#: inc/Engine/HealthCheck/HealthCheck.php:143
+msgid "Scheduled Database Optimization"
+msgstr "Geplante Datenbank-Optimierung"
-#: inc/admin/ui/notices.php:831
-#, php-format
-msgid "%s cannot configure itself due to missing writing permissions."
-msgstr ""
-"%s kann sich wegen fehlender Schreibrechte nicht selbst konfigurieren."
+#: inc/Engine/HealthCheck/HealthCheck.php:144
+msgid "Database Optimization Process"
+msgstr "Datenbank-Optimierungsprozess"
-#: inc/admin/ui/notices.php:837
-#, php-format
-msgid "Affected file/folder: %s"
-msgstr "Betroffene Dateien/Ordner: %s"
+#: inc/Engine/HealthCheck/HealthCheck.php:145
+msgctxt "noun"
+msgid "Preload"
+msgstr "Cache füllen"
-#: inc/classes/admin/class-logs.php:124
-msgid "The debug file could not be deleted."
-msgstr "Die Fehlerbehebungs-Protokolldatei konnte nicht gelöscht werden."
+#: inc/Engine/HealthCheck/HealthCheck.php:146
+msgid "Critical Path CSS Generation Process"
+msgstr "Erzeugung des Kritischen-CSS-Pfads"
-#: inc/classes/class-wp-rocket-requirements-check.php:147
-#, php-format
-msgid "To function properly, %1$s %2$s requires at least:"
-msgstr "Um richtig zu funktionieren, erfordert %1$s %2$s mindestens:"
+#. translators: %1$s = , %2$s = price, %3$s = .
+#: inc/Engine/License/Renewal.php:76
+msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!"
+msgstr "Erneuere, bevor es zu spät ist, du bezahlst nur %1$s%2$s%3$s!"
-#: inc/classes/class-wp-rocket-requirements-check.php:151
-#, php-format
+#. translators: %1$s = , %2$s = discount, %3$s = ,%4$s =
+#. , %5$s = price, %6$s= .
+#: inc/Engine/License/Renewal.php:85
msgid ""
-"PHP %1$s. To use this WP Rocket version, please ask your web host how to "
-"upgrade your server to PHP %1$s or higher."
+"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
+"%4$s%5$s%6$s!"
msgstr ""
-"PHP %1$s. Um diese Version von WP Rocket zu nutzen, frage bei deinem "
-"Webhosting nach einer Aktualisierung deines Servers auf PHP %1$s oder höher."
+"Erneuere mit einen %1$s%2$s Rabatt%3$s, bevor es zu spät ist. Du bezahlst "
+"nur %4$s%5$s%6$s!"
-#: inc/classes/class-wp-rocket-requirements-check.php:156
-#, php-format
-msgid ""
-"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to "
-"version %1$s or higher."
-msgstr ""
-"WordPress %1$s. Um diese Version von WP Rocket zu nutzen, aktualisiere "
-"WordPress auf version %1$s oder höher."
+#. translators: %1$s = , %2$s = , %3$s = price.
+#: inc/Engine/License/Renewal.php:139
+msgid "Renew your license for 1 year now at %1$s%3$s%2$s."
+msgstr "Erneuere deine Lizenz jetzt für 1 Jahr auf %1$s%3$s%2$s."
-#: inc/classes/class-wp-rocket-requirements-check.php:159
+#. translators: %1$s = , %2$s = , %3$s = discount percentage,
+#. %4$s = price.
+#: inc/Engine/License/Renewal.php:152
msgid ""
-"If you are not able to upgrade, you can rollback to the previous version by "
-"using the button below."
+"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you "
+"will only pay %1$s%4$s%2$s!"
msgstr ""
-"Wenn eine Aktualisierung nicht möglich ist, kannst du das Button weiter "
-"unten klicken, um die vorherige Version von WP Rocket wiederherzustellen."
+"Erneuere deine Lizenz jetzt für 1 Jahr und erhalte sofort %1$s%3$s%2$s "
+"Rabatt: Du bezahlst nur %1$s%4$s%2$s!"
-#: inc/classes/class-wp-rocket-requirements-check.php:161
-#: inc/deprecated/deprecated.php:1947
-#, php-format
-msgid "Re-install version %s"
-msgstr " Version %s wiederherstellen"
+#. translators: %1$s = , %2$s = , %3$s = discount price.
+#: inc/Engine/License/Renewal.php:218
+msgid "Renew before it is too late, you will pay %1$s%3$s%2$s."
+msgstr "Jetzt erneuern, bevor es zu spät ist. Du bezahlst nur %1$s%3$s%2$s."
-#: inc/classes/dependencies/wp-media/background-processing/wp-background-process.php:447
-#, php-format
-msgid "Every %d Minutes"
-msgstr "Alle %d Minuten"
+#. translators: %1$s = , %2$s = discount percentage, %3$s = ,
+#. %4$s = discount price.
+#: inc/Engine/License/Renewal.php:227
+msgid ""
+"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
+"%1$s%4$s%3$s!"
+msgstr ""
+"Erneuere mit einem %1$s%2$s Rabatt%3$s, bevor es zu spät ist, du bezahlst "
+"nur %1$s%4$s%3$s!"
-#: inc/classes/logger/class-logger.php:260
-#: inc/classes/logger/class-logger.php:292
-msgid "The log file does not exist."
-msgstr "Es existiert keine Protokolldatei."
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/Renewal.php:546
+msgid ""
+"You need a valid license to continue using this feature. %1$sRenew now%2$s "
+"before losing access."
+msgstr ""
+"Du benötigst eine gültige Lizenz, um diese Funktion weiter benutzen zu "
+"können. %1$sJetzt erneuern%2$s, bevor du den Zugang verlierst."
-#: inc/classes/logger/class-logger.php:266
-#: inc/classes/logger/class-logger.php:298
-msgid "The log file could not be read."
-msgstr "Die Protokolldatei konnte nicht gelesen werden."
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/Renewal.php:567
+msgid "You need an active license to enable this option. %1$sRenew now%2$s."
+msgstr ""
+"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. %1$sJetzt"
+" erneuern%2$s."
-#: inc/classes/logger/class-logger.php:285
-msgid "The logs are not saved into a file."
-msgstr "Das Protokoll wurde nicht in eine Datei gespeichert."
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/Renewal.php:595
+msgid "You need an active license to enable this option. %1$sMore info%2$s."
+msgstr ""
+"Du benötigst eine gültige Lizenz, um diese Funktion zu aktivieren. "
+"%1$sWeitere Informationen%2$s."
-#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151
-#, php-format
+#. translators: %1$s = promotion name, %2$s = , %3$s = , %4$s =
+#. promotion discount percentage, %5$s = .
+#: inc/Engine/License/Upgrade.php:251
msgid ""
-"Failed to detect the following requirement in your theme: closing %1$s."
+"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
+" for %3$supgrading your license to Plus or Infinite!%5$s"
msgid_plural ""
-"Failed to detect the following requirements in your theme: closing %1$s."
+"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
+" for %3$supgrading your license to Infinite!%5$s"
msgstr[0] ""
-"Erkennung des folgenden Erfordernisses in deinem Theme fehlgeschlagen: "
-"Schließe %1$s."
+"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen: "
+"%2$sErhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf "
+"Plus oder Infinite!%5$s"
msgstr[1] ""
-"Erkennung der folgenden Erfordernisse in deinem Theme fehlgeschlagen: "
-"Schließe %1$s."
-
-#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159
-msgid ""
-"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
-"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
-msgstr ""
-"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
-"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
-
-#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136
-#: views/settings/page-sections/dashboard.php:150
-msgid "Clear and preload cache"
-msgstr "Cache leeren und vorladen"
-
-#: inc/common/admin-bar.php:124 inc/functions/i18n.php:41
-#: inc/functions/i18n.php:51
-msgid "All languages"
-msgstr "Alle Sprachen"
+"Nutze den Vorteil von %1$s, um mehrere Websites zu beschleunigen:%2$s "
+"Erhalte einen%3$s%4$s Rabatt%5$s für %3$sein Upgrade deiner Lizenz auf "
+"Infinite!%5$s"
-#: inc/common/admin-bar.php:160
-msgid "Clear this post"
-msgstr "Lösche diesen Eintrag"
+#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405
+msgid "Unlimited"
+msgstr "Unbegrenzt"
-#: inc/common/admin-bar.php:174
-msgid "Purge this URL"
-msgstr "Entferne diese URL aus dem Cache"
+#. translators: %s = promotion discount percentage.
+#: inc/Engine/License/views/promo-banner.php:16
+msgid "%s off"
+msgstr "%s Rabatt"
-#: inc/common/admin-bar.php:194
-msgid "Purge Sucuri cache"
-msgstr "Sucuri-Cache leeren"
+#. translators: %s = promotion name.
+#: inc/Engine/License/views/promo-banner.php:21
+msgid "%s promotion is live!"
+msgstr "%s Werbeaktion ist live!"
-#: inc/common/admin-bar.php:218 views/settings/fields/rocket-cdn.php:55
-msgid "Purge RocketCDN cache"
-msgstr "RocketCDN-Cache leeren"
+#: inc/Engine/License/views/promo-banner.php:27
+msgid "Hurry Up! Deal ends in:"
+msgstr "Beeil dich! Das Angebot endet in:"
-#: inc/common/admin-bar.php:231 views/settings/partials/documentation.php:14
-msgid "Documentation"
-msgstr "Dokumentation"
+#: inc/Engine/License/views/promo-banner.php:31
+#: inc/Engine/License/views/renewal-soon-banner.php:14
+msgid "Minutes"
+msgstr "Minuten"
-#: inc/deprecated/3.10.php:163
-msgid "OPcache purge failed."
-msgstr "OPcache leeren fehlgeschlagen."
+#: inc/Engine/License/views/promo-banner.php:32
+#: inc/Engine/License/views/renewal-soon-banner.php:15
+msgid "Seconds"
+msgstr "Sekunden"
-#: inc/deprecated/3.10.php:168
-msgid "OPcache successfully purged"
-msgstr "OPcache erfolgreich geleert"
+#: inc/Engine/License/views/promo-banner.php:34
+#: inc/Engine/License/views/upgrade-section.php:11
+msgid "Upgrade now"
+msgstr "Upgrade jetzt durchführen"
-#: inc/deprecated/3.11.php:81
-msgid "Yoast SEO XML sitemap"
-msgstr "Yoast SEO XML Sitemap"
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11
+msgid "The Optimize CSS Delivery feature is disabled."
+msgstr "Die Funktion CSS-Darstellung optimieren ist deaktiviert."
-#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58
-#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186
-#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342
-#, php-format
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15
msgid ""
-"We automatically detected the sitemap generated by the %s plugin. You can "
-"check the option to preload it."
+"You can no longer use the Remove Unused CSS or Load CSS asynchronously "
+"options."
msgstr ""
-"Offensichtlich existiert eine durch das Plugin %s generierte Sitemap. "
-"Aktiviere diese Option, um den Cache damit zu füllen."
-
-#: inc/deprecated/3.12.php:56
-msgid "All in One SEO XML sitemap"
-msgstr "All in One SEO XML Sitemap"
-
-#: inc/deprecated/3.12.php:85
-msgid "Rank Math XML sitemap"
-msgstr "Rank Math XML Sitemap"
-
-#: inc/deprecated/3.12.php:184
-msgid "SEOPress XML sitemap"
-msgstr "SEOPress XML Sitemap"
-
-#: inc/deprecated/3.12.php:251
-msgid "The SEO Framework XML sitemap"
-msgstr "The SEO Framework XML Sitemap"
-
-#: inc/deprecated/3.12.php:332
-msgid "Jetpack XML Sitemaps"
-msgstr "Jetpack XML Sitemaps"
+"Du kannst Unbenutztes CSS entfernen oder CSS-Dateien asynchron laden nicht "
+"länger benutzen."
-#: inc/deprecated/3.12.php:334
-msgid "Preload the sitemap from the Jetpack plugin"
-msgstr "Cache füllen via Jetpack-Sitemap"
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20
+msgid ""
+"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, "
+"which addresses a PageSpeed Insights recommendation and improves your page "
+"performance."
+msgstr ""
+"Du benötigst eine %1$saktive Lizenz%2$s, um dein CSS weiter optimieren zu "
+"können. Dies ist eine Empfehlung von PageSpeed Insights und verbessert die "
+"Leistung deiner Seiten."
-#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36
-msgid "Activate Imagify"
-msgstr "Imagify aktivieren"
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39
+#: inc/Engine/License/views/renewal-expired-banner.php:27
+#: inc/Engine/License/views/renewal-soon-banner.php:31
+msgid "Renew now"
+msgstr "Jetzt erneuern"
-#: inc/deprecated/3.2.php:52
-msgid "Install Imagify for Free"
-msgstr "Imagify kostenfrei installieren"
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11
+msgid "You will soon lose access to some features"
+msgstr "Du wirst bald den Zugang zu einigen Funktionen verlieren"
-#: inc/deprecated/3.2.php:67
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18
msgid ""
-"Speed up your website and boost your SEO by reducing image file sizes "
-"without losing quality with Imagify."
+"You need an %1$sactive license to continue optimizing your CSS delivery%2$s."
msgstr ""
-"Beschleunige deine Website und booste dein SEO, indem du deine Bilder mit "
-"Imagify verlustfrei optimierst."
-
-#: inc/deprecated/3.2.php:72
-msgid "More details"
-msgstr "Weitere Einzelheiten"
-
-#: inc/deprecated/3.2.php:228
-#, php-format
-msgid "Sitemap preload: %d pages have been cached."
-msgstr "Sitemap-Preload: %d Seiten gecacht."
+"Du benötigst eine %1$saktive Lizenz, um dein CSS weiter optimieren zu "
+"können%2$s."
-#: inc/deprecated/3.2.php:261
-#, php-format
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24
msgid ""
-"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see "
-"progress)"
+"The Remove Unused CSS and Load CSS asynchronously features are great options"
+" to address the PageSpeed Insights recommendations and improve your website "
+"performance."
msgstr ""
-"Sitemap-Preload: %d Seiten wurden bis jetzt in den Cache geladen. (Seite "
-"neu laden für aktuellen Stand)"
+"Die Funktionen Unbenutztes CSS entfernen und CSS-Dateien asynchron laden "
+"sind großartige Optionen, um Empfehlungen von PageSpeed Insights umzusetzen "
+"und die Leistung deiner Website zu verbessern."
-#: inc/deprecated/3.4.php:18
-msgid "Choose a domain from the list"
-msgstr "Wähle eine Domain aus der Liste"
+#. translators: %1$s = , %2$s = , %3$s = date.
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29
+msgid "They will be %1$sautomatically disabled on %3$s%2$s."
+msgstr "Sie werden %1$sautomatisch deaktiviert am %3$s%2$s."
-#: inc/deprecated/3.4.php:31
-msgid "No domain available in your Cloudflare account"
-msgstr "Keine Domain in deinem Cloudflare-Konto verfügbar"
+#: inc/Engine/License/views/renewal-expired-banner.php:11
+msgid "Your WP Rocket license is expired!"
+msgstr "Deine Lizenz für WP Rocket ist abgelaufen!"
-#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-expired-banner.php:18
msgid ""
-"Curl is disabled on your server. Please ask your host to enable it. This is "
-"required for the Cloudflare Add-on to work correctly."
+"Your website could be much faster if it could take advantage of our %1$snew "
+"features and enhancements%2$s. 🚀"
msgstr ""
-"Curl ist auf deinem Server deaktiviert. Bitte deinen Hoster, es zu "
-"aktivieren. Dies ist erforderlich, damit das Cloudflare Add-on korrekt "
-"funktioniert."
+"Deine Website könnte viel schneller sein, wenn du die Vorteile unserer "
+"%1$sneuen Funktionen und Verbesserungen%2$s nutzen würdest. 🚀"
-#: inc/deprecated/3.5.php:79
-#, php-format
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-soon-banner.php:22
msgid ""
-"Cloudflare email, API key and Zone ID are not set. Read the "
-"%1$sdocumentation%2$s for further guidance."
+"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access"
+" to product updates and support."
msgstr ""
-"Cloudflare-E-Mail, API-Schlüssel und Zone ID sind nicht eingestellt. Lies "
-"die %1$sDokumentation%2$s für weitere Anleitung."
+"Deine %1$sWP-Rocket-Lizenz läuft bald ab%2$s: Du verlierst bald den Zugang "
+"zu Produktaktualisierungen und Support."
-#: inc/deprecated/3.5.php:206
-#, php-format
+#: inc/Engine/License/views/upgrade-popin.php:12
+msgid "Speed Up More Websites"
+msgstr "Weitere Websites beschleuigen"
+
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/License/views/upgrade-popin.php:19
msgid ""
-"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for"
-" further guidance."
+"You can use WP Rocket on more websites by upgrading your license. To "
+"upgrade, simply pay the %1$sprice difference%2$s between your current and "
+"new licenses, as shown below."
msgstr ""
-"Cloudflare-E-Mail und API-Schlüssel sind nicht eingestellt. Lies die "
-"%1$sDokumentation%2$s für weitere Anleitung."
+"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner "
+"Lizenz durchführst. Um das zu tun, bezahle nur die%1$sPreisdifferenz%2$s "
+"zwischen deiner jetzigen und neuen Lizenzen, wie unten zu sehen."
-#: inc/deprecated/3.5.php:271
-msgid "Connection to Cloudflare failed"
-msgstr "Keine Verbindung mit Cloudflare möglich"
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/License/views/upgrade-popin.php:25
+msgid ""
+"%1$sN.B.%2$s: Upgrading your license does not change your expiration date"
+msgstr ""
+"%1$sHinweis%2$s: Ein Upgrade deiner Lizenz ändert das Ablaufdatum nicht"
-#: inc/deprecated/3.5.php:587
-#, php-format
-msgid "WP Rocket: %s"
-msgstr "WP Rocket: %s"
+#. translators: %s = price.
+#: inc/Engine/License/views/upgrade-popin.php:35
+msgid "Save $%s"
+msgstr "$%s speichern"
-#: inc/deprecated/3.5.php:592
-msgid "WP Rocket: Cloudflare cache successfully purged."
-msgstr "WP Rocket: Cloudflare-Cache erfolgreich geleert."
+#. translators: %s = number of websites.
+#: inc/Engine/License/views/upgrade-popin.php:48
+msgid "%s websites"
+msgstr "%s Websites"
-#: inc/deprecated/DeprecatedClassTrait.php:54
-#, php-format
-msgid ""
-"The called class %1$s is deprecated since version %2$s! Use"
-" %3$s instead."
-msgstr ""
-"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!"
-" Benutze %3$s stattdessen."
+#. translators: %s = license name.
+#: inc/Engine/License/views/upgrade-popin.php:54
+msgid "Upgrade to %s"
+msgstr "Upgrade auf %s"
-#: inc/deprecated/DeprecatedClassTrait.php:65
-#, php-format
+#: inc/Engine/License/views/upgrade-section.php:11
msgid ""
-"The called class %1$s is deprecated since version %2$s!"
+"You can use WP Rocket on more websites by upgrading your license (you will "
+"only pay the price difference between your current and new licenses)."
msgstr ""
-"Die aufgerufene Klasse %1$s ist veraltet seit Version %2$s!"
+"Du kannst WP Rocket auf mehr Websites benutzen, wenn du ein Upgrade deiner "
+"Lizenz durchführst (bezahle nur die Preisdifferenz zwischen deiner jetzigen"
+" und neuen Lizenzen)-"
-#: inc/deprecated/deprecated.php:240
-msgid "JS files with Deferred Loading JavaScript"
-msgstr "JS -Dateien mit verzögert geladenem JavaScript"
+#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45
+msgid "LazyLoad CSS backgrounds"
+msgstr "LazyLoad für CSS-Hintergründe"
-#: inc/deprecated/deprecated.php:293
-msgid "Add URL"
-msgstr "URL hinzufügen"
+#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195
+msgid "Analytics & Ads"
+msgstr "Analytics und Ads"
-#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22
+#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200
+msgid "Plugins"
+msgstr "Plugins"
+
+#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205
+msgid "Themes"
+msgstr "Themes"
+
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101
msgid ""
-"Before you can upload your import file, you will need to fix the following "
-"error:"
+"You need an active license to get the latest version of the lists from our "
+"server."
msgstr ""
-"Bevor du deine Einstellungsdatei importieren kannst, musst du den folgenden "
-"Fehler korrigieren."
+"Du benötigst eine aktive Lizenz, um die neueste Version der Listen von "
+"unseren Servern zu erhalten."
-#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35
-#, php-format
-msgid "Choose a file from your computer (maximum size: %s)"
-msgstr "Wähle eine Datei von deinem Computer (maximale Größe: %s)"
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115
+msgid "Could not get updated lists from server."
+msgstr "Konnte aktualisierte Listen nicht von Server abrufen."
-#: inc/deprecated/deprecated.php:1385
-msgid "Your Cloudflare credentials are valid."
-msgstr "Deine Cloudflare-Zugangsdaten sind gültig."
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124
+msgid "Lists are up to date."
+msgstr "Listen sind aktuell."
-#: inc/deprecated/deprecated.php:1389
-msgid "Your Cloudflare credentials are invalid!"
-msgstr "Deine Cloudflare-Zugangsdaten sind ungültig."
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133
+msgid "Could not update lists."
+msgstr "Konnte Listen nicht aktualisieren."
-#: inc/deprecated/deprecated.php:1453
-msgid "Save and optimize"
-msgstr "Speichern und optimieren"
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142
+msgid "Lists are successfully updated."
+msgstr "Listen wurden erfolgreich aktualisiert."
-#: inc/deprecated/deprecated.php:1453
-msgid "Optimize"
-msgstr "Optimieren"
+#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:60
+msgid "Default Lists"
+msgstr "Standardlisten"
-#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666
-msgctxt "screen-reader-text"
-msgid "Note:"
-msgstr "Hinweis:"
+#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:66
+msgid "Delay JavaScript Execution Exclusion Lists"
+msgstr "JavaScript-Ausführung verzögern Exklusions-Listen"
-#: inc/deprecated/deprecated.php:1470
-msgctxt "screen-reader-text"
-msgid "Performance tip:"
-msgstr "Performance-Tipp:"
+#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:72
+msgid "Incompatible plugins Lists"
+msgstr "Liste inkompatibler Plugins"
-#: inc/deprecated/deprecated.php:1476
-msgctxt "screen-reader-text"
-msgid "Third-party feature detected:"
-msgstr "Drittanbieter-Funktion ermittelt:"
+#. translators: %1$s = plugin name, %2$s = number of seconds.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224
+msgid ""
+"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing "
+"your pages."
+msgstr ""
+"%1$s: Bitte warte %2$s Sekunden. Der Unbenutztes-CSS-entfernen-Dienst "
+"verarbeitet deine Seiten."
-#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672
-msgctxt "screen-reader-text"
-msgid "Warning:"
-msgstr "Warnung:"
+#. translators: %1$s = plugin name, %2$s = number of URLs, %3$s = number of
+#. seconds.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274
+msgid ""
+"%1$s: The Used CSS of your homepage has been processed. WP Rocket will "
+"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)."
+msgstr ""
+"%1$s: Das benutzte CSS deiner Homepage wurde verarbeitet. WP Rocket wird "
+"benutztes CSS erzeugen für bis zu %2$s URLs pro %3$s Sekunde(n)."
-#: inc/deprecated/deprecated.php:1501
-msgctxt "button text"
-msgid "Download settings"
-msgstr "Einstellungen herunterladen"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283
+msgid "We suggest enabling %1$sPreload%2$s for the fastest results."
+msgstr ""
+"Wir empfehlen das Aktivieren von %1$sVorladen%2$s für die schnellsten "
+"Ergebnisse."
-#: inc/deprecated/deprecated.php:1531
-msgid "Replace site's hostname with:"
-msgstr "Ersetze den Hostnamen der Seite mit:"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293
+msgid "To learn more about the process check our %1$sdocumentation%2$s."
+msgstr ""
+"Um mehr über den Ablauf zu erfahren, lies unsere %1$sDokumentation%2$s."
-#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587
-#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41
-#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105
-msgid "reserved for"
-msgstr "reserviert für"
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443
+msgid ""
+"We couldn't generate the used CSS because you're using a nulled version of "
+"WP Rocket. You need an active license to use the Remove Unused CSS feature "
+"and further improve your website's performance."
+msgstr ""
+"Wir konnten das benutze CSS nicht erstellen, weil du eine nicht lizenzierte "
+"Version von WP Rocket benutzt. Du benötigst eine aktive Lizenz, um die "
+"Funktion Unbenutztes CSS entfernen benutzen zu können und die Leistung "
+"deiner Website damit noch weiter zu steigern."
-#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589
-#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44
-#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108
-msgid "All files"
-msgstr "Alle Dateien"
+#. translators: %1$s = promo percentage.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446
+msgid "Click here to get a WP Rocket single license at %1$s off!"
+msgstr ""
+"Klicke hier, um eine Lizenz für WP Rocket mit %1$s Rabbatt zu erhalten!"
-#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594
-#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56
-#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120
-msgid "Images"
-msgstr "Bilder"
+#. translators: %1$s = open tag, %2$s = closing tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499
+msgid ""
+"It seems a security plugin or the server's firewall prevents WP Rocket from "
+"accessing the Remove Unused CSS generator. IPs listed %1$shere in our "
+"documentation%2$s should be added to your allowlists:"
+msgstr ""
+"Scheinbar verhindert ein Sicherheitsplugin oder die Firewall des Servers, "
+"dass WP Rocket auf den Generator zur Entfernung von unbenutztem CSS "
+"zugreifen kann. Die %1$shier in unserer Dokumentation%2$s aufgelisteten IPs "
+"sollten zugänglich gemacht werden:"
-#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132
-msgid "Add CNAME"
-msgstr "CNAME hinzufügen"
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504
+msgid "- In the security plugin, if you are using one"
+msgstr "- Im Sicherheitsplugin, falls du eines benutzt"
-#: inc/deprecated/deprecated.php:1706
-msgid "Watch the video"
-msgstr "Video ansehen."
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505
+msgid "- In the server's firewall. Your host can help you with this"
+msgstr "- In der Firewall des Servers. Dein Hoster kann dir dabei helfen"
-#: inc/deprecated/deprecated.php:1771
-msgid "Basic"
-msgstr "Basis"
+#. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag,
+#. %4$s = closing tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545
+msgid ""
+"%1$s: Could not create the %2$s table in the database which is necessary for"
+" the Remove Unused CSS feature to work. Please reach out to %3$sour "
+"support%4$s."
+msgstr ""
+"%1$s: Die Datenbanktabelle %2$s konnte nicht erstellt werden, welche "
+"notwendig ist für die Funktion zum Entfernen von unbenutztem CSS. Bitte "
+"wende dich an %3$sunseren Support%4$s."
-#: inc/deprecated/deprecated.php:1772
-msgid "Static Files"
-msgstr "Statische Dateien"
+#. translators: %1$s = plugin name.
+#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314
+msgid "%1$s: Used CSS option is not enabled!"
+msgstr "%1$s: Option für benutztes CSS ist nicht aktiv!"
+
+#. translators: %1$s = plugin name.
+#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336
+msgid "%1$s: Used CSS cache cleared!"
+msgstr "%1$s: Cache für benutztes CSS geleert!"
+
+#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787
+msgid "Clear Used CSS of this URL"
+msgstr "Benutztes CSS für diese URL leeren"
+
+#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160
+msgid "WP Rocket Remove Unused CSS pending jobs"
+msgstr "WP-Rocket-Unbenutztes-CSS-entfernen ausstehende Jobs"
-#: inc/deprecated/deprecated.php:1774
-msgid "Advanced"
-msgstr "Erweitert"
+#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174
+msgid "WP Rocket clear Remove Unused CSS failed jobs"
+msgstr "WP Rocket - fehlgeschlagene Jobs für Unbenutztes CSS entfernen leeren"
-#: inc/deprecated/deprecated.php:1944
-#, php-format
+#. translators: %1$s = plugin name.
+#: inc/Engine/Preload/Admin/Settings.php:57
msgid ""
-"%1$s %2$s requires at least PHP %3$s to function properly. To use this "
-"version, please ask your web host how to upgrade your server to PHP %3$s or "
-"higher. If you are not able to upgrade, you can rollback to the previous "
-"version by using the button below."
+"%1$s: The preload service is now active. After the initial preload it will "
+"continue to cache all your pages whenever they are purged. No further action"
+" is needed."
msgstr ""
-"%1$s %2$s erfordert mindestens PHP %3$s, um korrekt zu funktionieren. Frage "
-"dein Webhosting nach einer Aktualisierung der PHP-Version auf %3$s oder "
-"höher auf deinem Server. Falls eine Aktualisierung nicht möglich ist, nutze "
-"das Button, um auf eine frühere Version zurückzusetzen."
+"%1$s: Der Dienst zum Vorladen ist jetzt aktiv. Nach dem ersten Vorladen wird"
+" er all deine Seiten cachen, sobald sie bereinigt werden. Es ist keine "
+"weitere Aktion erforderlich."
+
+#: inc/Engine/Preload/Cron/Subscriber.php:138
+msgid "WP Rocket Preload pending jobs"
+msgstr "WP-Rocket-Vorladen ausstehende Jobs"
+
+#: inc/Engine/Preload/Cron/Subscriber.php:166
+msgid "WP Rocket Preload revert stuck failed jobs"
+msgstr "WP-Rocket-Vorladen setzt steckengebliebene Jobs zurück"
#: inc/functions/admin.php:21
msgid ""
@@ -3749,11 +3556,13 @@ msgstr "Alle aktiven Einstellungen in WP Rocket"
msgid "The provided license data are not valid."
msgstr "Die angegebenen Lizenzdaten sind nicht gültig."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:432
-#, php-format
msgid "To resolve, please %1$scontact support%2$s."
msgstr "Bitte %1$skontaktiere den Support%2$s für eine Lösung."
+#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening
+#. link tag, %4$s closing link tag.
#: inc/functions/options.php:491 inc/functions/options.php:530
msgid ""
"License validation failed. Our server could not resolve the request from "
@@ -3762,8 +3571,9 @@ msgstr ""
"Überprüfung der Lizenz fehlgeschlagen. Unser Server konnte die Anfrage von "
"deiner Website nicht verarbeiten."
+#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening
+#. link tag, %4$s closing link tag.
#: inc/functions/options.php:491
-#, php-format
msgid ""
"Try clicking %1$sValidate License%2$s below. If the error persists, follow "
"%3$sthis guide%4$s."
@@ -3771,6 +3581,7 @@ msgstr ""
"Versuche, %1$sLizenz prüfen%2$s unten anzuklicken. Falls der Fehler weiter "
"besteht, folge %3$sdieser Anleitung%4$s."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507
msgid ""
"License validation failed. You may be using a nulled version of the plugin. "
@@ -3779,26 +3590,29 @@ msgstr ""
"Überprüfung der Lizenz fehlgeschlagen. Du benutzt möglicherweise eine "
"„nulled“ Version des Plugins. Bitte tue folgendes:"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507 inc/functions/options.php:549
-#, php-format
msgid "Login to your WP Rocket %1$saccount%2$s"
msgstr "Melde dich auf deinem WP-Rocket-%1$sKonto%2$s an"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507 inc/functions/options.php:549
msgid "Download the zip file"
msgstr "zip-Datei herunterladen"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507 inc/functions/options.php:549
msgid "Reinstall"
msgstr "Neu installieren"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507
-#, php-format
msgid ""
"If you do not have a WP Rocket account, please %1$spurchase a license%2$s."
msgstr ""
"Falls du noch kein WP-Rocket-Konto hast, %1$skaufe bitte eine Lizenz%2$s."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:515
msgid ""
"License validation failed. This user account does not exist in our database."
@@ -3806,21 +3620,24 @@ msgstr ""
"Überprüfung der Lizenz fehlgeschlagen. Dieses Benutzerkonto existiert nicht "
"in unserer Datenbank."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:515
msgid "To resolve, please contact support."
msgstr "Bitte kontaktiere den Support für eine Lösung."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:523
msgid "License validation failed. This user account is blocked."
msgstr "Lizenzprüfung fehlgeschlagen. Dieses Benutzerkonto ist gesperrt."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:523
-#, php-format
msgid "Please see %1$sthis guide%2$s for more info."
msgstr "Lies bitte %1$sdiese Anleitung%2$s für weitere Informationen."
+#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening
+#. link tag, %4$s closing link tag.
#: inc/functions/options.php:530
-#, php-format
msgid ""
"Try clicking %1$sSave Changes%2$s below. If the error persists, follow "
"%3$sthis guide%4$s."
@@ -3828,22 +3645,26 @@ msgstr ""
"Versuche %1$sÄnderungen speichern%2$s unten anzuklicken. Falls der Fehler "
"weiter besteht, folge %3$sdieser Anleitung%4$s."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:543
msgid "Your license is not valid."
msgstr "Deine Lizenz ist nicht gültig."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:543
-#, php-format
msgid "Make sure you have an active %1$sWP Rocket license%2$s."
msgstr "Stelle sicher, dass du eine aktive %1$sWP-Rocket-Lizenz%2$s hast."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s =
+#. opening link tag.
#: inc/functions/options.php:545
msgid "You have added as many sites as your current license allows."
msgstr ""
"Du hast so viele aktive Websites hinzugefügt, wie es deine Lizenz erlaubt."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s =
+#. opening link tag.
#: inc/functions/options.php:545
-#, php-format
msgid ""
"Upgrade your %1$saccount%2$s or %3$stransfer your license%2$s to this "
"domain."
@@ -3851,51 +3672,298 @@ msgstr ""
"Führe ein Upgrade für dein %1$sKonto%2$s durch oder %3$sübertrage deine "
"Lizenz%2$s zu dieser Domain."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:547
msgid "This website is not allowed."
msgstr "Diese Domain ist nicht erlaubt."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:547
-#, php-format
msgid "Please %1$scontact support%2$s."
msgstr "%1$sKontaktiere bitte den Support%2$s."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:549
msgid "This license key is not recognized."
msgstr "Dieser Lizenzschlüssel wird nicht erkannt."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:549
-#, php-format
msgid "If the issue persists, please %1$scontact support%2$s."
msgstr ""
"Falls das Problem weiter besteht, %1$skontaktiere bitte den Support%2$s."
+#. Translators: %s = error message returned.
#: inc/functions/options.php:555
-#, php-format
msgid "License validation failed: %s"
msgstr "Prüfung der Lizenz fehlgeschlagen: %s"
-#: inc/vendors/classes/class-imagify-partner.php:531
-msgid "Plugin installed successfully."
-msgstr "Plugin erfolgreich installiert."
+#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292
+msgid "The log file does not exist."
+msgstr "Es existiert keine Protokolldatei."
+
+#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298
+msgid "The log file could not be read."
+msgstr "Die Protokolldatei konnte nicht gelesen werden."
+
+#: inc/Logger/Logger.php:285
+msgid "The logs are not saved into a file."
+msgstr "Das Protokoll wurde nicht in eine Datei gespeichert."
+
+#. Translators: %s = Hosting name.
+#: inc/ThirdParty/Hostings/Cloudways.php:82
+msgid ""
+"Varnish auto-purge will be automatically enabled once Varnish is enabled on "
+"your %s server."
+msgstr ""
+"Varnish-Auto-Leeren wird automatisch aktiviert, sobald Varnish auf deinem %s"
+" Server aktiviert ist."
+
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/ThirdParty/Hostings/Kinsta.php:158
+msgid ""
+"Your installation seems to be missing core Kinsta files managing Cache "
+"clearing, which will prevent your Kinsta installation and WP Rocket from "
+"working correctly. Please get in touch with Kinsta support through your "
+"%1$sMyKinsta%2$s account to resolve this issue."
+msgstr ""
+"In deiner Installation fehlen scheinbar Kinsta-Core-Dateien für das Löschen "
+"des Caches. Dies verhindert das reibungslose Zusammenspiel zwischen Kinsta "
+"und WP Rocket. Kontaktiere bitte den Support bei Kinsta über dein "
+"%1$sMyKinsta%2$s-Konto, um dieses Problem zu lösen."
+
+#. translators: %1$s = plugin name.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125
+msgid ""
+"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of "
+"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it."
+msgstr ""
+"%1$s: HTTP/2 Server Push von Cloudflare ist mit den Funktionen zum Entfernen"
+" unbenötigten CSS und dem Zusammenfassen von CSS-Dateien nicht kompatibel. "
+"Wir empfehlen dringend, es zu deaktivieren."
+
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168
+msgid ""
+"Your site is using the official Cloudflare plugin. We have enabled "
+"Cloudflare auto-purge for compatibility. If you have APO activated, it is "
+"also compatible."
+msgstr ""
+"Deine Website benutzt das offizielle Cloudflare-Plugin. Wir haben das "
+"automatische Leeren für Cloudflare aus Kompatibilitätsgründen aktiviert. "
+"Wenn du APO aktiviert hast, ist es auch kompatibel."
+
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169
+msgid ""
+"Cloudflare cache will be purged each time WP Rocket clears its cache to "
+"ensure content is always up-to-date."
+msgstr ""
+"Der Cloudflare-Cache wird jedes Mal geleert, wenn WP Rocket seinen Cache "
+"leert, damit Inhalte immer auf dem neuesten Stand sind."
+
+#. Translators: %1$s = strong opening tag, %2$s = strong closing tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213
+msgid ""
+"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO "
+"is not yet compatible with that feature."
+msgstr ""
+"%1$sWP Rocket:%2$s Du nutzt den „Dynamischen Cookie-Cache\". Cloudflare-APO "
+"ist derzeit nicht mit dieser Funktion kompatibel."
+
+#. Translators:%1$s = opening tag, %2$s = closing tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219
+msgid ""
+"You should either disable Cloudflare APO or check with the theme/plugin "
+"requiring the use of “Dynamic Cookies Cache” developers for an alternative "
+"way to be page-cache friendly. %1$sMore info%2$s"
+msgstr ""
+"Du solltest Cloudflare-APO entweder deaktivieren oder dich beim Anbieter des"
+" Themes/Plugins, das „Dynamischen Cookie-Cache“ erfordert nach alternativen "
+"Methoden erkundigen, das Caching von Seiten zu ermöglichen. %1$sMehr "
+"erfahren%2$s"
+
+#. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s =
+#. opening tag, %4$s = closing tag, %5$s = opening tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270
+msgid ""
+"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile "
+"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on "
+"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s"
+msgstr ""
+"%1$sWP Rocket:%2$s Du benutzt die Funktion „Separater Cache für mobile "
+"Geräte“. Damit die richtige Version des Caches ausgeliefert wird, musst du "
+"die %3$sEinstellung%5$s „Cache nach Gerätetyp“ bei der Cloudflare-APO "
+"aktivieren. %4$sMehr erfahren%5$s"
+
+#. Translators: %1$s = strong opening tag, %2$s = strong closing tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291
+msgid ""
+"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare "
+"APO. If you judge it necessary for the website to have a different cache on "
+"mobile and desktop, we suggest you enable our “Separate Cache Files for "
+"Mobiles Devices” to ensure the generated cache is accurate."
+msgstr ""
+"%1$sWP Rocket:%2$s Du hast „Cache nach Gerätetyp“ bei der Cloudflare-APO "
+"aktiviert. Falls du es für die Website für notwendig hältst, verschiedene "
+"Caches für Mobilgeräte und Desktop zu haben, schlagen wir vor, „Separater "
+"Cache für mobile Geräte“ zu aktivieren, um sicherzustellen, dass der Cache "
+"korrekt erzeugt wird."
+
+#. translators: %1$s is WP Rocket plugin name, %2$s is opening tag, %3$s
+#. is closing tag.
+#: inc/ThirdParty/Plugins/ModPagespeed.php:102
+msgid ""
+"%1$s : Mod PageSpeed is not compatible with this plugin and "
+"may cause unexpected results. %2$sMore Info%3$s"
+msgstr ""
+"%1$s : Mod PageSpeed ist mit diesem Plugin nicht kompatibel "
+"und könnte unerwartete Ergebnisse verursachen. %2$sMehr erfahren%3$s"
+
+#. Translators: %1$s is an opening tag; %2$s is a closing
+#. tag
+#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:75
+msgid ""
+"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript "
+"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will "
+"not be applied to the file it creates. We suggest disabling %1$sJavaScript "
+"Aggregation%2$s to take full advantage of Delay JavaScript Execution."
+msgstr ""
+"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum"
+" Zusammenführen von JavaScript aktiviert ist. WP Rocket's verzögerte "
+"Javascript-Ausführung wird nicht auf die erstellte Datei angewendet. Wir "
+"empfehlen, o.g. %1$sJavaScript-Zusammenführung%2$s zu deaktivieren, um alle "
+"Vorteile der verzögerten JavaScript-Ausführung zu erhalten."
+
+#. Translators: %1$s is an opening tag; %2$s is a closing
+#. tag
+#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:130
+msgid ""
+"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS "
+"feature is enabled. WP Rocket's Load CSS Asynchronously will not work "
+"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full "
+"advantage of Load CSS Asynchronously Execution."
+msgstr ""
+"%1$sWP Rocket:%2$s Wir haben festgestellt, dass die Autoptimize-Funktion zum"
+" Zusammenführen von Inline-CSS aktiviert ist. Das asynchrone Laden durch WP-"
+"Rocket wird nicht korrekt funktionieren. Wir empfehlen, o.g. "
+"%1$sZusammenführung von Inline-CSS%2$s zu deaktivieren, um alle Vorteile der"
+" asynchronen CSS-Ausführung durch WP Rocket voll auszuschöpfen."
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45
+msgid ""
+"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and "
+"use %1$sEzoic's nameserver integration%2$s instead."
+msgstr ""
+"Dieses Plugin blockiert das Caching und die Optimierungen von WP Rocket. "
+"Deaktivieren Sie es und verwenden Sie stattdessen die %1$sNameserver-"
+"Integration von Ezoic%2$s."
+
+#. Translators: %s = Plugin name.
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78
+msgctxt "Hummingbird notice"
+msgid ""
+"Please deactivate the following %s option which conflicts with WP Rocket "
+"features:"
+msgid_plural ""
+"Please deactivate the following %s options which conflict with WP Rocket "
+"features:"
+msgstr[0] ""
+"Bitte deaktiviere die folgende %s Option, die mit Funktionen von WP Rocket "
+"kollidert:"
+msgstr[1] ""
+"Bitte deaktiviere die folgenden %s Optionen, die mit Funktionen von WP "
+"Rocket kollideren:"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s"
+msgstr ""
+"%1$s %2$sdisable emoji%3$s kollidiert mit WP Rockets %2$sdisable emoji%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP "
+"compression%3$s"
+msgstr ""
+"%1$s %2$sGZIP-Komprimierung%3$s kollidiert mit WP Rocket %2$sGZIP-"
+"Komprimierung%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser "
+"caching%3$s"
+msgstr ""
+"%1$s %2$sBrowser-Caching%3$s kollidiert mit WP Rocket %2$sBrowser-"
+"Caching%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s"
+msgstr ""
+"%1$s %2$sSeiten-Caching%3$s kollidiert mit WP Rocket %2$sSeiten-Caching%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile "
+"optimization%3$s"
+msgstr ""
+"%1$s %2$sasset optimization%3$s kollidiert mir WP Rockets %2$sDatei-"
+"Optimierung%3$s"
+
+#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38
+msgid ""
+"Remove Unused CSS is currently activated in Perfmatters. If you want to use "
+"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters."
+msgstr ""
+"Unbenutztes-CSS-entfernen ist derzeit in Perfmatters aktiv. Falls du die "
+"Funktion Unbenutztes-CSS-entfernen von WP Rocket benutzen willst, "
+"deaktiviere diese Option in Perfmatters."
+
+#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39
+msgid ""
+"Automated unused CSS removal is currently activated in RapidLoad Power-Up "
+"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, "
+"disable the RapidLoad Power-Up for Autoptimize plugin."
+msgstr ""
+"Automatisiertes Entfernen von unbenutzem CSS ist derzeit in RapidLoad Power-"
+"Up for Autoptimize aktiviert. Falls du die Funktion Unbenutztes-CSS-"
+"entfernen von WP Rocket benutzen willst, deaktiviere das Plugin RapidLoad "
+"Power-Up for Autoptimize."
-#: inc/vendors/classes/class-imagify-partner.php:532
-msgid "Sorry, you are not allowed to install plugins on this site."
+#. translators: %1$s = plugin name.
+#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42
+msgid ""
+"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s "
+"delay JS, disable %1$s"
msgstr ""
-"Du hast leider keine Berechtigung, Plugins auf dieser Website zu "
-"installieren."
+"JS verzögern ist momentan in %1$s aktiviert. Wenn du das Verzögern von JS "
+"von WP Rocket benutzen willst, deaktiviere %1$s"
-#: inc/vendors/classes/class-imagify-partner.php:533
-msgid "Sorry, you are not allowed to do that."
-msgstr "Du hast leider keine Berechtigung, das zu tun."
+#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126
+msgid "Smush"
+msgstr "Smush"
-#: inc/vendors/classes/class-imagify-partner.php:534
-msgid "Plugin install failed."
-msgstr "Plugin-Installation fehlgeschlagen."
+#: inc/ThirdParty/Themes/Avada.php:116
+msgid "Avada"
+msgstr "Avada"
-#: inc/vendors/classes/class-imagify-partner.php:535
-msgid "Go back"
-msgstr "Zurück gehen"
+#: inc/ThirdParty/Themes/Divi.php:315
+msgid ""
+"Your Divi template was updated. Clear the Used CSS if the layout, design or "
+"CSS styles were changed."
+msgstr ""
+"Dein Dici-Template wurde aktualisiert. Leere das benutze CSS, falls das "
+"Layout, Design oder CSS-Stile geändert wurden."
#: views/cpcss/activate-cpcss-mobile.php:13
msgid "Load CSS asynchronously for mobile"
@@ -3915,9 +3983,9 @@ msgstr ""
"Klicke den Button, um spezifisches CPCSS für Mobilgeräte für deine Website "
"zu aktivieren."
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/activate-cpcss-mobile.php:20
#: views/settings/enable-google-fonts.php:19
-#, php-format
msgid ""
"This is a one-time action and this button will be removed afterwards. "
"%1$sMore info%2$s"
@@ -3925,8 +3993,8 @@ msgstr ""
"Dies ist eine einmalige Aktion und dieser Button wird danach entfernt. "
"%1$sMehr erfahren%2$s"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/activate-cpcss-mobile.php:30
-#, php-format
msgid ""
"Your site is now using mobile-specific critical path CSS. %1$sMore info%2$s"
msgstr ""
@@ -3941,15 +4009,15 @@ msgstr "Spezifisches CPCSS für Mobilgeräte erzeugen"
msgid "Critical Path CSS"
msgstr "Kritischer-CSS-Pfad"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/metabox/generate.php:23
-#, php-format
msgid "Generate specific Critical Path CSS for this post. %1$sMore info%2$s"
msgstr ""
"Spezifischen Kritischen-CSS-Pfad für diesen Beitrag erzeugen. %1$sMehr "
"erfahren%2$s"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/metabox/generate.php:33
-#, php-format
msgid "This post uses specific Critical Path CSS. %1$sMore info%2$s"
msgstr ""
"Dieser Beitrag benutzt einen spezifischen Kritischen-CSS-Pfad. %1$sMehr "
@@ -3972,8 +4040,8 @@ msgstr ""
"gibt. Die meisten Probleme können behoben werden, indem nur einige Optionen "
"deaktiviert werden."
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
#: views/deactivation-intent/form.php:29
-#, php-format
msgid ""
"Our advice? Instead of deactivating WP Rocket, use our %1$sSafe Mode%2$s to "
"quickly disable LazyLoad, File Optimization, and CDN options. Then check to "
@@ -3989,13 +4057,13 @@ msgstr ""
"Möchtest du unseren abgesicherten Modus benutzen, um Probleme mit WP Rocket "
"zu untersuchen?"
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
#: views/deactivation-intent/form.php:55
-#, php-format
msgid "Yes, apply \"%1$sSafe Mode%2$s\""
msgstr "Ja, „%1$sAbgesicherten Modus%2$s“ starten"
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
#: views/deactivation-intent/form.php:68
-#, php-format
msgid ""
"and export WP Rocket settings %1$s(Recommended as current settings will be "
"deleted)%2$s"
@@ -4031,12 +4099,25 @@ msgstr "Abbrechen"
msgid "Confirm"
msgstr "Bestätigen"
+#. translators: %1$s = , %2$s = plugin version, %3$s = , %4$s
+#. = , %5$s = , %6$s = .
+#: views/plugins/update-renewal-expired-notice.php:27
+msgid ""
+" %1$sWP Rocket %2$s%3$s is available. %4$sLearn more%5$s about the updates "
+"and enhancements of this major version. You need an active license to use "
+"them on your website, don’t miss out! %6$sRenew Now%5$s"
+msgstr ""
+" %1$sWP Rocket %2$s%3$s ist verfügbar. %4$sMehr erfahren%5$s über die "
+"Updates und Verbesserungen dieser Hauptversion. Du benötigst eine aktive "
+"Lizenz, um sie auf deiner Website einsetzen zu können, verpass es nicht! "
+"%6$sJetzt erneuern%5$s"
+
#: views/settings/dynamic-lists-update.php:14
msgid "Update Inclusion and Exclusion Lists"
msgstr "Inklusions- und Exklusions-Listen aktualisieren"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/settings/dynamic-lists-update.php:19
-#, php-format
msgid ""
"Compatibility lists are downloaded automatically every week. Click the "
"button if you want to update them manually. %1$sMore info%2$s"
@@ -4061,8 +4142,8 @@ msgstr ""
"Verbessert die Leistung von Fonts und kombiniert mehrere Font-Anfragen, um "
"die Anzahl von HTTP-Anfragen zu verringern."
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/settings/enable-google-fonts.php:29
-#, php-format
msgid ""
"Google Fonts Optimization is now enabled for your site. %1$sMore info%2$s"
msgstr ""
@@ -4110,11 +4191,12 @@ msgstr "Einstellungen bearbeiten"
msgid "CDN CNAME"
msgstr "CDN CNAME"
+#. translators: %s is a "Learn more" link.
#: views/settings/fields/rocket-cdn.php:62
-#, php-format
msgid "Purges RocketCDN cached resources for your website. %s"
msgstr "Leert von RocketCDN gecachte Ressourcen für deine Website. %s"
+#. translators: %s is a "Learn more" link.
#: views/settings/fields/rocket-cdn.php:63
#: views/settings/page-sections/cloudflare.php:36
#: views/settings/page-sections/sucuri.php:37
@@ -4129,12 +4211,13 @@ msgstr "Alle RocketCDN Cache-Dateien löschen"
msgid "Cloudflare Cache"
msgstr "Cloudflare Cache"
+#. translators: %s is a "Learn more" link.
#: views/settings/page-sections/cloudflare.php:35
#: views/settings/page-sections/sucuri.php:36
-#, php-format
msgid "Purges cached resources for your website. %s"
msgstr "Löscht alle von Cloudflare gecachten Dateien deiner Website. %s"
+#. translators: %s is a "Learn more" link.
#: views/settings/page-sections/cloudflare.php:36
msgid "https://support.cloudflare.com/hc/en-us/articles/200169246"
msgstr "https://support.cloudflare.com/hc/en-us/articles/200169246"
@@ -4156,7 +4239,6 @@ msgid "Your website should be loading faster now!"
msgstr "Deine Website sollte jetzt schneller laden!"
#: views/settings/page-sections/dashboard.php:44
-#, php-format
msgid ""
"To guarantee fast websites, WP Rocket automatically applies 80% of web "
"performance best practices."
@@ -4244,8 +4326,9 @@ msgstr "Eine Datenbank-Optimierung kann nicht rückgängig gemacht werden."
msgid "Save Changes and Optimize"
msgstr "Änderungen speichern und optimieren"
+#. Translators: %1$s = , %2$s = , %3$s = , %4$s = .
#: views/settings/page-sections/imagify.php:21
-#, php-format
msgid ""
"%1$sWP ROCKET%2$s created %3$sIMAGIFY%4$s %1$sfor best-in-class image "
"optimization.%2$s"
@@ -4285,15 +4368,16 @@ msgstr "Imagify installieren"
msgid "WP Rocket was not able to automatically validate your license."
msgstr "WP Rocket konnte deine Lizenz nicht automatisch überprüfen."
+#. translators: %1$s = tutorial URL, %2$s = support URL.
#: views/settings/page-sections/license.php:29
-#, php-format
msgid "Follow this %1$s, or contact %2$s to get the engine started."
msgstr ""
"Folge diesem %1$s oder kontaktiere %2$s, um die Maschine zum Laufen zu "
"bringen."
+#. translators: %1$s = , %4$s = .
#: views/settings/page-sections/license.php:32
-#, php-format
msgid "%1$s%2$s%3$stutorial%4$s"
msgstr "%1$s%2$s%3$sTutorial%4$s"
@@ -4305,8 +4389,9 @@ msgstr ""
"https://de.docs.wp-rocket.me/article/534-probleme-mit-lizenz-validierung-"
"beheben/?utm_source=wp_plugin&utm_medium=wp_rocket"
+#. translators: %1$s = , %4$s = .
#: views/settings/page-sections/license.php:40
-#, php-format
msgid "%1$s%2$s%3$ssupport%4$s"
msgstr "%1$s%2$s%3$sSupport%4$s"
@@ -4314,18 +4399,19 @@ msgstr "%1$s%2$s%3$sSupport%4$s"
msgid "Clear all Sucuri cache files"
msgstr "Alle Sucuri-Cache-Dateien leeren"
+#. translators: %1$s = formatted file size, %2$s = formatted number of entries
+#. (don't use %2$d).
#: views/settings/page-sections/tools.php:20
-#, php-format
msgid "Files size: %1$s. Number of entries: %2$s."
msgstr "Dateigröße: %1$s. Anzahl Einträge: %2$s."
+#. translators: %1$s = opening tag, %2$s = closing tag.
#: views/settings/page-sections/tools.php:23
-#, php-format
msgid "%1$sDownload the file%2$s."
msgstr "%1$sDie Datei herunterladen%2$s."
+#. translators: %1$s = opening tag, %2$s = closing tag.
#: views/settings/page-sections/tools.php:26
-#, php-format
msgid "%1$sDelete the file%2$s."
msgstr "%1$sDie Datei löschen%2$s."
@@ -4345,13 +4431,13 @@ msgstr "Einstellungen herunterladen"
msgid "Rollback"
msgstr "Wiederherstellung"
+#. translators: %s = WP Rocket version number.
#: views/settings/page-sections/tools.php:64
-#, php-format
msgid "Has version %s caused an issue on your website?"
msgstr "Hat Version %s ein Problem auf deiner Website verursacht?"
+#. translators: %s = .
#: views/settings/page-sections/tools.php:69
-#, php-format
msgid ""
"You can rollback to the previous major version here.%sThen send us a support"
" request."
@@ -4359,8 +4445,8 @@ msgstr ""
"Du kannst hier auf die vorherige Version zurückwechseln.%sSende uns dann "
"eine Supportanfrage."
+#. translators: %s = WP Rocket previous version.
#: views/settings/page-sections/tools.php:80
-#, php-format
msgid "Reinstall version %s"
msgstr " Version %s wiederherstellen"
@@ -4440,8 +4526,8 @@ msgstr "Cloudflare Add-on einrichten"
msgid "WP Rocket Settings"
msgstr "WP Rocket Einstellungen"
+#. translators: %s = Plugin version number.
#: views/settings/page.php:30
-#, php-format
msgid "version %s"
msgstr "Version %s"
@@ -4449,8 +4535,8 @@ msgstr "Version %s"
msgid "Show Sidebar"
msgstr "Seitenleiste einblenden"
+#. translators: %1$s = , %2$s = .
#: views/settings/page.php:82
-#, php-format
msgid ""
"Below is a detailed view of all data WP Rocket will collect %1$sif granted "
"permission.%2$s"
@@ -4518,7 +4604,7 @@ msgstr "Personalisierter Cache ist nicht aktiviert."
msgid ""
"Use a private browser to check your website's speed and visual appearance."
msgstr ""
-"Nutze ein privates Browser-Fenster, um Geschwindigkeit und visuelles "
+"Nutze ein privates Browser-Fenster, um die Geschwindigkeit und das visuelle "
"Erscheinungsbild deiner Website zu prüfen."
#: views/settings/sections/addons-container.php:24
diff --git a/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.mo b/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.mo
index ac287efb2bf3b42b2e46c28656e9a397345fd368..4fa1c62a06140bde11f436e1be5853fcdb7f7d75 100755
GIT binary patch
delta 17714
zcmZwN2YgT0-@x&6BUX&qvEA4tV(%4uWY{aM5lKYIk^~XsXC_993Sz4kLG2(mMOBO1
zB=)A&8ZAoEKA-PB*Z=Xnp8tLIuI?hHw!s0P;CD=DODQt
z7FX&+Hl^Ozlv1Uhw^Zt9e1S#qus3b-5~kwCR!S|#@YYIo#T;#v`V0G@8+K`{6uVTR
zSQsbb2%L|6-l1}|Q)(FnE3gkXZLd@^rr_6Tc2KGe9>q#{2m4{pj(W#|Sdusa3*rLo
zglRYyU*L9(ps+ETos}AZ0oaG*t371$7<|}Asj^tcSD$$^KcyPcuqQUhFHk;s5|3kb
ze|;q{@FHKr&$%{G(ylW~y8&1c$Dk{&z}&bQW&gXeG#(lCFZ9-@*cV`tiN7nB3_Lgt$av*UeO
zg!l});e8Ci_jn!q4Av*?s28LZ%U!iWxv~zJ7rWWz15k!$uw5T(*N;b;Gc!@Hd@dHn
zmG~9zM43aqxe5>Lk8N-Umci3lSJwX%GO~kmA-YSw&?N4JuqDQ!3+_M}(nDBU)_*1$8Ov8F%cnr7-cbcCPh8Ko51PaY
zwo5Ubct5&hwV_HCLmw=QgRv4$!seKUOat`*83olgjFrUk)mk!g0{Ms8J3^W5J}4&;
ziZaGCQFgonxksr3xCUK@>l5CJQ;EOBuGpTllR1!zIdLOO5A8td+3(TOfXo9j(v_tn
zbcGj6xj$CLX((O48KvuvV+Fj0RWMtm?immCBKAcO9E%k(4Qt^k`I{=r~=Adh`_u!38iOdqa64r
zlmnf?UU&m#i0Y2kJ@FY9C5}KJbW9;*eE?-r+_3$C^@z*FTkBMHM^EBJl-Zt+CSF46
zk=H0)U1W^DvdVaixH&e$G6_okh`rGp&9T-pcBnuyawQSA30RCc2@By0loQ*A(lh6<
z1pa2nImYSr?rvKfvr*p)r3c<qnuKsU!T!gJ)5${5s0R
z;!l(vWt*tGygbT@wMCf=ldwLX#F}U@wdF)=V^?g7GMST6X8$}af*I(Ar_dqm^c|T>
zSY@(a_kQS3Jk@rs?Fk%A`L7s)epB@1O~?MkMW*V9ObqTOK8?}?iPMx~I;j=d0*fW;
z;#^BtDK%JX>AVOuPRhfr3>
zEwpAemM6}aqEEOMMiY0!D!3OL;$6&+CFkoCHL(D(2ey$>XhueMI1y#+7on`rdnjl8
z3Z*ALpj=Uj1$s8uL%DDCLk}E+t#KY!!b_MR-=XZsWub0g2y+vc!vZo3s*zbiK@)Vr
zEW5#dJAR6VDSwNFFkh;^0hw4-K8McO73IWxp(}=>7mmj2xE5vq=Wrli$D$lxHCv>w
zush0_L?ZJ^?Ze{OfhAA`2cdM`NR)?2BFX{hU@u&SazcOM1l;lI^dyc(8T;iZU3(a1C{AEJUP3vbKiw+z
z!I%%jZ4+##ub}^B>=shc1CJmluZpeY+YfF<8N=LP=^YkF83Heq@>bXYyP}*}63T&g
zpq#)F+f0-(e~R+CH&_pIuA={?E1Ip+UDE?YiG#2ro$|RJbTjsDcn{gophf&VF&uYEH2>gGaSR2!@6=tCimRher7mDu0n^Ai5EXtMN!{)O7Uy+e3tGhwZ>S&ZM
z8e_+^QMx!4r7KsX?BF2E{opK0k3B(|tj4!`(z&BAaW$-hqfqv<0!!n!m`m3G2{N+G
z&Y=hXYFlih?z+}ki}G-6gUeBNa0g|b|AWk1m4A~yz$TRa?8RRA5VK>m&Ga(1#(a1g
zt?&Q$$#kWl)E0dQ47bg|Aj+M#>gW9s97?e2NVB}e%N)pQqyq-%ABf_
z&T|6~VlAw?L-$-ibabR3j?5xFfWFv!r(PA`pmg0{9ENw%M8947K#{ilF)!sV8M-Ik
zunci6lyZNR{eFfya2-mIZ^@wlWu2d(AO_uc>#m)TGFi5vOv+kFNFX1F&pS}9Na2j2Ro%iWmu`9BWR11_7ytj|>A4101ub0bEloMHs-7)_GrKE=f
zF#tDUMa+Is-!ZG>c;Xc(U0wQ+{?eI_(Zs)FUrubmVLdrBzS9?Y1?9qCI>=NdQ~Zd&
zl2*tts*YF>|Hgq>^Qi8!IoODJ9rnRHSOFU!leNTa7&gNjSQ<-yuV1+uVjbd9I2hNX
zH#+hj*R$0RWk+MMAuh-4cnPHoub~XdLzDx(#R53y2R)l-qMX*F1io^v~)
zzx~Ew38}~2va2U#WJj+s59at$-+&6CbaiQzNz@9Z-XCT81fb0Jp;!)gVQsvOoiW!>
z`ow!+5#j+T$BD(9I2GmhCzVV_uIMq!nGZdw-(KUaqOb-|Mj4{5C_S3%XRSB3Adbg&a^MUyGw=h-6(*h0kKq(7PMn5rco_3zCc5Gy
z?0|n^7`8mCU&GfU!>e+h{~ujj@cloKs`feUvhQ=3c17ar088Q|{1%tt
zX6$%T&yl}SCQ+$Nx@#w(jA;t?!cFLc*)Hpz%8x~fYhZSRyC}*puAQ#X@hN0_W$GUW
ze#z21Xna+FXPbi?`Jj1CpZRI@BzC#3zj!o6U*bjh6+XbWn0P~b61x)@xT#;igHVRd
zmj3_VgA8{z9;^yg|mVJL`wup<8U8?WP7@Tu;hhR>MjeEt%evhXfE*IoJ&3sd3x
zf}hl|0&d6KSc)B_{K4xM@s>aNFt&Kfl~7*fm0tJmuUSr%_rMffjB2;nV@>@?{2GtH*Igai5EiLtP_tqlmupJw**`xs)tsSif+zLz%5}uoN!Cs<<1y@ebC<@@|IpJ)kej
zB%XsFcobl8=(x*W|RYGU^Hf-?6?Qol@06G=!pqbOvOg{FLuO6RSfHE^dxLXycO%>?zZBg3$ptp8*(kyPA7d20Dp*B|VQm59fn+&EUET;XnX#h+2G{3bTV
zTpoG|+oBioP&|&QC_OO1Q=h;Hlp&deEjYf~My54B$MIOVhGE_5wxLWGZ!i6UA5bRS
zFDNJGR#RVbbCkz#1lGnR+>d*Z>7ho|((M=4Hq<-H_oEzVcOBNhCz%G!EV=R^lrD-y
zDNn`-+=J4kRk%&c2{gm5I1B@DA4=C3t8ZA}klLe+^-PrVeOM8nU~??cK)3U6!1|Zj
zK97P9_&r8pzJ_`hkH>i8Kd}{tH_~Um8K)9^Hr98#Z8(~^VH4f;TTl*k)3$U|!}@2r
z0BlM57CeB@nmY8EZE9v%&;Rq7NyS@~b$hu4$+iJ^W9I>M|8R?R>C|CRtO>}Cf$G!r}-1rh@
zESF&eJZ0BsYp+ji1a_zVCzQ!trh{Sqo9`fOL%bAawcNsnn7boA%KTHU$oNp;)R`L*
zv(+Ev%o2QbS3g5n;`b;$mDg8~u?NZy1F$_#wd0d07xW6{K2hIK_e2<)#151m`wFYb
z`rk`tCk1!094_+L2ilD?>8_w0phOqLdiNWI{={QZX8BLJ3E$yZT+hpbEYC{a^ac2!
z3{_v01BaswQ6g64_-YFo>9UI`v)`?|p}xW-lp9CY9)|VBqbar}_Os)8C_}Ou>*GZn
zjxIe7H3mmvCwz`wut_gHnP*}&@k(^$Ayc5YVSQyPjk2Rqlx4RZ2Vt>3dU=kwlpr@VU$g-s3R@
zL;4%mSFe*O>osVAE_WZOmuV8ZF=qx1GSqGA;{)|r_ZzIoItqEnsJU1Mmtz6kXV;$^
z?9lh_-zjK8MYSNq`ld4!?-9EN8)^x@Ls{1gL-g!DhV6*oqb#e|L-gwDhBEdMC_Rya
z7w|c5=Ce^I&qkCJIgT>6
zFVO>AL>TG;4zukVshpvFraDf>pkM*M?t^0;U&
zcn6k{+4hW#jA8BseFDX8>tJ!peX%TO9)kIZr;gP(q$
z=)l~>>#-uHV^PdR>-+yxGF>UCH(rm`G+ax(7^|cA1iho-IGK0>R_27{
zoQpEc_o7Tj=b45wIiXp&oOt6bJrtdj_0R>Nyne@_JI+F1++_PVO3!roLNC|;U(kip
zMPn$C$+sBg1kzDv{WUC)?Plu_4#jVYC!maV^*Q>M8j7+k$KeXxfQzuxTz#OsC`0oP
z%DunBmwL#39b}|pIm%P+2+9eaM>*3!P);D%Jj42?8Ne#SC+z$s~gZcW_
zn~L(#d5u%hWr21!&Lb|gP)}0F8ZzA|c#MOvNveLREXDf7CsBsNSfrPc2g->JLlY;W
zEYnpeUEXZ5UXBB>H}PDQA$Wuxu-+2=kQ#>^*P$MhsZ2$arTR`6h%zS}*c?-FC|*M8
zp%%+@m-?eD$6+W#7mxBdo`-UOIEwP3@(AU=Pe1U$UKP*1Vtx2*q*WV|-&NtA7qVf`9@8>K5dY}SwCcr3vV-=K_j
zp{@EEun8lGAK-TEu}!av9NYDYx3S%UCiRul_3CPmHHjnBS^rY8f`VW?ggLO{4n4~~
zFp9VvO4ojevdnyT>MpvcM5*IwE
zUr>HPdHSt8q`$blaFFqE;vb0*>n{1`h`t|OK)JFvSR3mcwSNP`##~7Z`cuB~n4uoy
zJM_l;-|OX7>A3z4=}VMn$a}ntResPz<8ngZq8($&jGKgW642lT(@^dk>rd$eUBFOcr_;K}hhZmK{|RJvQ*q38
z{LlJI8l2G&kJ0Ew{S1`*!fuoUpGCO^-$D~hpVc
z$`H1`qU+*9%^S{D)HCoj!ho1{$;s*{z%``
zXCj|bYw-yt|6-^gSRL^M^3}@wslEa2$L!SidB!ru{?85T{~s9tLU;K&+(`Qxf9T15
z6>kyu{8PUP)q82ENyOV;I`kc`?kmIk4LBVKQ}Ot4BLz3UeqY>y2nUP9}CXoUE77B$S~#g0f0Zqs)ctSQTHQ?5~WIllAky
zqcRz3=!FHaIm%4^s9G@Rkw+d@w+Qrr@TTkj1k@`~C9p%Y4
z(cZVTn@y63)D;QXT2kla#QKXOBVF?=>6z5n8&65qpB>5OM?Q|!lQfUAL6phcjBGxX
zm7y%aZY#ZYfc#p@+mYWajo5CIKBN3g%9+=yHTigl{UKJ6^{r
z(h2gcMC;#$$y%EX-8tHJr@SA^E%yMaJ!up1QIyv>+3M1UTdulJc?5ac7>QPGfDT!*QC6tRm+b~
zlbk0v?O=4)I-n;N9G#H~=aS>&zjpGiix4YoOG@Yv2bB_Bv#
z30!8ENn5#X%k~Fp_9x|5q5UU?@*{k1nq7a5ylk~_6)u&V?_X9CJI6*e{K;-CuU+kE
zSeVLOCD@9qPMx^1CkEi@IEJ_+h%1!x8%5KQ@^Ui5)Q~6ub
z&QHNt#5-{{R<>I3qk&yNl(+?HG&@P8Y`tCohByytq}^_ytyI6GT(+L1j&|Pa|G@+U
zDLiR6J}a&4?Hq=ZZqlYBerj(FGI1w~hp8HBmzBh!#0~A(
zag0n?JJ^Basf=MqJeSlV(x=-O#3`iNq+O)NRPuJEdhxlvq>bc1ZhzbP>vq8k>i@FK
znv<7pn2dkC&RajRNVcyXH?te_z*411$0>h`S@wsE+wFuVq@|=7>MBS9TNEk5-bXU|
zeALO87Z=L9;pezg*53@=|b-f|lqjb9#!C{z0Zk{g+HC1@aaA2#v3kFM`{U*E#hg
zN#2ZPD??s3dHemi{Y=|a1Y7MoDL+No_oT6u{U!w{FRWuIdqC<%-k)SmoIQAw!lR@!
zB-y%?4p}*7v|W}1=TcUN^gF3NJD6#=S%-Vjsbc_7Qt%?1?4*15-OI>dJAc^Gp=A{mNQujG!U5O9bZGI=;fb=WrZ|ZuHWD6nv
zNSp6v{1=cpOoJfof|YSP4ep^2W~1yf9z)r_p#0-Dm@@g|@^Kq(XNuq$JOA2t1#J(K
zrV&5H!gzx3AL<#w7XJtLOY#*ce?VGJawaZ~vc1D3+Po#@v`^+&JWX9Td~UU3
z(qc9HGYjxGadQkLZMQ#nTi*Z1QW0-Aj36#VT$=Qn{282r-{4EyOt#wBmoGZjR*t{bsJoAa(6q~Ylg}VIrt`<2lu3ihxQ$evMq^R7_Sn?Ue<1E{mGUA<
z*#x`%roGdGwjr2{G=#Qw@F4BJBY%PX$8C$wJ5)(Bm1t0qnz|%U@-0anDX&TTnKBn*
z`J(AbK9&3qd_sJOyliVo`H1&Pdy;Gc_#O52>^4$Xz^-%098zGdKiKj~qpzr(O8S=a
zjij!mr}hU&+peW-1orPi4_)
z8p)RwO~VQJi1JdpiCRs3l=LNavOOR<5$7kpAoZa9l3geDp_Dx*wXn-tQMQd#z>X8J
zF=+s89IpKNm-L8&!z7uIok_BFqx>o^L@%r4|NogzosZqV3wjWjBgy7%8;$F!d#sDq
zB)p{S9BLMsefAEdz99LDr0*!7K{`%;j$Pk|`rjyXlX6mB$`?^qLO%G(w$RQGp}rO=
zlC+-oOE8+cZup9LzO4Td6wI(c5KhHv(#NeIjZz7Yk^Z6lJ@HTEH;|5y1`*5lgt|X5
z4wsYik?%xZEa_{z%|OaOZZF8+qI|rJe;7etg8G<9x=gxHyclIGYg-sS?0jeHL&;ad
zkJ}ZyZU6<9Dfc4nB%ht~jig4zwXv}MndQ_uzUNPWl5E~o`l2gVq0tYdJH&g?i?Rgr
zpQCJZDU+=gaWH8d=@eyoC_7I|v+La{-%UOQcafA?sdmNKK3&c3Q9;8);?nzg_i#$_
zoSQFCtC4Y0(Q#oBVF@AW)mvZ4}B?(J}4@3NLc8|n83KOs7P~2Sa?XR88I?8&Kw+K#)O21M21ks
z4u?d=So@0(4COzMYPK+57n
zN_8v7`i2C?M4En4F(H-er4;llmJ;Rfnx5A`f4=mZpRLZHK6hBD{Ds@}=wS{H3>qF9
z6E%{9ghd2~rZ115=#=g?cD_@(`vh;N^stFXU5Z9TbF{(XA!c;=$k4FJSkpHwHZHyL
zEEi|j|GSIW^vZL>^QWI!zC648f4cI&UVCKJ==6TyjLef>drK)J<;YeueZp4nZ0TFm
zk9+oS8#XG;j0=f~4yQ}Z(OlZd=wRs`FSAWJmt}QOuUL9Zjvh9|io*lPM2(E|WN2c;
zLL*JOQ7U8O#z;?(4vC>Rt?@{YynQ~WQ9r%S6vNQk~24$nHw_qUP~ss&Ahrkb6e&XT4bhCy}`@Onk0>~rkYtv
zl1VxDyl}g9*5|gEG-N-t+$JB`kTpGPDm$Tk2iZi)Y{*QLUG6Y5ce0~R){)s0XOWc3
zKgJa8qxZ_5t|edH!tte!vrNp)VApawvS+IzF>|*RkY`UDqHjZ-oeP5TDp@_sEC<$Ff-lE
z+?6$r>y*x6STYWGG(w#-n)n%>&KYmI8Mm@!-0fw|ELg+3LOO>2;WW0(b;?CqePeR`
zH2VUQvJ$Uu$rv7L6wR3$6=mcq{ND}|5oyfJy(`}ED3~!}hOs$!)s0-L^cp+b&B@Rc
z9EneE)BX9MBc(bz8O2hc&ofG-R&HVB&+tw$`V?}JPR!gw52d9Bt~H8e^jK?LH!@nS
zGd}O`nst!=DHE2Q3uHQd^Iago-b
vP{Bt(nFl5ZN;5Mvm@AvCi#IdZ$;nO2+`%|ZH8VHM=*jS8%>Uaslly-F*0h)e
delta 18104
zcmajl2YgRg|G@Ec2@yevAP9bTjD*-?#NH!_+9Hx4LL`x4^RxF3jiOc&dj&CzYGc|LgTU_toQlzUQ91&bl{A-%QSScUm^bPwq~O6q}J*DK9ML
zsg$#mQWYypsZuQ(DD@+@L=W_AsMKfl!LP7lBc%c{72jfk#w2uWLR~D2d9eWw!5~b;
zR9vQ%L-lT|R2K?9;w#I6s>S70^Rn#2h-0Bj_
z2}*R*CkR2=zZqTe1-j#(C>PEhr1iFJfZZwYioTePa-BPv1&ej2{hi5_CL?#`gQKw;
zZp9raP1)xQr6%A_jK*O4OX{6R+26J+-Ge7_1rDO0{Lz)G7sY1Ca8Y)Y>m^}s+}54`
z&r9YA1%>c37R2Z1fi69iDvU)@#)3ae{jMnWBd`=sMK|1xE_e{-LaFG5KjN4881vwS
zo=WA!g*|D1skoYgY`76~VKT}f`wn>+bpz$Z)qCj+2cVpwJ4*clNUN%0C^vWpx8rS;
z8=KDnl9pJ7(sf5H&p61Op&$+A&ejGi6^1D&6}|fCzVb%tLtiWIg>s=#WIU;1DDg>@
zmb-;ACSD?qsj`RAeP~Cy;YNLxV#X^+2Qus`E>C&?(=e>`GxW3BVPfw$wC@1p664=PnjyB?H
zmK!jF_!Jh$n*Ei^kKM2+Mq_E5i}i3f(!1&v()z0702V3Sg@w4j@(Q<3goTN_q1-?`
zN}n!9Iq_z!kEd}AW*?{&Yn7UYYw-%o1B@D^)FhmRftZK8l`+v5opBgSJqJ3ZsppZY
zf!k4<_5n)yd#k+QV5Pi?15vtS1WHrR$C9`a%i@n{!#5~{wLqjE1I@4$aST?*L}bxa
zCn9No))eI##hk_{^pzbb)9x+y!4A>fJ?=#5^L#^ei*!I6aWvM%`6x|(5`EA)hE~Mt
zm>Q`Npft85jzMXu
zgXo0!PzK*4%RewDvD}rMFPDRi+&}^BgT7cE=c3Gt{U{f_g3@>QQ7-fh^J1-`dfK)@
zX_;;)7hZ&Np(WTE*Q0dNXOxyGGfYogM=dg~DQJi00VsXH-tq)iBYucgvB+@V`Pc!A
z<5-lISc!7tZ!tff$Di>5*23c>=oVBX`4)gv$aHon*HQWj3t$d*cw1ISIZ-2Y$8IP$
z7J-v#=m0S@BVHBfe?*1TzzVLTN#HW6gs+m=9ND9-04p$w-r*LTREutO`Y#V|9tE
zqMRTaWgd^m{&*W%0#u8!x+}J!bkQ-CF>@N_Mz3H|{2dFR8`qRsQx=<$RBQf`E|`bX
z1vinVQIAks;0?-?!Mt+H_DCnLm3<2V0CGupPV37%WC2NT_h@-GLuCqL0`3U<`o?{{}7^#PS@Cx?A8k6)(Xd&(;
zevZ-->nGFxj4O3yvR>J0P0<$`hOH>yilO-4ihE7vb4m`xuh46nQnPUnN*6VmuE$De
z%t|}}WtK#twBSU`1oR~SW;#tPPkfMqFno*@slXZfBk?>IA@-iB>or3;Q9Q~CCZi0_
zrAc|sP;<6}D
z(in$g7mUUqQ3hGSJbj+-ScTYb#fwq)e}k_0Ejr^V`~n>p$+RI;ZoZzULs42{8_JV=
zEHJ06s)EIcx1da)vnYLd7fawrlolzPpl_@umL*<~HSs*kpv$&U-)Jt(Esb4}Ok;MG
zM>%06O5aaGSx_#Z-0@wMmUxWvM9z!!T3!NW-Dr*#FbEsrI4q6FFcO+iO~c6>=@4{pI&3|pq3Gz|+AKSAmHY+vhz#TzRU_eME>Cdvx8
z8f7dTMQQ3^QJVS*4#)Q>Hx@%P%l>K0Y5$yL=20Lnx7>`4;Kp#~K)ia-*A2&Yy;I1NSXIt)%^3C~#k;5A?!n#1&AUtPe^b4#WO9
z6-(iBlnZ*Sw$^g&N8B3ixD(~cJ-^X|x-@zb*TaI?9p$=l4l>fGV^R7r!E!BrNt}Xm
z$L-eW6NTY?;?Y%s;sM|=~Tp(AUOp66|`C+5z${?(?UcVC>U>)MV=!eU(A)d$9=)OT8*BgryuSHtWp^lT0
zC%=yM@CnM3mEWjGcYl-?inij(C`~&Dr74%99KRc7T{w=?Vs}sm?K^Zv&rNz(*|03}
zV9X)&e-Rn!o7I>N52H-C6IcO%vCO$yH(hP4OnE3a#)T-yr=g6MKalaNvTV^ex(4Mu
zJFqj}!Yo*IE8WfYRc$h5@GMFbzQ&wbd7B=^^)Zk*9$R55_QX8f_1iHLTM}Qy0qC_u
z|9CzbzaY-EQ@@_OVO!#ZI1RHW)Bci4AQO&WyY!PyL21eqY=IY%HAofSt($Nc%Iq-q
z=%)0bjGq!if)MkC@mY0MQ~0E?Vp3pW(wNiKFo?)_v(r{u`6*Ij6nxV
zQ@=!ablax~X$h1TY=+X;gRwluqnvLg8V28rIG%XJe%-Pa4$%JDDd>AZuhD~%nWdJY
z++o9mdR_-(72;Hs8+nf%G2)PJp~KjnINP^+eF#NaNvGi${DfcP$iw=F(>zD?Te7u-
zOjqvgAQq!SzVGxCR!5nB9nl+yqCCk8q+8WGtcG2W@e;w==!s9U7H0ikf4~HwoF@@^
zR&@aDVx1rKbsWRV)Tdw($`fA3zUZ8)ztabzjNVNsC%T3;@gruzs>gK;)<$>YCMXx`
zg1PY;%3ywoa$|4M4J(~6-z5$eKt`G_9(&_?EGQLD>V>Bz%85FmD~4I+(O8OjB+3|C
zVeQ|Ha>2bQgD@4PWj#*mg{d00BJPLTqp(B{VbQGbjek0iuukd
zH644Pw7@;gi!V_6Jj;3gZYYYmh-;u5HpS-H8N=~w?1j!3l%kiF9UbGyRJf?r0^E!;
zI07!|I~|S1iRWTg+<|3qFBZa|aT9*Pt+?*89wVKv=rJ?`rDboTbm=T%5z(J-98TViHf-?}Eh^Ju|oQLjTgcrnVE7}iF7s%|BaqK
zo^NSA;@&6^_7Y{xxxSN_{x45v2nCJt5bnlmoGA9a{&ZUZLC^QxAN87j5(C-q|B3#`
zncTfJvF~4cEOo#>#A{G4oJAStujjtP?$i(9P4oemWHR{vBeTfKFqhu!Sq*cr)k8T!
zKOBh1QBG8ak(LuvQ7(8HXX9I3ij%V$>M#~}(e;19$;9#5b@@k>_2U3jOJ>_~blAw;
zA|qqqGfG^Tc9av=#Sl!x4(OlLFu#yyp$qXMD_()}dR>pwH5+poW|yV98Rk#H6LTAC
zJ@q@}G0f@u0h5T6-1++p-LKl`HPj6Z@X$|QIGR>?
z7^~wXl$P0#HSiY7;PohAm@l!W*pPS#HpAosw0|)&A1H9gLY}&5e6SvIW2Dv8c&tD?
ztDs@7WP4GX@FL2R`w->E-l7lYEo7*p*bwt$W}3x@g;46%!Q$A(L1qe>5m+1LFG`Fn
z<&QG`Y8KIBqX){3&Ozy_tyq;CJB>1$|KcxL@mRE&Zh?g;>qiPo`60}PRc-phbupUQ
z(VL8%_#ArTbCf5|R@^XWLp5B%g7ub$61}>qr+%1%r_#MmPUnnh9u9Uvv
z0F?EiCrbSgq-z{1j?8BY)}r+B8dircxC2L`OBuubaF~QGh!3GJW-V)&FRSWUl{f~g
z<2sZZxQUgdp0{DHd^ONU+#16$0*lD}zd%O%;yKDF&r{AYe}@x_*@-Wr4R2v-{EX64
zrON9ktcPyIolq_uigj={N*A6)x#6dnie43T3*5ybTwlE*BRAkt(JHZ$llJV;!~kNMBIP}j)F
z3EoyQ)JH7B$dU^eWErf8i6|}cJ<1q3XO%z2!Ni5C>n5ItGWx&9Ks=4z(W{2Ov0>Pl
zI0v??^<;LCo
z4f8J`vvD%9dmY34J>z1OuECqpErHFIYH_R`es+dOH
z9c3O@4bV^C9*+=*p$y{E4fJfNf-(ylVp;5h(n1a#i(4c!i%i9a`Udu)G=>k5;uYp0&f3{9|33jwl(-j4*F<4;T!GSMSI{wt%xy9wu+10xb(@Oq
ziF0?+qq`4A6UU<~-p5w>66J*Ty6R~di+zZnpiI}c-SkSj2%8W)b=S7EoYS58-;*7e
zDCmuqd*}sYE{-F9gfcA$^)%FDJc6}xb1%dEUoh^YwBUi>hWTr^I>CndKbNe+LzLI<
zqs!l-Oxs=|%qqrGjlPDuP24Wjq5Hm4nC|
zUXtUn5BrBiu=cb6A{HQiJy?(O9Fh8lYoLssAZ&?|SONFqJ^a=3RFr-seU
zfaY=NC&yt$^ctzxhn8sm{ckuK>B|{t$CK!fl}7277>Lq$ldL$watnG=ejJN(0&(1xt<9^V}C@LF$A}F&qPN8_Jrl7_{ra
z1Iyz9l$Gv2PQcvbcv*2n2`FDi`^W2g)A6!3p~O_0jzMe-N3`?1)3D@B$ehD*r?l
z7MwCkH{Dm0bswgptc*|4oBbYB40VyX-c;QJxu@wBvM9<8)I)g(48dM_3d^APbmqVG
zW&7#6Pe!2(vW@742k{f8qpXBiXXsJ?7s?V`V5Yv28YnH$8)ei_Lm8YG(Z&sSn`M|k
zhL4=ByT)^l?pp6TG?{##H=>|8cEdI}%JKwCSLB+=XVQ~E*Oh4o7SV;*aNiTpST2zF3~N$51Ez@b%V?o?8v!PH+>j3
zC*FaB@I7`w`!YRfQc#xWpHNo7PgoB
zg8A2gjC`?#p)3$fu@;^{SwM^xder7Xxsib=?}URW$DKu4ADmX|TOk8W||49vH
zR#ac7U)MpnkoX6jh24{M7d*fu;tA`S|1-&y-(aZkaSysMT}Ev*)Li1pn+$ag^YKO+
zi%;Af=^gsQ0Xy}(;W`dxzk4$CePc%ip
zV_s+Cr)88DIsd(0FVqkE$x0*BO9f+2oG;}($O>#noStgPZ}61E`?#SRkjZmGPq&UZ
zkoa3HkL6Ap>JA2BG}b(&m+JL6g7_NB6LvUls2R8j)v&hJ_OG1M?yo|DtT>VjBNS!mxzhG8EY4SvDDfMwLzOdYQUO!0a1^o_LgTCzF
zgR)NCLz$+3qAbNZF3K2Un6@-C%xjdjc_z-ol^B42m-HYTf|H4_qTEQ&%ld;P0%c*D
ziaBr>;YFd4u5`bVkx5A-h#FJXQvu6n55i;2YNusHVrO}Er^lr=sD?{S_>_!#%`
z&v9nQ+Nb(Qt--(R1?V@-!v0Awn5H=6rNc1)2ZN2Tbd!I^&783NYdyN1|IlBt<8d_Q
zA#V&d9)CjVx;}3W^LNF!u`hAH_j*tcM`>ce4|;tG$J)eSV|l!W!?=M=j*q%vC3<5B$_ZznGbW%+qotS|H=@jj1D2;zy6y(b
zYxyO*Vr3_Now_J-a~(TWCo)bH^hO?7Man;HG9XXUhtkZsDCpTw8Q
z%YkD>YkOp!LqeGW8CyJ=`6L+|vh8L3DQ26wHRRtC_rs_yKoiAzYE$a|1(k%HJii?Us$G-C7VY7ofgPeBSvK0Y$GaH+&5
zpH%x#E;C>{WfkyC5}QMHqhO^~QAz@>
z3*|&v?PMEFo*AWBhs^0IWnYt8k>rc%H2c?KD(Nu!PAFS8@@udjCXoi1rTUMN8;NU3
z`~P4S$|#pDn$(LV3sc7SicB+7MbaM}*cun%NUM&_pt8hmCcS0jP@CqIXMES!o}
zSv4ZRndD;a--cZ&Z%Ns7l58o&4m&|}0(s%QvUWVcJH+8s;PtM4CB96Yu`Q$Q3}u-q
zctARC?TDlN5Gjh(ko~g7N?p=>;yuXvW`6F=KE7QXYN}OH3W~`;Y^5oyM9ND37Ac*B
zWMi#TzNEIK@x;%p@`A+QTKTb9oqbbLT2~e+*)EVe5kDejY&m8A@1uZk4f7LQcG#@F
zt0_Clz9Ga-$jfJxYzfv0WZ9K1FZeNm9s8*;?ZX(m>K$QZf~en0tuH%f<^+wIXe{VjrAFYQ(-&j+tbY
z^GRTywg=XrTsCj=Z?L~rhnK3ud>;o;_>4+%q;%2(tAZR9M!H6sy#I}Vl=qaK*5<~3
z+3KTTdmCrvzd|3Y?k)27NX1EmNimcMTl-cJA13W0zQI`*
zlb3BJ>AtkcSL}FA8Z4!3DWv993P*R+&*Xn$zZ+(=4jw=(TUO#Cx7Lmc)GI)~klCh%
zh;oq{kV;ZBA1Q%Ufq1BOWMgW3kvfp}P#!^f8IlX>M`GD>;6YM5QeCTzZ&`EWlTvlD
z%IcDTLTOjhj!f1lt4i=a=^Q(=TNMdaX5uAS5%-Z~JHY;E@-N8$j+IHh{&7q^dA{t-
z?PqMj{)<+8h|+h&J8&}oJ<4YjY#^1S;&?1b@+5zbDox1;N?o=9%Bqv9Q07Mp)y3w&
z{=}=T*q}}$;$bM8H>ncos1-|@Y$1K9B-?MK-J~j1xQ^RNvP~vlN?K^uld>En7s@J7
z)>I1E?hrc>uP2{K{wr*Pi_K21M>NJd!zIhk?EQ@-+d|S~%02OCQV1!5G)d}E-qAYd
zJK`kDo8oLtrTi|+R+IFY@}iVo#$nbm$~hPuN-1I(QxxR+5h-
zJ!kI_;(p}+vg%I5o|Ij+Vxckn*HAVWmlFSlort|iRY@DHx-zP#u&)Slx?I081sU5T
zGJg^mqryD$1#lc`G^reElvT03Wi#qtBfpn@RY|gCwVcAf)1;5Ym9W3wt!|JnW7RRA
ze=7xFQg97t;6&_8nnN1LK}YbA9FUot!(+t%+{zM{unOjrZ$_QBR-H|hZzul)Wd_G@
z$K{mW#lvz;M*BNaAX`gPS<+n6eahaEK5_zo;@nmpvT8N?LX?lh>sXG|!`knM2Z^^*
zZwnqHb|-yH`~n}6Vo5jI=jcWzV{1!+Y!|RM=_2_yxWuXxhMBB7k!DSnIm*gY){9il
zs`ov{vA;O!7^yw`d`UYgA4*z5%0ql#|2~3mZ7OxAU?Dr)QMRwich*_eg1l@KNT1pN
z4Iaf(*bpmYENLD2?)aSgPf@lgjao<9e)d-?}*lLXvG2
z={W~FJ9MwuAUvYyW;-#NUCEp9O?vN`BO+lWW4z_HM~}+vm!expAjX$!*73pXn95vK#i;s+twTGD}
z3y-zgBSZQ|*u#92e;6|%lT+W2&_T(K#~sg}TzaOHQ*xuZeRKJQN5;m<<@$wib78(J
zFe1Kxc%;oL=1j5ip`rHJ*naU55hIe9e!VVBa^yGRu05h+Vn$Syo3w?**lm$fadOj9
z!#IF@4U4kH4G4+zRh|B8wTx>=o7arBMMZL0cx>{yttE|wCflndyKirhIk`{r-ipa%
zZl7|_T-CQ~a*KzP3`cW&q&+4iE-J>~78qp@3y-t;`PTCF^UL1VN5?*mLSpUFA#nrz
zZN9$$Ds62aF)S)3EVfN}Y@EL>IJi!*y-x6Of4_=VLdj-iBBh{CaHJVmtj4a$;K-<`
z=#1iEM@Ce!YG@sMY-n&uTwDxilk9-F!4X#0EVciuRAr#IopyPktXeWC}Oz40>
z9>AwEkMJKm9Oj;;!$TwD!|Y*FBP2G~9vAx`)&9MfpT8|OCiK5nsp4-NYL5(yiutd#
zs`@+V?=XAt;Ha>82K0ZeT+QDWXOI0Kw^rSs@fKRCi9MRD+ap86|LvsAgHU_p0U>Oc_O@95`yG+S>p54lm(!nsw(01Y*Egh3N!wta*`dKWE$nkX&b3dDQB{^2nq_!I0F}*mbT5;mX?%Q*3YQsY@IYQ;FgiU
zz()4%=F(Gb=~JvLO8vyjS&h;udn*~+3naSaHe6G-Ha9vs*(uU0
zyJ!xc-exugr}0()zMm`87StXuw@yV`)I7_slnqmj-7bl_=W{FH%{RKbm!N+(N@J#v
z=OHKaY#Cjal(w1jo#|5(lUEugy8iEae_!R_?v>}{?m71q8~02`-;Ruh9R%A_Jl7bX
e47c=Ywj0v*-%9!QDJgl@8NnS>D!(^UUH%UX&=8UU
diff --git a/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po b/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po
index fa852cfbd..5c9d47f8d 100755
--- a/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po
+++ b/wp-content/plugins/wp-rocket/languages/rocket-fa_IR.po
@@ -1,14 +1,13 @@
-# Copyright (C) 2016 WP Rocket
-# This file is distributed under the same license as the WP Rocket package.
+# Copyright (C) 2023 WP Media
+# This file is distributed under the same license as the WP Rocket plugin.
# Translators:
# Mohammad Yousefzadeh , 2023
-#
-#, fuzzy
+#
msgid ""
msgstr ""
-"Project-Id-Version: WP Rocket 3.13.3\n"
+"Project-Id-Version: WP Rocket 3.15\n"
"Report-Msgid-Bugs-To: http://wp-rocket.me/\n"
-"POT-Creation-Date: 2023-07-17 09:09-0400\n"
+"POT-Creation-Date: 2023-08-28T12:32:53+03:00\n"
"PO-Revision-Date: 2019-08-26 15:14+0000\n"
"Last-Translator: Mohammad Yousefzadeh , 2023\n"
"Language-Team: Persian (Iran) (https://app.transifex.com/wp-media/teams/18133/fa_IR/)\n"
@@ -17,22 +16,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Language: fa_IR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.8.11\n"
-"X-Poedit-Basepath: ..\n"
-"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n"
-"X-Poedit-SearchPath-0: .\n"
-"X-Poedit-SearchPathExcluded-0: assets\n"
-"X-Poedit-SearchPathExcluded-1: src\n"
-"X-Poedit-SearchPathExcluded-2: vendor\n"
-"X-Poedit-SearchPathExcluded-3: node_modules\n"
-"X-Poedit-SearchPathExcluded-4: tests\n"
-"X-Poedit-SearchPathExcluded-5: inc/Dependencies\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Textdomain-Support: yes\n"
+"X-Domain: rocket\n"
+"X-Generator: WP-CLI 2.7.1\n"
+#. Translators: %s = Hosting name.
#: inc/3rd-party/hosting/flywheel.php:18
#: inc/3rd-party/hosting/pressidium.php:18
-#: inc/3rd-party/hosting/wp-serveur.php:27
+#: inc/3rd-party/hosting/wp-serveur.php:27 inc/deprecated/3.6.php:697
+#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22
#: inc/ThirdParty/Hostings/Cloudways.php:90
#: inc/ThirdParty/Hostings/Dreampress.php:44
#: inc/ThirdParty/Hostings/Godaddy.php:63
@@ -40,9 +31,7 @@ msgstr ""
#: inc/ThirdParty/Hostings/OneCom.php:137
#: inc/ThirdParty/Hostings/ProIsp.php:51 inc/ThirdParty/Hostings/Savvii.php:50
#: inc/ThirdParty/Hostings/WPEngine.php:47
-#: inc/ThirdParty/Hostings/WPXCloud.php:51 inc/deprecated/3.6.php:697
-#: inc/deprecated/3.6.php:997 inc/deprecated/3.9.php:22
-#, php-format
+#: inc/ThirdParty/Hostings/WPXCloud.php:51
msgid ""
"Your site is hosted on %s, we have enabled Varnish auto-purge for "
"compatibility."
@@ -67,6 +56,7 @@ msgstr "نتجیه کلادفلیر یافت نشد."
msgid "Incorrect Cloudflare email address or API key."
msgstr "ایمیل یا کلید API حساب Cloudflare نادرست است."
+#. translators: %1$s = opening link; %2$s = closing link
#: inc/Addon/Cloudflare/API/Client.php:198
#: inc/Addon/Cloudflare/API/Client.php:212
#: inc/Addon/Cloudflare/Cloudflare.php:75
@@ -75,10 +65,11 @@ msgstr "ایمیل یا کلید API حساب Cloudflare نادرست است."
#: inc/deprecated/3.5.php:92 inc/deprecated/3.5.php:116
#: inc/deprecated/3.5.php:129 inc/deprecated/3.5.php:157
#: inc/deprecated/3.5.php:173
-#, php-format
msgid "Read the %1$sdocumentation%2$s for further guidance."
msgstr "برای کسب اطلاعات بیشتر این %1$sمستندات%2$s را مطالعه فرمایید."
+#. translators: Documentation exists in EN, FR; use localized URL if
+#. applicable.
#: inc/Addon/Cloudflare/API/Client.php:200
#: inc/Addon/Cloudflare/API/Client.php:214
#: inc/Addon/Cloudflare/Auth/APIKey.php:63
@@ -98,8 +89,8 @@ msgstr ""
msgid "Incorrect Cloudflare Zone ID."
msgstr "شناسه ناحیه Cloudflare نامعتبر است."
+#. translators: %1$s = opening link; %2$s = closing link
#: inc/Addon/Cloudflare/Auth/APIKey.php:61
-#, php-format
msgid ""
"Cloudflare email and/or API key are not set. Read the %1$sdocumentation%2$s "
"for further guidance."
@@ -131,29 +122,30 @@ msgstr "دقیقه"
msgid "hours"
msgstr "ساعت"
+#. translators: %1$s = , %2$s = , %3$s = CloudFare API return
+#. message.
#: inc/Addon/Cloudflare/Subscriber.php:232
#: inc/Addon/Cloudflare/Subscriber.php:261
-#, php-format
msgid "%1$sWP Rocket:%2$s %3$s"
msgstr "%1$sموشک وردپرس:%2$s%3$s"
+#. translators: %1$s = , %2$s = .
#: inc/Addon/Cloudflare/Subscriber.php:250
-#, php-format
msgid "%1$sWP Rocket:%2$s Cloudflare cache successfully purged."
msgstr "%1$sموشک وردپرس:%2$sکش کلادفلیر با موفقیت پاک شد."
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:311
-#, php-format
msgid "Cloudflare development mode error: %s"
msgstr "حالت توسعه CloudFlare با خطا مواجه شد: %s"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:318
-#, php-format
msgid "Cloudflare development mode %s"
msgstr "حالت توسعه CloudFlare %s"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:337
-#, php-format
msgid "Cloudflare cache level error: %s"
msgstr "خطای سطح کش CloudFlare: %s"
@@ -162,48 +154,48 @@ msgctxt "Cloudflare caching level"
msgid "standard"
msgstr "استاندارد"
+#. translators: %s is the caching level returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:350
-#, php-format
msgid "Cloudflare cache level set to %s"
msgstr "سطح کش CloudFlare به %s تنظیم شد"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:368
-#, php-format
msgid "Cloudflare minification error: %s"
msgstr "خطای فشردهسازی Cloudflare: %s"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:375
-#, php-format
msgid "Cloudflare minification %s"
msgstr "فشرده سازی %s Cloudflare"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:393
-#, php-format
msgid "Cloudflare rocket loader error: %s"
msgstr "خطای بارگذار موشک Cloudflare: %s"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:400
-#, php-format
msgid "Cloudflare rocket loader %s"
msgstr "بارگذار موشک Cloudflare %s"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:418
-#, php-format
msgid "Cloudflare browser cache error: %s"
msgstr "CloudFlare خطای کش مرورگر: %s"
+#. translators: %s is the message returned by the CloudFlare API.
#: inc/Addon/Cloudflare/Subscriber.php:425
-#, php-format
msgid "Cloudflare browser cache set to %s"
msgstr "کش مرورگر کلادفلیر تنظیم شده به%s"
+#. translators: %1$s = strong opening tag, %2$s = strong closing tag.
#: inc/Addon/Cloudflare/Subscriber.php:536
-#, php-format
msgid "%1$sWP Rocket:%2$s Optimal settings activated for Cloudflare:"
msgstr "%1$sموشک وردپرس:%2$sتنظیمات مناسب برای کلادفلیر فعال شد:"
+#. translators: %1$s = strong opening tag, %2$s = strong closing tag.
#: inc/Addon/Cloudflare/Subscriber.php:545
-#, php-format
msgid ""
"%1$sWP Rocket:%2$s Optimal settings deactivated for Cloudflare, reverted to "
"previous settings:"
@@ -211,13 +203,13 @@ msgstr ""
"%1$sموشک وردپرس:%2$sتنظیمات مناسب برای کلادفلیر غیرفعال شد و به تنظیمات قبلی"
" بازگشت:"
-#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:184
+#: inc/Addon/Cloudflare/Subscriber.php:661 inc/admin/options.php:144
#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:148
msgid "WP Rocket: "
msgstr "راکت وردپرس: "
+#. translators: %s is the error message returned by the API.
#: inc/Addon/Sucuri/Subscriber.php:96
-#, php-format
msgid "Sucuri cache purge error: %s"
msgstr "خطای پاک کردن حافظه Sucuri:%s"
@@ -237,8 +229,8 @@ msgstr "کلید API فایروال Sucuri یافت نشد."
msgid "Sucuri firewall API key is invalid."
msgstr "کلید API فایروال Sucuri نامعتبر است."
+#. translators: %s is an error message.
#: inc/Addon/Sucuri/Subscriber.php:286
-#, php-format
msgid "Error when contacting Sucuri firewall API. Error message was: %s"
msgstr ""
"هنگام ارتباط با کلید API فایروال Sucuri خطایی رخ داده است. پیام خطا: %s"
@@ -255,15 +247,16 @@ msgstr "پاسخ نامعتبر از API فایروال Sucuri دریافت شد
msgid "The Sucuri firewall API returned an unknown error."
msgstr "API فایروال Sucuri خطای نامشخصی برگرداند."
+#. translators: %s is an error message.
#: inc/Addon/Sucuri/Subscriber.php:334
-#, php-format
msgid "The Sucuri firewall API returned the following error: %s"
msgid_plural "The Sucuri firewall API returned the following errors: %s"
msgstr[0] "API فایروال Sucuri خطای نامشخص زیر را برگرداند:%s"
msgstr[1] "API فایروال Sucuri خطای نامشخص زیر را برگرداند:%s"
+#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing
+#. tag.
#: inc/Addon/WebP/AdminSubscriber.php:93
-#, php-format
msgid ""
"You are using %1$s to serve WebP images so you do not need to enable this "
"option. %2$sMore info%3$s %4$s If you prefer to have WP Rocket serve WebP "
@@ -285,9 +278,10 @@ msgstr[1] ""
msgid "WebP cache is disabled by filter."
msgstr "کش WebP با فیلتر غیرفعال است."
+#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing
+#. tag.
#: inc/Addon/WebP/AdminSubscriber.php:115
#: inc/Addon/WebP/AdminSubscriber.php:141
-#, php-format
msgid ""
"You are using %1$s to convert images to WebP. If you want WP Rocket to serve"
" them for you, activate this option. %2$sMore info%3$s"
@@ -301,9 +295,10 @@ msgstr[1] ""
"برای تبدیل تصاویر به WebP شما از %1$s استفاده می کنید. اگر می خواهید از طریق"
" موشک وردپرس اقدام کنید، این گزینه را فعال نمایید.%2$sراهنمایی%3$s"
+#. Translators: %1$s = plugin name(s), %2$s = opening tag, %3$s = closing
+#. tag.
#: inc/Addon/WebP/AdminSubscriber.php:127
#: inc/Addon/WebP/AdminSubscriber.php:153
-#, php-format
msgid ""
"You are using %1$s to convert images to WebP. WP Rocket will create separate"
" cache files to serve your WebP images. %2$sMore info%3$s"
@@ -317,8 +312,8 @@ msgstr[1] ""
"برای تبدیل تصاویر به WebP شما از %1$s استفاده می کنید. موشک وردپرس برای کش "
"از فایل کش جداگانه استفاده می کند برای تصاویر WebP شما.%2$sراهنمایی%3$s"
+#. Translators: %1$s = opening tag, %2$s = closing tag.
#: inc/Addon/WebP/AdminSubscriber.php:173
-#, php-format
msgid ""
"%5$sWe have not detected any compatible WebP plugin!%6$s%4$s If you don’t "
"already have WebP images on your site consider using %3$sImagify%2$s or "
@@ -336,3283 +331,3080 @@ msgstr ""
"موشک وردپرس فایل های کش جداگانه ای را برای ارائه تصاویر WebP شما ایجاد می "
"کند."
-#: inc/Engine/Admin/Database/Optimization.php:30
-#: inc/Engine/Admin/Settings/Page.php:1475
-msgid "Revisions"
-msgstr "بازبینیها"
+#: inc/admin/admin.php:18 inc/common/admin-bar.php:266
+#: inc/deprecated/deprecated.php:1787
+msgid "Support"
+msgstr "پشتیبانی"
-#: inc/Engine/Admin/Database/Optimization.php:31
-#: inc/Engine/Admin/Settings/Page.php:1485
-msgid "Auto Drafts"
-msgstr "پیش نویس خودکار"
+#: inc/admin/admin.php:20
+msgid "Docs"
+msgstr "مستندات"
-#: inc/Engine/Admin/Database/Optimization.php:32
-#: inc/Engine/Admin/Settings/Page.php:1495
-msgid "Trashed Posts"
-msgstr "نوشتههای داخل زباله دان"
+#: inc/admin/admin.php:22 inc/common/admin-bar.php:254
+msgid "FAQ"
+msgstr "سوالات متداول"
-#: inc/Engine/Admin/Database/Optimization.php:33
-#: inc/Engine/Admin/Settings/Page.php:1505
-msgid "Spam Comments"
-msgstr "دیدگاههای اسپم"
+#: inc/admin/admin.php:24 inc/common/admin-bar.php:63
+msgid "Settings"
+msgstr "تنظیمات"
-#: inc/Engine/Admin/Database/Optimization.php:34
-#: inc/Engine/Admin/Settings/Page.php:1515
-msgid "Trashed Comments"
-msgstr "دیدگاههای زبالهدان"
+#: inc/admin/admin.php:96 inc/admin/admin.php:118 inc/deprecated/3.5.php:898
+#: inc/Engine/Cache/AdminSubscriber.php:134
+msgid "Clear this cache"
+msgstr "خالی کردن این کش"
-#: inc/Engine/Admin/Database/Optimization.php:35
-msgid "Transients"
-msgstr "دادههای گذرا"
+#: inc/admin/admin.php:397
+msgid "Settings import failed: you do not have the permissions to do this."
+msgstr ""
+"درونریزی تنظیمات ناموفق بود: شما دسترسی کافی برای انجام این کار را ندارید."
-#: inc/Engine/Admin/Database/Optimization.php:36
-msgid "Tables"
-msgstr "جداول"
+#: inc/admin/admin.php:401
+msgid "Settings import failed: no file uploaded."
+msgstr "درونریزی تنظیمات ناموفق بود: فایلی بارگذاری نشد."
-#: inc/Engine/Admin/Database/Subscriber.php:79
-#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92
-#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137
-msgid "weekly"
-msgstr "هفتگی"
+#: inc/admin/admin.php:405
+msgid "Settings import failed: incorrect filename."
+msgstr "درونریزی تنظیمات ناموفق بود: نام فایل اشتباه است."
-#: inc/Engine/Admin/Database/Subscriber.php:85
-msgid "monthly"
-msgstr "ماهیانه"
+#: inc/admin/admin.php:416
+msgid "Settings import failed: incorrect filetype."
+msgstr "درونریزی تنظیمات ناموفق بود: نوع فایل اشتباه است."
-#: inc/Engine/Admin/Database/Subscriber.php:194
-msgid "Database optimization process is running"
-msgstr "فرآیند بهینهسازی پایگاه داده در حال اجرا است"
+#: inc/admin/admin.php:426
+msgid "Settings import failed: "
+msgstr "درونریزی تنظیمات ناموفق بود: "
-#: inc/Engine/Admin/Database/Subscriber.php:224
-msgid ""
-"Database optimization process is complete. Everything was already optimized!"
-msgstr "فرآیند بهینهسازی پایگاه داده کامل شد. همینک همه چیز باید بهینه باشد!"
+#: inc/admin/admin.php:442
+msgid "Settings import failed: unexpected file content."
+msgstr "درون ریزی تنظیمات انجام نشد: محتوای فایل غیر منتظره بود."
-#: inc/Engine/Admin/Database/Subscriber.php:227
-msgid ""
-"Database optimization process is complete. List of optimized items below:"
-msgstr ""
-"فرآیند بهینهسازی پایگاه داده کامل شد. فهرست موارد بهینه شده در زیر آمده "
-"است:"
+#: inc/admin/admin.php:472
+msgid "Settings imported and saved."
+msgstr "تنظیمات درونریزی و ذخیره شد."
-#: inc/Engine/Admin/Database/Subscriber.php:235
-#, php-format
-msgid "%1$d %2$s optimized."
-msgstr "%1$d %2$s بهینه شد."
+#: inc/admin/options.php:84 inc/Engine/Admin/Settings/Page.php:684
+msgid "Excluded CSS Files"
+msgstr "فایلهای CSS مستثنی شده"
-#: inc/Engine/Admin/Settings/Page.php:201
-msgid "Save Changes"
-msgstr "ذخیره تغییرات"
+#: inc/admin/options.php:85 inc/Engine/Admin/Settings/Page.php:838
+msgid "Excluded Inline JavaScript"
+msgstr "حذف جاوا اسکریپت داخلی"
-#: inc/Engine/Admin/Settings/Page.php:201
-msgid "Validate License"
-msgstr "اعتبار لایسنس"
+#: inc/admin/options.php:86 inc/Engine/Admin/Settings/Page.php:856
+#: inc/Engine/Admin/Settings/Page.php:889
+#: inc/Engine/Admin/Settings/Page.php:936
+msgid "Excluded JavaScript Files"
+msgstr "مستثنی کردن فایلهای جاوا اسکریپت"
-#: inc/Engine/Admin/Settings/Page.php:257
-#: inc/Engine/Admin/Settings/Page.php:258
-msgid "Unavailable"
-msgstr "دردسترس نیست"
+#: inc/admin/options.php:87
+msgid "Defer JavaScript Files"
+msgstr "به تعویق انداختن فایل های جاوا اسکریپت"
-#: inc/Engine/Admin/Settings/Page.php:352 inc/deprecated/deprecated.php:1789
-#: views/settings/page-sections/dashboard.php:80
-msgid "License"
-msgstr "کد لایسنس"
+#: inc/admin/options.php:88
+msgid "Excluded Delay JavaScript Files"
+msgstr "فایلهای جاوا اسکریپت تاخیری حذف شدند"
-#: inc/Engine/Admin/Settings/Page.php:369
-msgid "API key"
-msgstr "کلید API"
+#: inc/admin/options.php:89 inc/Engine/Admin/Settings/Page.php:1329
+msgid "Never Cache URL(s)"
+msgstr "آدرس(هایی) که هرگز کش نخواهند شد"
-#: inc/Engine/Admin/Settings/Page.php:384
-msgid "Email address"
-msgstr "ایمیل"
+#: inc/admin/options.php:90 inc/Engine/Admin/Settings/Page.php:1343
+msgid "Never Cache User Agent(s)"
+msgstr "عامل(های) کاربری هرگز کش نخواهند شد"
-#: inc/Engine/Admin/Settings/Page.php:410
-msgid "Dashboard"
-msgstr "پیشخوان"
+#: inc/admin/options.php:91 inc/Engine/Admin/Settings/Page.php:1349
+msgid "Always Purge URL(s)"
+msgstr "URL (هایی) که همیشه پاکسازی شوند"
-#: inc/Engine/Admin/Settings/Page.php:411
-msgid "Get help, account info"
-msgstr "دریافت راهنمایی، اطلاعات حساب کاربری"
+#: inc/admin/options.php:92 inc/Engine/Admin/Settings/Page.php:1616
+msgid "Exclude files from CDN"
+msgstr "مستثنی کردن فایلها از CDN"
-#: inc/Engine/Admin/Settings/Page.php:420
-msgid "My Status"
-msgstr "وضعیت من"
+#. translators: 1 and 2 can be anything.
+#: inc/admin/options.php:110
+msgid "%1$s: %2$s "
+msgstr "%1$s: %2$s "
-#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75
-msgid "Rocket Analytics"
-msgstr "تجزیه و تحلیل موشک"
+#: inc/admin/options.php:120
+msgid "The following pattern is invalid and has been removed:"
+msgid_plural "The following patterns are invalid and have been removed:"
+msgstr[0] "الگوی زیر نامعتبر بوده و حذف شده است:"
+msgstr[1] "الگوی زیر نامعتبر بوده و حذف شده است:"
-#: inc/Engine/Admin/Settings/Page.php:432
-#, php-format
-msgid ""
-"I agree to share anonymous data with the development team to help improve WP"
-" Rocket. %1$sWhat info will we collect?%2$s"
-msgstr ""
-"من با اشتراک گذاری دادههای ناشناس با تیم توسعه برای گسترش موشک وردپرس "
-"موافقم. %1$sچه اطلاعاتی را جمع آوری میکنیم؟%2$s"
+#: inc/admin/options.php:136
+msgid "More info"
+msgstr "اطلاعات بیشتر"
-#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354
-msgid "Cache"
-msgstr "کش"
+#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:671
+#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147
+#: views/settings/page-sections/dashboard.php:150
+msgid "Clear cache"
+msgstr "پاک کردن کش"
-#: inc/Engine/Admin/Settings/Page.php:457
-msgid "Basic cache options"
-msgstr "گزینههای اصلی کش"
+#: inc/admin/ui/meta-boxes.php:67
+msgid "WP Rocket Options"
+msgstr "تنظیمات موشک وردپرس"
-#: inc/Engine/Admin/Settings/Page.php:464
-msgid "Mobile Cache"
-msgstr "کش موبایل"
+#: inc/admin/ui/meta-boxes.php:96
+msgid "Never cache this page"
+msgstr "هرگز این برگه را کش نکن"
-#: inc/Engine/Admin/Settings/Page.php:466
-msgid "Speed up your site for mobile visitors."
-msgstr "سرعت سایت خود را برای بازدید کنندگان موبایل نیز افزایش دهید."
+#: inc/admin/ui/meta-boxes.php:100
+msgid "Activate these options on this post:"
+msgstr "فعال کردن این گزینهها برای این نوشته:"
-#: inc/Engine/Admin/Settings/Page.php:471
-msgid ""
-"We detected you use a plugin that requires a separate cache for mobile, and "
-"automatically enabled this option for compatibility."
-msgstr ""
-"ما متوجه شدیم که شما از یک افزونه استفاده میکنید که نیاز به یک کش مجزا برای"
-" موبایل دارد، و این گزینه را برای سازگاری به طور خودکار فعال کردیم."
+#: inc/admin/ui/meta-boxes.php:103
+msgid "LazyLoad for images"
+msgstr "باگذاری با تاخیر تصاویر"
-#: inc/Engine/Admin/Settings/Page.php:475
-msgid "User Cache"
-msgstr "کش کاربر"
+#: inc/admin/ui/meta-boxes.php:104
+msgid "LazyLoad for iframes/videos"
+msgstr "بارگذاری با تاخیر آیفریمها\\ویدیوها"
-#: inc/Engine/Admin/Settings/Page.php:478
-#, php-format
-msgid ""
-"%1$sUser cache%2$s is great when you have user-specific or restricted "
-"content on your website."
-msgstr ""
-"زمانی که در وبسایت خود محتوای مخصوص کاربران یا محافظت شده دارید %1$s کش "
-"کاربر%2$s برای شما عالی خواهد بود."
+#: inc/admin/ui/meta-boxes.php:105
+msgid "Minify CSS"
+msgstr "فشردهسازی CSS"
-#: inc/Engine/Admin/Settings/Page.php:486
-msgid "Cache Lifespan"
-msgstr "طول عمر کش"
+#: inc/admin/ui/meta-boxes.php:106 inc/Engine/Admin/Settings/Page.php:736
+msgid "Remove Unused CSS"
+msgstr "حذف CSS بدون استفاده"
-#: inc/Engine/Admin/Settings/Page.php:489
-#, php-format
-msgid ""
-"Cache files older than the specified lifespan will be deleted. Enable "
-"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan "
-"expiration."
-msgstr ""
-"فایل های کش قدیمی تر از طول عمر مشخص شده حذف می شوند. فعال کردن%1$sپیش "
-"بارگذاری%2$s برای کش باعث ایجاد خودکار آن بعد از دوره پایان عمر آن می شود."
+#: inc/admin/ui/meta-boxes.php:107
+msgid "Minify/combine JS"
+msgstr "فشردهسازی\\ترکیب JS"
-#: inc/Engine/Admin/Settings/Page.php:503
-msgid "Enable caching for logged-in WordPress users"
-msgstr "فعالسازی کش برای کاربران وارد شدهی وردپرس"
+#: inc/admin/ui/meta-boxes.php:108 inc/deprecated/deprecated.php:1773
+#: inc/Engine/Admin/Settings/Page.php:1586
+#: inc/Engine/Admin/Settings/Page.php:1597
+msgid "CDN"
+msgstr "شبکه تحویل محتوا CDN"
-#: inc/Engine/Admin/Settings/Page.php:511
-msgid "Enable caching for mobile devices"
-msgstr "فعال سازی کش برای دستگاههای موبایل"
+#: inc/admin/ui/meta-boxes.php:109 inc/Engine/Admin/Settings/Page.php:765
+msgid "Load CSS asynchronously"
+msgstr "CSS را به صورت غیر همزمان بارگذاری کنید"
-#: inc/Engine/Admin/Settings/Page.php:526
-msgid "Separate cache files for mobile devices"
-msgstr "جداسازی فایلهای کش برای دستگاههای موبایل"
+#: inc/admin/ui/meta-boxes.php:110
+msgid "Defer JS"
+msgstr "تعویق جاوا اسکریپت"
-#: inc/Engine/Admin/Settings/Page.php:528
-#, php-format
+#: inc/admin/ui/meta-boxes.php:111 inc/Engine/Admin/Settings/Page.php:907
+msgid "Delay JavaScript execution"
+msgstr "تاخیر اجرای جاوا اسکریپت"
+
+#. translators: %s is the name of the option.
+#: inc/admin/ui/meta-boxes.php:130
+msgid "Activate first the %s option."
+msgstr "ابتدا گزینه %s را فعال کنید."
+
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/admin/ui/meta-boxes.php:146
msgid ""
-"Most modern themes are responsive and should work without a separate cache. "
-"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore "
-"info%2$s"
+"%1$sNote:%2$s None of these options will be applied if this post has been "
+"excluded from cache in the global cache settings."
msgstr ""
-"اکثر قالب های مدرن واکنشگرا هستند و باید بدون کش جداگانه کار کنند. این کار "
-"را فقط در صورتی انجام دهید که قالب یا افزونه اختصاصی موبایل دارید.%1$sمطالعه"
-" راهنما%2$s"
+"%1$sنکته:%2$s هیچکدام از این گزینه ها اعمال نمی شود اگر این نوشته از کش شدن "
+"مستثنی شده باشد در تنظیمات کش کلی."
-#: inc/Engine/Admin/Settings/Page.php:544
+#. translators: %1$s WP Rocket plugin name; %2$s = file name.
+#: inc/admin/ui/notices.php:30 inc/admin/ui/notices.php:43
msgid ""
-"Specify time after which the global cache is cleared (0 = unlimited )"
+"%1$s has not been deactivated due to missing writing permissions. \n"
+"Make %2$s writeable and retry deactivation, or force deactivation now:"
msgstr ""
-"مدت زمانی که بعد از آن کش عمومی پاک میشود را تعیین کنید (0 = نامحدود)"
+"%1$s به خاطر مشکل در دسترسیهای نوشتن فعال نشده است. \n"
+"%2$s را قابل نوشتن کرده و سپس غیرفعال سازی را دوباره امتحان کنید، یا الان غیرفعال کنید:"
-#: inc/Engine/Admin/Settings/Page.php:546
-#, php-format
+#. translators: %s is WP Rocket plugin name.
+#: inc/admin/ui/notices.php:97
msgid ""
-"Reduce lifespan to 10 hours or less if you notice issues that seem to appear"
-" periodically. %1$sWhy?%2$s"
+"%s : One or more plugins have been enabled or disabled, "
+"clear the cache if they affect the front end of your site."
msgstr ""
-"اگر به طور متناوب خطاهایی را مشاهده میکنید طول عمر کش را به 10 ساعت یا کمتر"
-" کاهش دهید. %1$sچرا؟%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:552
-#: inc/Engine/License/views/promo-banner.php:30
-#: inc/Engine/License/views/renewal-soon-banner.php:13
-msgid "Hours"
-msgstr "ساعت"
-
-#: inc/Engine/Admin/Settings/Page.php:553
-#: inc/Engine/License/views/promo-banner.php:29
-#: inc/Engine/License/views/renewal-soon-banner.php:12
-msgid "Days"
-msgstr "روزها"
-
-#: inc/Engine/Admin/Settings/Page.php:602
-msgid "File Optimization"
-msgstr "بهینهسازی فایل"
-
-#: inc/Engine/Admin/Settings/Page.php:603
-msgid "Optimize CSS & JS"
-msgstr "بهینهسازی CSS و JS"
+"%s : یک یا چند افزونه فعال یا غیرفعال شدهاند، اگر آنها "
+"ظاهر سایت شما را به هم ریختهاند، کش را پاک کنید."
-#: inc/Engine/Admin/Settings/Page.php:611
-#: inc/Engine/Admin/Settings/Page.php:637
-#, php-format
+#. translators: %s is WP Rocket plugin name.
+#: inc/admin/ui/notices.php:141
msgid ""
-"%1$s Minification is currently activated in Autoptimize . If"
-" you want to use %2$s’s minification, disable those options in Autoptimize."
+"%s : The following plugins are not compatible with this "
+"plugin and may cause unexpected results:"
msgstr ""
-"فشردهسازی %1$s هم اکنون در بهینهساز خودکار فعال شده است. "
-"اگر مایل به استفاده از فشردهساز %2$s هستید، گزینههای آن را در بهینهساز "
-"خودکار غیرفعال کنید."
-
-#: inc/Engine/Admin/Settings/Page.php:621
-msgid "CSS Files"
-msgstr "فایلهای CSS"
+"%s : افزونههای زیر با این افزونه سازگار نیستند و ممکن است "
+"باعث نتایج غیرمنتظره شوند:"
-#: inc/Engine/Admin/Settings/Page.php:630
-msgid "JavaScript Files"
-msgstr "فایلهای جاوا اسکریپت"
+#: inc/admin/ui/notices.php:147
+msgid "Deactivate"
+msgstr "غیرفعال سازی"
-#: inc/Engine/Admin/Settings/Page.php:642
+#: inc/admin/ui/notices.php:189
msgid ""
-"If you have problems after activating this option, copy and paste the "
-"default exclusions to quickly resolve issues:"
+"WP Rocket Footer JS is not an official add-on. It prevents some options in "
+"WP Rocket from working correctly. Please deactivate it if you have problems."
msgstr ""
-"اگر پس از فعالسازی این گزینه با مشکل مواجه شدید، استثناهای پیشفرض را کپی و"
-" جایگذاری کنید تا مشکلات به سرعت حل شوند:"
+"WP Rocket Footer JS یک افزودنی رسمی نیست. از عملکرد صحیح برخی از گزینه ها در"
+" WP Rocket جلوگیری می کند. لطفاً در صورت بروز مشکل آن را غیرفعال کنید."
-#: inc/Engine/Admin/Settings/Page.php:646
-#, php-format
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/admin/ui/notices.php:229
msgid ""
-"Also, please check our %1$sdocumentation%2$s for a list of compatibility "
-"exclusions."
+"Endurance Cache is currently enabled, which will conflict with WP Rocket "
+"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the "
+"%1$sSettings > General%2$s page to prevent any issues."
msgstr ""
-"همچنین، لطفاً%1$sاسناد%2$sما را برای فهرستی از استثناهای سازگاری بررسی کنید."
+"Endurance Cache در حال حاضر فعال است که با WP Rocket Cache در تضاد است. "
+"لطفاً سطح کش Endurance Cache را در حالت Off (سطح 0) در حالت تنظیم کنید "
+"%1$sتنظیمات > عمومی%2$s جلوگیری از هرگونه مشکلی میکند."
-#: inc/Engine/Admin/Settings/Page.php:651
+#. translators: %1$s WP Rocket plugin name; %2$s = opening link; %3$s =
+#. closing link
+#: inc/admin/ui/notices.php:250
msgid ""
-"Internal scripts are excluded by default to prevent issues. Remove them to "
-"take full advantage of this option."
+"%1$s: A custom permalink structure is required for the plugin to work "
+"properly. %2$sGo to permalinks settings%3$s"
msgstr ""
-"اسکریپت های داخلی به طور پیش فرض برای جلوگیری از مشکلات حذف می شوند. برای "
-"استفاده کامل از این گزینه، آنها را حذف کنید."
+"%1$s: برای درست عمل کردن افزونه نیاز است پیوندهای یکتا را فعال کنید. %2$s "
+"رفتن به تنظیمات پیوندهای یکتا%3$s"
-#: inc/Engine/Admin/Settings/Page.php:654
-#, php-format
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:297
msgid ""
-"If this causes trouble, restore the default exclusions, found %1$shere%2$s"
-msgstr ""
-"اگر این باعث مشکل می شود، موارد استثنای پیش فرض پیدا شده را بازیابی کنید "
-"%1$s اینجا %2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:663
-msgid "Minify CSS files"
-msgstr "فشردهسازی فایلهای CSS"
-
-#: inc/Engine/Admin/Settings/Page.php:664
-msgid "Minify CSS removes whitespace and comments to reduce the file size."
-msgstr ""
-"فشردهسازی فایلهای CSS حجم را با استفاده از حذف کامنتها و فضاهای خالی کاهش"
-" میدهد."
+"%s could not modify the .htaccess file due to missing writing permissions."
+msgstr "%s به علت عدم دسترسی نوشتن .htaccess نمیتواند خود را تنظیم کند."
-#: inc/Engine/Admin/Settings/Page.php:677
-#: inc/Engine/Admin/Settings/Page.php:701
-#: inc/Engine/Admin/Settings/Page.php:765
-#: inc/Engine/Admin/Settings/Page.php:831
-#: inc/Engine/Admin/Settings/Page.php:855
-msgid "This could break things!"
-msgstr "این ممکن است بعضی چیزها را خراب کند!"
+#. translators: This is a doc title! %1$s = opening link; %2$s = closing link
+#: inc/admin/ui/notices.php:303 inc/admin/ui/notices.php:788
+msgid "Troubleshoot: %1$sHow to make system files writeable%2$s"
+msgstr "عیبیابی: %1$s چگونه فایلهای سیستمی را قابل نوشتن کنیم%2$s"
-#: inc/Engine/Admin/Settings/Page.php:678
-#: inc/Engine/Admin/Settings/Page.php:702
-#: inc/Engine/Admin/Settings/Page.php:766
-#: inc/Engine/Admin/Settings/Page.php:832
-#: inc/Engine/Admin/Settings/Page.php:856
+#. translators: Documentation exists in EN, DE, FR, ES, IT; use loaclised URL
+#. if applicable
+#: inc/admin/ui/notices.php:305 inc/admin/ui/notices.php:790
msgid ""
-"If you notice any errors on your website after having activated this "
-"setting, just deactivate it again, and your site will be back to normal."
+"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-"
+"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket"
msgstr ""
-"اگر پس از فعالسازی این تنظیمات در سایت خود با خطایی مواجه شدید، فقط آن "
-"تنظیم را غیرفعال کرده تا سایت به وضعیت عادی بازگردد."
+"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-"
+"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket"
-#: inc/Engine/Admin/Settings/Page.php:679
-msgid "Activate minify CSS"
-msgstr "فعالسازی فشردهساز CSS"
+#: inc/admin/ui/notices.php:311
+msgid ""
+"Don’t worry, WP Rocket’s page caching and settings will still function "
+"correctly."
+msgstr "نگران نباشید ، ذخیره و تنظیمات صفحه WP Rocket همچنان درست کار می کند."
-#: inc/Engine/Admin/Settings/Page.php:684
-msgid "Combine CSS files (Enable Minify CSS files to select) "
+#: inc/admin/ui/notices.php:311
+msgid ""
+"For optimal performance, adding the following lines into your .htaccess is "
+"recommended (not required):"
msgstr ""
-"ادغام فایلهای CSS (برای انتخاب این گزینه، فشرده ساز فایلهای CSS را "
-"فعال کنید) "
+"برای عملکرد مطلوب ، افزودن خطوط زیر به .htaccess توصیه می شود (لازم نیست):"
-#: inc/Engine/Admin/Settings/Page.php:686
-#, php-format
+#. translators: %1$s = plugin name, %2$s + %3$s = opening links, %4$s =
+#. closing link
+#: inc/admin/ui/notices.php:458
msgid ""
-"Combine CSS merges all your files into 1, reducing HTTP requests. Not "
-"recommended if your site uses HTTP/2. %1$sMore info%2$s"
+"%1$s is good to go! %2$sTest your load time%4$s, or visit your "
+"%3$ssettings%4$s."
msgstr ""
-"ادغام فایلهای CSS همه فایلهای شما را داخل ۱ فایل ترکیب میکند که باعث کاهش"
-" درخواستهای HTTP میشود. اگر سایت شما از HTTP/2 استفاده میکند این گزینه "
-"توصیه نمیشود. %1$sاطلاعات بیشتر%2$s"
+"%1$s آماده است! %2$s زمان بارگذاری خود را امتحان کنید%4$s، یا "
+"%3$sتنظیمات%4$s خود را مشاهده کنید."
-#: inc/Engine/Admin/Settings/Page.php:687
+#: inc/admin/ui/notices.php:499
msgid ""
-"For compatibility and best results, this option is disabled when Remove "
-"unused CSS is enabled."
+"Would you allow WP Rocket to collect non-sensitive diagnostic data from this"
+" website?"
msgstr ""
-"برای سازگاری و بهترین نتایج، وقتی Remove unused CSS فعال باشد، این گزینه "
-"غیرفعال می شود."
+"آیا اجاره میدهید موشک وردپرس اطلاعات مرتبط غیرحساس را از این وبسایت جمع "
+"آوری کند؟"
-#: inc/Engine/Admin/Settings/Page.php:703
-msgid "Activate combine CSS"
-msgstr "فعالسازی ادغام CSS"
+#: inc/admin/ui/notices.php:500
+msgid "This would help us to improve WP Rocket for you in the future."
+msgstr "این کار به ما کمک خواهد کرد تا در آینده موشک وردپرس را بهبود ببخشیم."
-#: inc/Engine/Admin/Settings/Page.php:708 inc/admin/options.php:124
-msgid "Excluded CSS Files"
-msgstr "فایلهای CSS مستثنی شده"
+#. translators: button text, click will expand data collection preview
+#: inc/admin/ui/notices.php:506
+msgid "What info will we collect?"
+msgstr "چه اطلاعاتی را جمع آوری میکنیم؟"
-#: inc/Engine/Admin/Settings/Page.php:709
+#: inc/admin/ui/notices.php:511
msgid ""
-"Specify URLs of CSS files to be excluded from minification and concatenation"
-" (one per line)."
+"Below is a detailed view of all data WP Rocket will collect if granted "
+"permission. WP Rocket will never transmit any domain names or email "
+"addresses (except for license validation), IP addresses, or third-party API "
+"keys."
msgstr ""
-"آدرس استایل های CSS برای صرف نظر از فشرده و یکپارچه سازی را وارد کنید ( هر "
-"آدرس در یک خط)."
+"در زیر تمام اطلاعاتی که موشک وردپرس در صورت داشتن مجوز شما جمع آوری خواهد "
+"کرد را مشاهده میکنید. موشک وردپرس هرگز نام دامنه یا آدرس ایمیلی (تنها برای "
+"فعالسازی لایسنس)، آدرس آی پی یا کلیدهای وبسرویس ثانویه را منتقل نخواهد "
+"کرد."
-#: inc/Engine/Admin/Settings/Page.php:710
-msgid ""
-"Internal: The domain part of the URL will be stripped "
-"automatically. Use (.*).css wildcards to exclude all CSS files located at a "
-"specific path."
-msgstr ""
-"داخلی: بخش دامنه URL به طور خودکار برداشته می شود. برای حذف "
-"همه فایل های CSS که در یک مسیر خاص قرار دارند ، از (.*). css استفاده کنید."
+#. translators: button text for data collection opt-in
+#: inc/admin/ui/notices.php:520
+msgid "Yes, allow"
+msgstr "بله، اجازه میدهم"
-#: inc/Engine/Admin/Settings/Page.php:712
-#, php-format
-msgid ""
-"3rd Party: Use either the full URL path or only the domain "
-"name, to exclude external CSS. %1$sMore info%2$s"
-msgstr ""
-"شخص 3rd: برای حذف CSS خارجی ، از مسیر URL کامل یا فقط از نام"
-" دامنه استفاده کنید.%1$sراهنمایی%2$s"
+#. translators: button text for data collection opt-in
+#: inc/admin/ui/notices.php:523
+msgid "No, thanks"
+msgstr "نه، متشکرم"
-#: inc/Engine/Admin/Settings/Page.php:725
-#: inc/Engine/Admin/Settings/Page.php:747
-msgid "Optimize CSS delivery"
-msgstr "بهینهسازی تحویل CSS"
+#: inc/admin/ui/notices.php:562
+msgid "Thank you!"
+msgstr "متشکریم!"
-#: inc/Engine/Admin/Settings/Page.php:730
-msgid ""
-"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
-"one method can be selected. Remove Unused CSS is recommended for optimal "
-"performance, but limited only to the users with active license."
-msgstr ""
-"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. "
-"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده "
-"توصیه می شود. اما فقط محدود برای افرادی است که لایسنس فعال دارند."
+#: inc/admin/ui/notices.php:567
+msgid "WP Rocket now collects these metrics from your website:"
+msgstr "موشک وردپرس اکنون این معیارها را از وبسایت شما جمعآوری میکند:"
-#: inc/Engine/Admin/Settings/Page.php:730
-msgid ""
-"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
-"one method can be selected. Remove Unused CSS is recommended for optimal "
-"performance."
-msgstr ""
-"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. "
-"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده "
-"توصیه می شود."
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:605
+msgid "%s: Cache cleared."
+msgstr "%s: کش پاک شد."
-#: inc/Engine/Admin/Settings/Page.php:740
-#, php-format
-msgid ""
-"Optimize CSS Delivery features are disabled on local environments. %1$sLearn"
-" more%2$s"
-msgstr ""
-"ویژگی بهینه سازی تحویل CSS در محیط محلی غیرفعال است.%1$sبیشتر بخوانید%2$s"
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:612
+msgid "%s: Post cache cleared."
+msgstr "%s: کش نوشته پاک شد."
-#: inc/Engine/Admin/Settings/Page.php:760 inc/admin/ui/meta-boxes.php:106
-msgid "Remove Unused CSS"
-msgstr "حذف CSS بدون استفاده"
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:619
+msgid "%s: Term cache cleared."
+msgstr "%s: کش شرط پاک شد."
-#: inc/Engine/Admin/Settings/Page.php:763
-#, php-format
-msgid ""
-"Removes unused CSS per page and helps to reduce page size and HTTP requests."
-" Recommended for best performance. Test thoroughly! %1$sMore info%2$s"
-msgstr ""
-"حذف CSS بلااستفاده در هر برگه و کمک به کاهش حجم و درخواست HTTP صفحه. توصیه "
-"شده برای عملکرد بهتر. امتحان کنید.%1$sاطلاعات بیشتر%2$s"
+#. translators: %s = plugin name).
+#: inc/admin/ui/notices.php:626
+msgid "%s: User cache cleared."
+msgstr "%s: کش کاربر پاک شد."
-#: inc/Engine/Admin/Settings/Page.php:767
-msgid "Activate Remove Unused CSS"
-msgstr "حذف CSS های بدون استفاده را فعال کنید"
+#: inc/admin/ui/notices.php:662 inc/Engine/License/views/promo-banner.php:36
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42
+#: inc/Engine/License/views/renewal-expired-banner.php:30
+#: views/settings/page-sections/dashboard.php:46
+msgid "Dismiss this notice"
+msgstr "نادیده گرفتن این پیام."
-#: inc/Engine/Admin/Settings/Page.php:773
-msgid "CSS safelist"
-msgstr "لیست بدون خطر CSS"
+#: inc/admin/ui/notices.php:682
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131
+#: views/settings/page-sections/dashboard.php:188
+msgid "Clear Used CSS"
+msgstr "پاکسازی CSSهای استفاده شده"
-#: inc/Engine/Admin/Settings/Page.php:774
-msgid ""
-"Specify CSS filenames, IDs or classes that should not be removed (one per "
-"line)."
-msgstr ""
-"نام فایل های CSS ، شناسه ها یا کلاس هایی را که نباید حذف شوند (یکی در هر خط)"
-" مشخص کنید."
+#: inc/admin/ui/notices.php:685
+msgid "Stop Preload"
+msgstr "توقف پیش بارگذاری"
-#: inc/Engine/Admin/Settings/Page.php:789 inc/admin/ui/meta-boxes.php:109
-msgid "Load CSS asynchronously"
-msgstr "CSS را به صورت غیر همزمان بارگذاری کنید"
+#: inc/admin/ui/notices.php:691
+msgid "Turn on Remove Unused CSS"
+msgstr "حذف CSS های بدون استفاده را فعال کنید"
-#: inc/Engine/Admin/Settings/Page.php:792
-#, php-format
-msgctxt "WP Critical CSS compatibility"
-msgid ""
-"Load CSS asynchronously is currently handled by the %1$s plugin. If you want"
-" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin."
-msgstr ""
-"بارگیری CSS به صورت ناهمزمان در حال حاضر توسط %1$s افزونه.اگر می خواهید "
-"بارگیری CSS به صورت ناهمزمان توسط افزونه موشک وردپرس انجام شود. افزونه %1$s "
-"غیرفعال کنید."
+#: inc/admin/ui/notices.php:697
+msgid "Enable “Separate Cache Files for Mobile Devices” now"
+msgstr "اکنون\" کش مجزا برای موبایل\" را فعال نمایید"
-#: inc/Engine/Admin/Settings/Page.php:794
-#, php-format
-msgid ""
-"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s"
-msgstr ""
-"مسیر بحرانی CSS را ایجاد می کند و CSS را به صورت نا همزمان بارگذاری می "
-"کند.%1$sاطلاعات بیشتر%2$s"
+#: inc/admin/ui/notices.php:715
+msgid "Force deactivation "
+msgstr "غیرفعال سازی اجباری "
-#: inc/Engine/Admin/Settings/Page.php:800
-msgid "Fallback critical CSS"
-msgstr "CSSهای معوق بحرانی"
+#: inc/admin/ui/notices.php:745
+msgid "The following code should have been written to this file:"
+msgstr "کدهای زیر باید داخل این فایل نوشته شوند:"
-#: inc/Engine/Admin/Settings/Page.php:802
-#, php-format
-msgid ""
-"Provides a fallback if auto-generated critical path CSS is incomplete. "
-"%1$sMore info%2$s"
-msgstr ""
-"اگر مسیرهای بحرانی تولید شده خودکار CSS ناقص بود، یک تعویق ارائه دهید "
-"%1$sاطلاعات بیشتر%2$s"
+#. translators: %s = plugin name.
+#: inc/admin/ui/notices.php:776
+msgid "%s cannot configure itself due to missing writing permissions."
+msgstr "%s به علت عدم دسترسی نوشتن نمیتواند خود را تنظیم کند."
-#: inc/Engine/Admin/Settings/Page.php:817
-msgid "Minify JavaScript files"
-msgstr "فشردهسازی فایلهای جاوا اسکریپت"
+#. translators: %s = file/folder name
+#: inc/admin/ui/notices.php:782
+msgid "Affected file/folder: %s"
+msgstr "فایل\\فولدرهای مورد نظر: %s"
-#: inc/Engine/Admin/Settings/Page.php:818
-msgid ""
-"Minify JavaScript removes whitespace and comments to reduce the file size."
-msgstr ""
-"فشردهسازی فایلهای جاوا اسکریپت حجم را با استفاده از حذف کامنتها و فضاهای "
-"خالی کاهش میدهد."
+#: inc/classes/admin/class-logs.php:124
+msgid "The debug file could not be deleted."
+msgstr "فایل اشکال زدایی حذف نشد."
-#: inc/Engine/Admin/Settings/Page.php:833
-msgid "Activate minify JavaScript"
-msgstr "فعالسازی فشردهسازی جاوا اسکریپت"
+#. Translators: %1$s = Plugin name, %2$s = Plugin version.
+#: inc/classes/class-wp-rocket-requirements-check.php:147
+msgid "To function properly, %1$s %2$s requires at least:"
+msgstr "برای عمل کردن به حداقل %1$s %2$s نیاز است:"
-#: inc/Engine/Admin/Settings/Page.php:838
+#. Translators: %1$s = PHP version required.
+#: inc/classes/class-wp-rocket-requirements-check.php:151
msgid ""
-"Combine JavaScript files (Enable Minify JavaScript files to select) "
+"PHP %1$s. To use this WP Rocket version, please ask your web host how to "
+"upgrade your server to PHP %1$s or higher."
msgstr ""
-"ادغام فایلهای جاوا اسکریپت (برای انتخاب این گزینه، فشرده ساز فایلهای "
-"جاوا اسکریپت را فعال کنید) "
+"نسخه %1$s PHP. برای استفاده از این نسخه از موشک وردپرس، لطفا هاست خود را جهت"
+" بروزرسانی به نسخه PHP %1$s یا بالاتر بررسی کنید."
-#: inc/Engine/Admin/Settings/Page.php:840
-#, php-format
+#. Translators: %1$s = WordPress version required.
+#: inc/classes/class-wp-rocket-requirements-check.php:156
msgid ""
-"Combine JavaScript files combines your site’s internal, 3rd party and inline"
-" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. "
-"%1$sMore info%2$s"
+"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to "
+"version %1$s or higher."
msgstr ""
-"ترکیب فایل های جاوا اسکریپت ترکیبی از داخلی ، شخص 3rd و JS داخلی شما ، "
-"درخواست های HTTP را کاهش می دهد. اگر سایت شما از HTTP/2 استفاده می کند توصیه"
-" نمی شود. %1$sراهنمایی%2$s"
+"نسخه %1$s وردپرس. برای استفاده از این نسخه از موشک وردپرس، لطفا وردپرس خود "
+"را به نسخه %1$s یا بالاتر به روز رسانی کنید."
-#: inc/Engine/Admin/Settings/Page.php:841
+#: inc/classes/class-wp-rocket-requirements-check.php:159
msgid ""
-"For compatibility and best results, this option is disabled when delay "
-"javascript execution is enabled."
+"If you are not able to upgrade, you can rollback to the previous version by "
+"using the button below."
msgstr ""
-"برای سازگاری و بهترین نتایج ، این گزینه با فعال کردن تأخیر در اجرای جاوا "
-"اسکریپت غیرفعال می شود."
+"اگر نمیتوانید به روز رسانی را انجام دهید، میتوانید با استفاده از دکمه زیر "
+"به نسخههای قبلی بازگردید."
-#: inc/Engine/Admin/Settings/Page.php:857
-msgid "Activate combine JavaScript"
-msgstr "فعالسازی ادغام جاوا اسکریپت"
+#. Translators: %s = Previous plugin version.
+#: inc/classes/class-wp-rocket-requirements-check.php:161
+#: inc/deprecated/deprecated.php:1947
+msgid "Re-install version %s"
+msgstr "نصب دوباره نسخه %s"
-#: inc/Engine/Admin/Settings/Page.php:862 inc/admin/options.php:125
-msgid "Excluded Inline JavaScript"
-msgstr "حذف جاوا اسکریپت داخلی"
+#. translators: %s is the plugin name.
+#: inc/classes/class-wp-rocket-requirements-check.php:203
+#: inc/classes/class-wp-rocket-requirements-check.php:214
+#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251
+#: inc/Engine/Plugin/UpdaterSubscriber.php:483
+#: inc/Engine/Plugin/UpdaterSubscriber.php:497
+msgid "%s Update Rollback"
+msgstr "%s بازگشتن به نسخه قبلی"
-#: inc/Engine/Admin/Settings/Page.php:864
-#, php-format
+#. translators: %1$s = missing tags;
+#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151
msgid ""
-"Specify patterns of inline JavaScript to be excluded from concatenation (one"
-" per line). %1$sMore info%2$s"
-msgstr ""
-"برای مستثنی کردن فایلهای جاوا اسکریپت از ادغام و فشرده سازی، آدرس آن را "
-"اینجا وارد کنید.(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:880
-#: inc/Engine/Admin/Settings/Page.php:913
-#: inc/Engine/Admin/Settings/Page.php:960 inc/admin/options.php:126
-msgid "Excluded JavaScript Files"
-msgstr "مستثنی کردن فایلهای جاوا اسکریپت"
+"Failed to detect the following requirement in your theme: closing %1$s."
+msgid_plural ""
+"Failed to detect the following requirements in your theme: closing %1$s."
+msgstr[0] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s."
+msgstr[1] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s."
-#: inc/Engine/Admin/Settings/Page.php:881
+#. translators: Documentation exists in EN, FR; use localized URL if
+#. applicable.
+#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159
msgid ""
-"Specify URLs of JavaScript files to be excluded from minification and "
-"concatenation (one per line)."
+"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
+"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
msgstr ""
-"نشانی های وب فایلهای جاوا اسکریپت را مشخص کنید تا از کوچک سازی و اتصال (یکی "
-"در هر خط) حذف شوند."
+"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
+"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
-#: inc/Engine/Admin/Settings/Page.php:882
-msgid ""
-"Internal: The domain part of the URL will be stripped "
-"automatically. Use (.*).js wildcards to exclude all JS files located at a "
-"specific path."
-msgstr ""
-"داخلی: بخش دامنه URL به طور خودکار برداشته می شود. از (*). "
-"js برای حذف تمام فایل های JS واقع در یک مسیر خاص استفاده کنید."
+#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:147
+#: views/settings/page-sections/dashboard.php:150
+msgid "Clear and preload cache"
+msgstr "حذف و پیش بارگذاری مجدد کش"
-#: inc/Engine/Admin/Settings/Page.php:884
-#, php-format
-msgid ""
-"3rd Party: Use either the full URL path or only the domain "
-"name, to exclude external JS. %1$sMore info%2$s"
-msgstr ""
-"شخص 3rd : برای حذف JS خارجی ، از مسیر URL کامل یا فقط نام "
-"دامنه استفاده کنید.%1$sراهنمایی%2$s"
+#: inc/common/admin-bar.php:135 inc/functions/i18n.php:40
+#: inc/functions/i18n.php:50
+msgid "All languages"
+msgstr "همهی زبانها"
-#: inc/Engine/Admin/Settings/Page.php:900
-msgid "Load JavaScript deferred"
-msgstr "بارگذاری جاوا اسکریپت به صورت تاخیری"
+#: inc/common/admin-bar.php:171
+msgid "Clear this post"
+msgstr "پاک کردن این نوشته"
-#: inc/Engine/Admin/Settings/Page.php:902
-#, php-format
-msgid ""
-"Load JavaScript deferred eliminates render-blocking JS on your site and can "
-"improve load time. %1$sMore info%2$s"
-msgstr ""
-"بارگذاری جاوا اسکریپت به صورت تاخیری برای افزایش سرعت بارگذاری، جاوا "
-"اسکریپتهای مسدود کننده رندر render-blocking صفحه را حذف میکند. %1$sاطلاعات"
-" بیشتر%2$s"
+#: inc/common/admin-bar.php:185
+msgid "Purge this URL"
+msgstr "پاکسازی این لینک"
-#: inc/Engine/Admin/Settings/Page.php:915
-#, php-format
-msgid ""
-"Specify URLs or keywords of JavaScript files to be excluded from defer (one "
-"per line). %1$sMore info%2$s"
-msgstr ""
-"برای مستثنی کردن فایلهای جاوا اسکریپت از تعویق، آدرس آن را اینجا وارد "
-"کنید(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s"
+#: inc/common/admin-bar.php:205
+msgid "Purge Sucuri cache"
+msgstr "تخلیه کش Sucuri"
-#: inc/Engine/Admin/Settings/Page.php:931 inc/admin/ui/meta-boxes.php:111
-msgid "Delay JavaScript execution"
-msgstr "تاخیر اجرای جاوا اسکریپت"
+#: inc/common/admin-bar.php:229 views/settings/fields/rocket-cdn.php:55
+msgid "Purge RocketCDN cache"
+msgstr "تخلیه کش RocketCDN"
-#: inc/Engine/Admin/Settings/Page.php:933
-#, php-format
-msgid ""
-"Improves performance by delaying the loading of JavaScript files until user "
-"interaction (e.g. scroll, click). %1$sMore info%2$s"
-msgstr ""
-"با تأخیر در بارگذاری فایل های جاوا اسکریپت تا تعامل کاربر (به عنوان مثال "
-"پیمایش ، کلیک) ، عملکرد را بهبود می بخشد.%1$sراهنمایی%2$s"
+#: inc/common/admin-bar.php:242 views/settings/partials/documentation.php:14
+msgid "Documentation"
+msgstr "مستندات"
-#: inc/Engine/Admin/Settings/Page.php:942
-msgid "One-click exclusions"
-msgstr "موارد استثنا با یک کلیک"
+#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36
+msgid "Activate Imagify"
+msgstr "فعالسازی Imagify"
+
+#: inc/deprecated/3.2.php:52
+msgid "Install Imagify for Free"
+msgstr "نصب رایگان Imagify"
-#: inc/Engine/Admin/Settings/Page.php:943
+#: inc/deprecated/3.2.php:67
msgid ""
-"When using the Delay JavaScript Execution, you might experience delay "
-"loading elements located in the viewport that need to appear immediately - "
-"e.g. slider, header, menu."
+"Speed up your website and boost your SEO by reducing image file sizes "
+"without losing quality with Imagify."
msgstr ""
-"هنگام استفاده از اجرای تاخیری جاوا اسکریپت، ممکن است عناصر بارگیری تاخیری "
-"واقع در ویوپورت را تجربه کنید که باید فورا ظاهر شوند - به عنوان مثال: "
-"اسلایدر، سربرگ، فهرست."
+"سرعت و سئوی سایت خود را با کاهش حجم فایلهای تصویری و بدون از دست دادن کیفیت"
+" با کمک Imagify بالا ببرید."
+
+#: inc/deprecated/3.2.php:72
+msgid "More details"
+msgstr "اطلاعات بیشتر"
+
+#. translators: %d is the number of pages preloaded.
+#: inc/deprecated/3.2.php:228
+msgid "Sitemap preload: %d pages have been cached."
+msgstr "بارگذاری نقشه سایت: %d برگه کش شد."
-#: inc/Engine/Admin/Settings/Page.php:944
+#. translators: %d = Number of pages preloaded.
+#: inc/deprecated/3.2.php:261
msgid ""
-"If you need instant visibility, click below on files that should NOT be "
-"delayed. This selection will help users interact with the elements straight "
-"away."
+"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see "
+"progress)"
msgstr ""
-"اگر به دید فوری نیاز دارید، روی فایلهایی که نباید به تأخیر بیفتند، در زیر "
-"کلیک کنید. این انتخاب به کاربران کمک می کند تا فوراً با عناصر تعامل داشته "
-"باشند."
+"بارگذاری نقشه سایت: %d برگه کش نشده هم اکنون بارگذاری شدند. (برای مشاهده "
+"پیشرفت صفحه را رفرش کنید)"
-#: inc/Engine/Admin/Settings/Page.php:961
+#. translators: %s is an URL.
+#: inc/deprecated/3.3.php:761 inc/deprecated/3.3.php:770
+#: inc/Engine/Plugin/UpdaterApiTools.php:32
msgid ""
-"Specify URLs or keywords that can identify inline or JavaScript files to be "
-"excluded from delaying execution (one per line)."
+"An unexpected error occurred. Something may be wrong with WP-Rocket.me or "
+"this server’s configuration. If you continue to have problems, contact support ."
msgstr ""
-"نشانی های اینترنتی یا کلمات کلیدی را مشخص کنید که بتوانند درون خطی یا فایل "
-"های جاوا اسکریپت را شناسایی کنند تا از تأخیر اجرا حذف شوند (یکی در هر خط)."
-
-#: inc/Engine/Admin/Settings/Page.php:993
-msgid "Media"
-msgstr "رسانه"
-
-#: inc/Engine/Admin/Settings/Page.php:994
-msgid "LazyLoad, image dimensions"
-msgstr "بارگذاری تنبل، ابعاد تصویر"
+"یک خطای غیر منتظره رخ داد. ممکن است خطایی در WP-Rocket.me یا تنظیمات "
+"سرور’s شما باشد. اگر مشکل شما ادامه داشت، با پشتیبانی "
+"تماس بگیرید ."
-#: inc/Engine/Admin/Settings/Page.php:1003
-msgid "Autoptimize"
-msgstr "بهینهسازی خودکار"
+#: inc/deprecated/3.4.php:18
+msgid "Choose a domain from the list"
+msgstr "یک دامنه را از لیست انتخاب کنید"
-#: inc/Engine/Admin/Settings/Page.php:1048
-msgid "LazyLoad"
-msgstr "بارگزاری تنبل"
+#: inc/deprecated/3.4.php:31
+msgid "No domain available in your Cloudflare account"
+msgstr "دامنهای در حساب Cloudflare شما موجود نیست"
-#: inc/Engine/Admin/Settings/Page.php:1051
-#, php-format
+#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195
msgid ""
-"It can improve actual and perceived loading time as images, iframes, and "
-"videos will be loaded only as they enter (or about to enter) the viewport "
-"and reduces the number of HTTP requests. %1$sMore Info%2$s"
+"Curl is disabled on your server. Please ask your host to enable it. This is "
+"required for the Cloudflare Add-on to work correctly."
msgstr ""
-"این گزینه باعث میشود زمان بارگذاری تصاویر، آیفریمها و ویدیوها به صورت "
-"بارگذاری آنها هنگام قرار گرفتن در قسمت قابل مشاهده صفحه، به شکل واقعی و "
-"محسوس کاهش یابد. همچنین (تعداد درخواستهای) HTTP نیز کاهش خواهد یافت. "
-"%1$sاطلاعات بیشتر%2$s"
+"Curl در سرور شما غیرفعال است. لطفاً از میزبان خود بخواهید آن را فعال کند. "
+"این مورد برای عملکرد صحیح افزونه Cloudflare ضروری است."
-#: inc/Engine/Admin/Settings/Page.php:1058
-#, php-format
+#. translators: %1$s = opening link; %2$s = closing link
+#: inc/deprecated/3.5.php:79
msgid ""
-"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s "
-"LazyLoad, disable this option in %2$s."
+"Cloudflare email, API key and Zone ID are not set. Read the "
+"%1$sdocumentation%2$s for further guidance."
msgstr ""
-"بارگذاری تنبل در حال حاضر فعال است در%2$s. اگر می خواهید از بارگذاری تنبل "
-"موشک وردپرس استفاده کنید، این گزینه %2$s را غیرفعال کنید."
-
-#: inc/Engine/Admin/Settings/Page.php:1061
-msgid "Image Dimensions"
-msgstr "ابعاد تصویر"
+"Cloudflare email, API key and Zone ID تنظیم نشده است. برای "
+"راهنمایی%1$sمستندات%2$s را بخوانید."
-#: inc/Engine/Admin/Settings/Page.php:1064
-#, php-format
+#. translators: %1$s = opening link; %2$s = closing link
+#: inc/deprecated/3.5.php:206
msgid ""
-"Add missing width and height attributes to images. Helps prevent layout "
-"shifts and improve the reading experience for your visitors. %1$sMore "
-"info%2$s"
+"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for"
+" further guidance."
msgstr ""
-"ویژگی های عرض و ارتفاع را به تصاویر بدون آن اضافه کنید. به جلوگیری از تغییر "
-"چیدمان و بهبود تجربه خواندن برای بازدیدکنندگان کمک می کند.%1$s راهنمایی%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1083
-msgid "Enable for images"
-msgstr "فعالسازی برای تصاویر"
+"Cloudflare email and API key تنظیم نشده است. برای راهنمایی%1$sمستندات%2$s را"
+" بخوانید."
-#: inc/Engine/Admin/Settings/Page.php:1095
-#, php-format
-msgid ""
-"LazyLoad for images is currently activated in %2$s. If you want to use "
-"%1$s’s LazyLoad, disable this option in %2$s."
-msgstr ""
-"در حال حاضر بارگذاری تنبل تصاویر در %2$s فعال است. اگر می خواهید از "
-"%1$sبارگذاری تنبل استفاده کنید. این گزینه را در %2$s غیرفعال کنید."
+#: inc/deprecated/3.5.php:271
+msgid "Connection to Cloudflare failed"
+msgstr "اتصال به Cloudflare انجام نشد"
-#: inc/Engine/Admin/Settings/Page.php:1103
-msgid "Enable for iframes and videos"
-msgstr "فعال سازی برای آیفریمها و ویدیوها"
+#. translators: %s = CloudFare API return message.
+#: inc/deprecated/3.5.php:587
+msgid "WP Rocket: %s"
+msgstr "راکت وردپرس: %s"
-#: inc/Engine/Admin/Settings/Page.php:1118
-msgid "Replace YouTube iframe with preview image"
-msgstr "جایگزینی آیفریم یوتیوب با تصویر پیشنمایش"
-
-#: inc/Engine/Admin/Settings/Page.php:1120
-#, php-format
-msgid "Replace YouTube iframe with preview image is not compatible with %2$s."
-msgstr "جایگزین iframe YouTube با تصویر پیش نمایش با %2$s سازگار نیست."
-
-#: inc/Engine/Admin/Settings/Page.php:1120
-msgid ""
-"This can significantly improve your loading time if you have a lot of "
-"YouTube videos on a page."
-msgstr ""
-"در صورتی که تعداد زیادی ویدیو از یوتیوب داخل صفحه خود داشته باشید، این گزینه"
-" به طور قابل ملاحظهای سرعت شما را افزایش خواهد داد."
-
-#: inc/Engine/Admin/Settings/Page.php:1135
-msgid "Excluded images or iframes"
-msgstr "تصاویر یا iframe های مستثنی شده"
-
-#: inc/Engine/Admin/Settings/Page.php:1137
-#, php-format
-msgid ""
-"Specify keywords (e.g. image filename, CSS class, domain) from the image or "
-"iframe code to be excluded (one per line). %1$sMore info%2$s"
-msgstr ""
-"کلمات کلیدی (مانند نام فایل تصویر ، کلاس CSS ، دامنه) را از تصویر یا کد "
-"iframe حذف کنید (یکی در هر خط) مشخص کنید.%1$sراهنمایی%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1145
-msgid "Add missing image dimensions"
-msgstr "افزودن ابعاد به تصاویر بدون ابعاد"
-
-#: inc/Engine/Admin/Settings/Page.php:1164 inc/deprecated/deprecated.php:1776
-msgid "Preload"
-msgstr "پیش بارگذاری"
-
-#: inc/Engine/Admin/Settings/Page.php:1165
-msgid "Generate cache files, preload fonts"
-msgstr "ایجاد فایل کش، پیش بارگذاری فونتها"
-
-#: inc/Engine/Admin/Settings/Page.php:1177
-msgid "Preload Cache"
-msgstr "پیشبارگذاری کش"
-
-#: inc/Engine/Admin/Settings/Page.php:1180
-msgid ""
-"When you enable preloading WP Rocket will automatically detect your sitemaps"
-" and save all URLs to the database. The plugin will make sure that your "
-"cache is always preloaded."
-msgstr ""
-"وقتی پیش بارگذاری را فعال می کنید، WP Rocket به طور خودکار نقشه های سایت شما"
-" را شناسایی می کند و همه URL ها را در پایگاه داده ذخیره می کند. این افزونه "
-"مطمئن می شود که کش شما همیشه از قبل بارگذاری شده است."
-
-#: inc/Engine/Admin/Settings/Page.php:1188
-msgid "Preload Links"
-msgstr "لینکهای پیش بارگذاری"
-
-#: inc/Engine/Admin/Settings/Page.php:1191
-#, php-format
-msgid ""
-"Link preloading improves the perceived load time by downloading a page when "
-"a user hovers over the link. %1$sMore info%2$s"
-msgstr ""
-"پیش بارگذاری لینک با بارگیری صفحه ای که کاربر روی لینک موس خود را قرار می "
-"دهد ، زمان بارگذاری را بهبود می بخشد. %1$sراهنمایی%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1199
-msgid "Prefetch DNS Requests"
-msgstr "پیشدریافت درخواست DNS"
-
-#: inc/Engine/Admin/Settings/Page.php:1201
-msgid ""
-"DNS prefetching can make external files load faster, especially on mobile "
-"networks"
-msgstr ""
-"پیشدریافت درخواست DNS باعث افزایش سرعت بارگذاری فایلهای خارجی به خصوص بر "
-"روی شبکههای موبایلی خواهد شد"
-
-#: inc/Engine/Admin/Settings/Page.php:1206
-msgid "Preload Fonts"
-msgstr "پیش بارگذاری فونتها"
-
-#: inc/Engine/Admin/Settings/Page.php:1209
-#, php-format
-msgid ""
-"Improves performance by helping browsers discover fonts in CSS files. "
-"%1$sMore info%2$s"
-msgstr ""
-"با کمک به مرورگرها برای کشف فونت در فایل های CSS ، عملکرد را بهبود می "
-"بخشد.%1$sراهنمایی%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1223
-msgid "Activate Preloading"
-msgstr "فعالسازی پیش پارگذاری"
-
-#: inc/Engine/Admin/Settings/Page.php:1234
-msgid "Exclude URLs"
-msgstr "مستثنی کردن URL ها"
-
-#: inc/Engine/Admin/Settings/Page.php:1239
-#, php-format
-msgid ""
-"Specify URLs to be excluded from the preload feature (one per line). "
-"%1$sMore info%2$s"
-msgstr ""
-"برای مستثنی کردن URLها از پیش بارگذاری وارد کنید (یکی در هر خط).%1$sاطلاعات "
-"بیشتر%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1250
-msgid "URLs to prefetch"
-msgstr "آدرسها برای پیشدریافت"
-
-#: inc/Engine/Admin/Settings/Page.php:1251
-msgid ""
-"Specify external hosts to be prefetched (no http:
, one per "
-"line)"
-msgstr ""
-"میزبانهای خارجی را برای واکشی مشخص کنید(بدونhttp:
، یکی درهر "
-"خط)"
-
-#: inc/Engine/Admin/Settings/Page.php:1260
-msgid "Fonts to preload"
-msgstr "فونتها برای پیش بارگذاری"
-
-#: inc/Engine/Admin/Settings/Page.php:1261
-msgid ""
-"Specify urls of the font files to be preloaded (one per line). Fonts must be"
-" hosted on your own domain, or the domain you have specified on the CDN tab."
-msgstr ""
-"آدرس های اینترنتی فایلهای فونت را که باید بارگیری شوند (یکی در هر خط) مشخص "
-"کنید.فونت ها باید در دامنه خود یا دامنه ای که در برگه CDN مشخص کرده اید "
-"میزبانی شوند."
-
-#: inc/Engine/Admin/Settings/Page.php:1262
-msgid ""
-"The domain part of the URL will be stripped automatically. Allowed font "
-"extensions: otf, ttf, svg, woff, woff2."
-msgstr ""
-"بخش دامنه URL به طور خودکار برداشته می شود. پسوند فونت های مجاز شامل: "
-"otf, ttf, svg, woff, woff2."
-
-#: inc/Engine/Admin/Settings/Page.php:1271
-msgid "Enable link preloading"
-msgstr "پیش بارگذاری لینک را فعال کنید"
-
-#: inc/Engine/Admin/Settings/Page.php:1290
-msgid "Advanced Rules"
-msgstr "قوانین پیشرفته"
-
-#: inc/Engine/Admin/Settings/Page.php:1291
-msgid "Fine-tune cache rules"
-msgstr "قوانین کش دقیق"
+#: inc/deprecated/3.5.php:592
+msgid "WP Rocket: Cloudflare cache successfully purged."
+msgstr "WP Rocket: کش CloudFlare با موفقیت پاک شد."
-#: inc/Engine/Admin/Settings/Page.php:1302
+#: inc/deprecated/3.5.php:858 inc/Engine/HealthCheck/HealthCheck.php:81
msgid ""
-"Sensitive pages like custom login/logout URLs should be excluded from cache."
-msgstr "برگههای حساس مثل ورود\\خروج باید از کش مستثنی شوند."
-
-#: inc/Engine/Admin/Settings/Page.php:1305
-msgctxt "plugin name"
-msgid "WooCommerce"
-msgstr "ووکامرس"
+"The following scheduled event failed to run. This may indicate the CRON "
+"system is not running properly, which can prevent some WP Rocket features "
+"from working as intended:"
+msgid_plural ""
+"The following scheduled events failed to run. This may indicate the CRON "
+"system is not running properly, which can prevent some WP Rocket features "
+"from working as intended:"
+msgstr[0] ""
+"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به "
+"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک "
+"وردپرس شود:"
+msgstr[1] ""
+"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به "
+"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک "
+"وردپرس شود:"
-#: inc/Engine/Admin/Settings/Page.php:1307
-msgctxt "plugin name"
-msgid "Easy Digital Downloads"
-msgstr "دانلود آسان دیجیتال EDD"
+#: inc/deprecated/3.5.php:867 inc/Engine/HealthCheck/HealthCheck.php:88
+msgid "Please contact your host to check if CRON is working."
+msgstr "لطفا با هاست خود جهت بررسی عملکرد CRON تماس بگیرید."
-#: inc/Engine/Admin/Settings/Page.php:1309
-msgctxt "plugin name"
-msgid "iThemes Exchange"
-msgstr "iThemes Exchange"
+#: inc/deprecated/3.10.php:163
+msgid "OPcache purge failed."
+msgstr "تخلیه کش OPcache شکست خورد."
-#: inc/Engine/Admin/Settings/Page.php:1311
-msgctxt "plugin name"
-msgid "Jigoshop"
-msgstr "Jigoshop"
+#: inc/deprecated/3.10.php:168
+msgid "OPcache successfully purged"
+msgstr "OPcache با موفقیت تخلیه شد"
-#: inc/Engine/Admin/Settings/Page.php:1313
-msgctxt "plugin name"
-msgid "WP-Shop"
-msgstr "WP-Shop"
+#: inc/deprecated/3.11.php:81
+msgid "Yoast SEO XML sitemap"
+msgstr "نقشه سایت Yoast SEO"
-#: inc/Engine/Admin/Settings/Page.php:1319
-#, php-format
+#. translators: %s = Name of the plugin.
+#. translators: %s = plugin name, e.g. Yoast SEO.
+#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58
+#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186
+#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342
msgid ""
-" Cart, checkout and \"my account\" pages set in "
-"%1$s%2$s%3$s will be detected and never cached by default."
+"We automatically detected the sitemap generated by the %s plugin. You can "
+"check the option to preload it."
msgstr ""
-" برگههای سبد خرید، پرداخت و \"حساب کاربری من\" که در "
-"%1$s%2$s%3$s تعیین شدهاند تشخیص داده خواهند شد و به صورت "
-"پیشفرض هرگز کش نخواهند شد."
-
-#: inc/Engine/Admin/Settings/Page.php:1329 inc/admin/options.php:129
-msgid "Never Cache URL(s)"
-msgstr "آدرس(هایی) که هرگز کش نخواهند شد"
+"ما به طور خودکار نقشه سایت تولید شده توسط پلاگین %s را تشخیص میدهیم. شما می"
+" توانید این گزینه را برای بارگذاری اولیه آن تیک بزنید."
-#: inc/Engine/Admin/Settings/Page.php:1337
-msgid "Never Cache Cookies"
-msgstr "کوکیهایی که هرگز کش نخواهند شد"
+#. translators: 1 and 3 are link openings, 2 is a link closing.
+#: inc/deprecated/3.11.php:279 inc/Engine/Plugin/UpdaterSubscriber.php:520
+msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s"
+msgstr "%1$sبازگشت به موشک وردپرس%2$sیا %3$s رفتن به برگه افزونهها%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1343 inc/admin/options.php:130
-msgid "Never Cache User Agent(s)"
-msgstr "عامل(های) کاربری هرگز کش نخواهند شد"
+#: inc/deprecated/3.12.php:56
+msgid "All in One SEO XML sitemap"
+msgstr "نقشه سایت All in One SEO"
-#: inc/Engine/Admin/Settings/Page.php:1349 inc/admin/options.php:131
-msgid "Always Purge URL(s)"
-msgstr "URL (هایی) که همیشه پاکسازی شوند"
+#: inc/deprecated/3.12.php:85
+msgid "Rank Math XML sitemap"
+msgstr "نقشه سایت Rank Math"
-#: inc/Engine/Admin/Settings/Page.php:1355
-msgid "Cache Query String(s)"
-msgstr "کش کردن کوئری استرینگ(ها)"
+#: inc/deprecated/3.12.php:184
+msgid "SEOPress XML sitemap"
+msgstr "نقشه سایت Rank Math"
-#: inc/Engine/Admin/Settings/Page.php:1358
-#, php-format
-msgid ""
-"%1$sCache for query strings%2$s enables you to force caching for specific "
-"GET parameters."
-msgstr ""
-"%1$sکش کردن کوئری استرینگها%2$s باعث میشوند که پارامترهای متد GET به اجبار"
-" کش شوند."
+#: inc/deprecated/3.12.php:251
+msgid "The SEO Framework XML sitemap"
+msgstr "نقشه سایت SEO Framework"
-#: inc/Engine/Admin/Settings/Page.php:1369
-msgid ""
-"Specify URLs of pages or posts that should never be cached (one per line)"
-msgstr ""
-"آدرس برگهها یا نوشتههایی که هرگز نباید کش شوند را تعیین کنید (در هر خط "
-"یکی)"
+#: inc/deprecated/3.12.php:332
+msgid "Jetpack XML Sitemaps"
+msgstr "نقشه سایت جتپک"
-#: inc/Engine/Admin/Settings/Page.php:1370
-#: inc/Engine/Admin/Settings/Page.php:1398
-msgid ""
-"The domain part of the URL will be stripped automatically. Use (.*) "
-"wildcards to address multiple URLs under a given path."
-msgstr ""
-"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد. از (.*) برای تعیین چند"
-" آدرس از یک مسیر استفاده کنید."
+#: inc/deprecated/3.12.php:334
+msgid "Preload the sitemap from the Jetpack plugin"
+msgstr "پیشبارگذاری نقشه سایت از افزونه جتپک"
-#: inc/Engine/Admin/Settings/Page.php:1379
-msgid ""
-"Specify full or partial IDs of cookies that, when set in the visitor's "
-"browser, should prevent a page from getting cached (one per line)"
-msgstr ""
-"شناسه های کامل یا جزئی کوکی ها را مشخص کنید که وقتی در مرورگر بازدیدکننده "
-"تنظیم می شوند ، از ذخیره شدن صفحه جلوگیری شود (یکی در هر خط)"
+#: inc/deprecated/deprecated.php:240
+msgid "JS files with Deferred Loading JavaScript"
+msgstr "JS فایلهای با بارگذاری تاخیری جاوا اسکریپت"
-#: inc/Engine/Admin/Settings/Page.php:1387
-msgid ""
-"Specify user agent strings that should never see cached pages (one per line)"
-msgstr ""
-"رشتههای user agentی که هرگز نباید صفحات را کش شده مشاهده کنند را تعیین کنید"
-" (در هر خط یکی)"
+#: inc/deprecated/deprecated.php:293
+msgid "Add URL"
+msgstr "افزودن آدرس"
-#: inc/Engine/Admin/Settings/Page.php:1388
-msgid "Use (.*) wildcards to detect parts of UA strings."
-msgstr "برای تشخص قسمتهای مختلف رشته user agent از (.*)استفاده کنید."
+#: inc/deprecated/deprecated.php:1245
+#: inc/Engine/Admin/Settings/Settings.php:451
+msgid "Settings saved."
+msgstr "تنظیمات ذخیره شد."
-#: inc/Engine/Admin/Settings/Page.php:1397
+#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22
msgid ""
-"Specify URLs you always want purged from cache whenever you update any post "
-"or page (one per line)"
-msgstr ""
-"آدرسهایی که مایل هستید فارغ از اینکه نوشته یا برگهای بروزرسانی شده، همیشه "
-"از کش حذف شوند را تعیین کنید (در هر خط یکی)"
-
-#: inc/Engine/Admin/Settings/Page.php:1406
-msgid "Specify query strings for caching (one per line)"
-msgstr "کوئری استرینگها برای کش شدن را تعیین کنید (در هر خط یکی)"
-
-#: inc/Engine/Admin/Settings/Page.php:1431 inc/deprecated/deprecated.php:1775
-msgid "Database"
-msgstr "پایگاه داده"
-
-#: inc/Engine/Admin/Settings/Page.php:1432
-msgid "Optimize, reduce bloat"
-msgstr "بهینهسازی، کاهش نفخ"
-
-#: inc/Engine/Admin/Settings/Page.php:1439
-msgid "Post Cleanup"
-msgstr "پاکسازی نوشته"
+"Before you can upload your import file, you will need to fix the following "
+"error:"
+msgstr "قبل از بارگذاری فایل درونریزی باید خطاهای زیر را برطرف کنید:"
-#: inc/Engine/Admin/Settings/Page.php:1441
-msgid ""
-"Post revisions and drafts will be permanently deleted. Do not use this "
-"option if you need to retain revisions or drafts."
-msgstr ""
-"نوشتههای بازبینی و پیشنویس به طور دائم حذف خواهند شد. اگر به نگهداری "
-"بازبینیها و پیشنویسها نیاز دارید این گزینه را استفاده نکنید."
+#. translators: %s is the maximum upload size set on the current server.
+#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35
+msgid "Choose a file from your computer (maximum size: %s)"
+msgstr "انتخاب فایل از رایانه شما (حداکثر حجم: %s)"
-#: inc/Engine/Admin/Settings/Page.php:1446
-msgid "Comments Cleanup"
-msgstr "پاکسازی دیدگاهها"
+#: inc/deprecated/deprecated.php:1294 inc/Engine/Admin/Settings/Render.php:422
+msgid "Upload file and import settings"
+msgstr "بارگذاری فایل و درونریزی تنظیمات"
-#: inc/Engine/Admin/Settings/Page.php:1448
-msgid "Spam and trashed comments will be permanently deleted."
-msgstr "دیدگاههای اسپم و داخل زبالهدان به طور دائم حذف خواهند شد."
+#: inc/deprecated/deprecated.php:1385
+msgid "Your Cloudflare credentials are valid."
+msgstr "اطلاعات CloudFlare شما معتبر است."
-#: inc/Engine/Admin/Settings/Page.php:1452
-msgid "Transients Cleanup"
-msgstr "پاکسازی دادههای گذرا"
+#: inc/deprecated/deprecated.php:1389
+msgid "Your Cloudflare credentials are invalid!"
+msgstr "اطلاعات CloudFlare شما نامعتبر است!"
-#: inc/Engine/Admin/Settings/Page.php:1454
-msgid ""
-"Transients are temporary options; they are safe to remove. They will be "
-"automatically regenerated as your plugins require them."
-msgstr ""
-"دادههای گذرا تنظیمات موقتی هستند. حذف آنها ایمن است. در صورتی که افزونهها"
-" به این دادهها نیاز داشته باشند به صورت خودکار ایجاد خواهند شد."
+#: inc/deprecated/deprecated.php:1453
+msgid "Save and optimize"
+msgstr "ذخیره و بهینهسازی"
-#: inc/Engine/Admin/Settings/Page.php:1458
-msgid "Database Cleanup"
-msgstr "پاکسازی پایگاه داده"
+#: inc/deprecated/deprecated.php:1453
+msgid "Optimize"
+msgstr "بهینهسازی"
-#: inc/Engine/Admin/Settings/Page.php:1460
-msgid "Reduces overhead of database tables"
-msgstr "بهینه سازی جداول دیتابیس"
+#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666
+msgctxt "screen-reader-text"
+msgid "Note:"
+msgstr "یادداشت:"
-#: inc/Engine/Admin/Settings/Page.php:1464
-msgid "Automatic Cleanup"
-msgstr "پاکسازی خودکار"
+#: inc/deprecated/deprecated.php:1470
+msgctxt "screen-reader-text"
+msgid "Performance tip:"
+msgstr "نکته کارایی:"
-#: inc/Engine/Admin/Settings/Page.php:1477
-#, php-format
-msgid "%s revision in your database."
-msgid_plural "%s revisions in your database."
-msgstr[0] "%s بازبینی در پایگاه داده شما وجود دارد."
-msgstr[1] "%s بازبینی در پایگاه داده شما وجود دارد."
+#: inc/deprecated/deprecated.php:1476
+msgctxt "screen-reader-text"
+msgid "Third-party feature detected:"
+msgstr "ویژگی های سوم شخص شناسایی شده است:"
-#: inc/Engine/Admin/Settings/Page.php:1487
-#, php-format
-msgid "%s draft in your database."
-msgid_plural "%s drafts in your database."
-msgstr[0] "%s پیشنویس در پایگاه داده شما وجود دارد."
-msgstr[1] "%s پیشنویس در پایگاه داده شما وجود دارد."
+#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672
+msgctxt "screen-reader-text"
+msgid "Warning:"
+msgstr "اخطار:"
-#: inc/Engine/Admin/Settings/Page.php:1497
-#, php-format
-msgid "%s trashed post in your database."
-msgid_plural "%s trashed posts in your database."
-msgstr[0] "%s نوشته داخل زبالهدان در پایگاه داده شما وجود دارد."
-msgstr[1] "%s نوشته داخل زبالهدان در پایگاه داده شما وجود دارد."
+#: inc/deprecated/deprecated.php:1501
+msgctxt "button text"
+msgid "Download settings"
+msgstr "دانلود تنظیمات"
-#: inc/Engine/Admin/Settings/Page.php:1507
-#, php-format
-msgid "%s spam comment in your database."
-msgid_plural "%s spam comments in your database."
-msgstr[0] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد."
-msgstr[1] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد."
+#: inc/deprecated/deprecated.php:1531
+msgid "Replace site's hostname with:"
+msgstr "جایگزینی نام هاست سایت با:"
-#: inc/Engine/Admin/Settings/Page.php:1517
-#, php-format
-msgid "%s trashed comment in your database."
-msgid_plural "%s trashed comments in your database."
-msgstr[0] "%s دیدگاه در زبالهدان شما وجود دارد."
-msgstr[1] "%s دیدگاه در زبالهدان شما وجود دارد."
+#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587
+#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41
+#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105
+msgid "reserved for"
+msgstr "متعلق به"
-#: inc/Engine/Admin/Settings/Page.php:1525
-msgid "All transients"
-msgstr "همه دادههای گذرا"
+#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589
+#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44
+#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108
+msgid "All files"
+msgstr "همه فایلها"
-#: inc/Engine/Admin/Settings/Page.php:1527
-#, php-format
-msgid "%s transient in your database."
-msgid_plural "%s transients in your database."
-msgstr[0] "%s داده گذرا در پایگاه داده شما وجود دارد."
-msgstr[1] "%s داده گذرا در پایگاه داده شما وجود دارد."
+#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594
+#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56
+#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120
+msgid "Images"
+msgstr "تصاویر"
-#: inc/Engine/Admin/Settings/Page.php:1535
-msgid "Optimize Tables"
-msgstr "بهینهسازی جدولها"
+#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132
+msgid "Add CNAME"
+msgstr "افزودن CNAME"
-#: inc/Engine/Admin/Settings/Page.php:1537
-#, php-format
-msgid "%s table to optimize in your database."
-msgid_plural "%s tables to optimize in your database."
-msgstr[0] "%s جدول برای بهینهسازی در پایگاه داده شما وجود دارد."
-msgstr[1] "%s جدول برای بهینهسازی در پایگاه داده شما وجود دارد."
+#: inc/deprecated/deprecated.php:1706
+msgid "Watch the video"
+msgstr "تماشای ویدیو"
-#: inc/Engine/Admin/Settings/Page.php:1548
-msgid "Schedule Automatic Cleanup"
-msgstr "برنامهریزی پاکسازی خودکار"
+#: inc/deprecated/deprecated.php:1771
+msgid "Basic"
+msgstr "پایه"
-#: inc/Engine/Admin/Settings/Page.php:1560
-msgid "Frequency"
-msgstr "دوره تکرار"
+#: inc/deprecated/deprecated.php:1772
+msgid "Static Files"
+msgstr "فایلهای استاتیک"
-#: inc/Engine/Admin/Settings/Page.php:1568
-msgid "Daily"
-msgstr "روزانه"
+#: inc/deprecated/deprecated.php:1774
+msgid "Advanced"
+msgstr "پیشرفته"
-#: inc/Engine/Admin/Settings/Page.php:1569
-msgid "Weekly"
-msgstr "هفتگی"
+#: inc/deprecated/deprecated.php:1775 inc/Engine/Admin/Settings/Page.php:1431
+msgid "Database"
+msgstr "پایگاه داده"
-#: inc/Engine/Admin/Settings/Page.php:1570
-msgid "Monthly"
-msgstr "ماهیانه"
+#: inc/deprecated/deprecated.php:1776 inc/Engine/Admin/Settings/Page.php:1164
+msgid "Preload"
+msgstr "پیش بارگذاری"
-#: inc/Engine/Admin/Settings/Page.php:1586
-#: inc/Engine/Admin/Settings/Page.php:1597 inc/admin/ui/meta-boxes.php:108
-#: inc/deprecated/deprecated.php:1773
-msgid "CDN"
-msgstr "شبکه تحویل محتوا CDN"
+#: inc/deprecated/deprecated.php:1786
+#: inc/Engine/Admin/Settings/Subscriber.php:168
+#: views/settings/page-sections/tools.php:33
+msgid "Tools"
+msgstr "ابزارها"
-#: inc/Engine/Admin/Settings/Page.php:1587
-msgid "Integrate your CDN"
-msgstr "CDN خود را سازگار کنید"
+#: inc/deprecated/deprecated.php:1789 inc/Engine/Admin/Settings/Page.php:352
+#: views/settings/page-sections/dashboard.php:80
+msgid "License"
+msgstr "کد لایسنس"
-#: inc/Engine/Admin/Settings/Page.php:1599
+#. Translators: %1$s = Plugin name, %2$s = Plugin version, %3$s = PHP version
+#. required.
+#: inc/deprecated/deprecated.php:1944
msgid ""
-"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)"
-" you provide."
+"%1$s %2$s requires at least PHP %3$s to function properly. To use this "
+"version, please ask your web host how to upgrade your server to PHP %3$s or "
+"higher. If you are not able to upgrade, you can rollback to the previous "
+"version by using the button below."
msgstr ""
-"آدرس همه فایلهای استاتیک (CSS، JS، تصاویر) با استفاده از CNAME (هایی) که "
-"شما تعیین کردهاید بازنویسی خواهند شد."
+"%1$s %2$s حداقل به نسخه PHP %3$s برای عملکرد صحیح نیاز دارد. برای استفاده از"
+" این نسخه، لطفا با مدیر هاست خود برای ارتقا نسخه PHP به PHP %3$s یا بالاتر "
+"تماس بگیرید. اگر قادر به ارتقا نیستید، میتوانید با استفاده از دکمه زیر به "
+"نسخه قبلی بازگردید."
-#: inc/Engine/Admin/Settings/Page.php:1601
-#, php-format
+#. translators: 1: PHP class name, 2: version number, 3: replacement class
+#. name.
+#: inc/deprecated/DeprecatedClassTrait.php:54
msgid ""
-"Not required for services like Cloudflare and Sucuri. Please see our "
-"available %1$sAdd-ons%2$s."
+"The called class %1$s is deprecated since version %2$s! Use"
+" %3$s instead."
msgstr ""
-"برای سرویس هایی مانند Cloudflare و Sucuri ضروری نیست. لطفا "
-"%1$sافزودنیهای%2$s موجود ما را مشاهده کنید."
-
-#: inc/Engine/Admin/Settings/Page.php:1616 inc/admin/options.php:132
-msgid "Exclude files from CDN"
-msgstr "مستثنی کردن فایلها از CDN"
+"کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s! بجاش از %3$s "
+"استفاده کنید."
-#: inc/Engine/Admin/Settings/Page.php:1648
+#. translators: 1: PHP class name, 2: version number.
+#: inc/deprecated/DeprecatedClassTrait.php:65
msgid ""
-"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings "
-"is not required for %2$l to work on your site."
-msgid_plural ""
-"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN "
-"settings is not required for %2$l to work on your site."
-msgstr[0] ""
-"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری "
-"نیست."
-msgstr[1] ""
-"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری "
-"نیست."
+"The called class %1$s is deprecated since version %2$s!"
+msgstr "کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s!"
-#: inc/Engine/Admin/Settings/Page.php:1673
-msgid "Enable Content Delivery Network"
-msgstr "فعالسازی شبکه تحویل محتوا"
+#: inc/deprecated/Engine/Addon/FacebookTracking/Subscriber.php:92
+#: inc/deprecated/Engine/Addon/GoogleTracking/Subscriber.php:137
+#: inc/Engine/Admin/Database/Subscriber.php:79
+msgid "weekly"
+msgstr "هفتگی"
-#: inc/Engine/Admin/Settings/Page.php:1682
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159
-msgid "CDN CNAME(s)"
-msgstr "CNAME (های) CDN"
+#: inc/Engine/Admin/Database/Optimization.php:30
+#: inc/Engine/Admin/Settings/Page.php:1475
+msgid "Revisions"
+msgstr "بازبینیها"
-#: inc/Engine/Admin/Settings/Page.php:1683
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160
-msgid "Specify the CNAME(s) below"
-msgstr "CNAME (ها) را اینجا تعیین کنید"
+#: inc/Engine/Admin/Database/Optimization.php:31
+#: inc/Engine/Admin/Settings/Page.php:1485
+msgid "Auto Drafts"
+msgstr "پیش نویس خودکار"
-#: inc/Engine/Admin/Settings/Page.php:1690
-msgid ""
-"Specify URL(s) of files that should not get served via CDN (one per line)."
-msgstr ""
-"آدرس فایل(هایی) که نباید از طریق CDN بارگذاری شوند را تعیین کنید.(هرخط یک "
-"آدرس)"
+#: inc/Engine/Admin/Database/Optimization.php:32
+#: inc/Engine/Admin/Settings/Page.php:1495
+msgid "Trashed Posts"
+msgstr "نوشتههای داخل زباله دان"
-#: inc/Engine/Admin/Settings/Page.php:1691
-msgid ""
-"The domain part of the URL will be stripped automatically. Use (.*) "
-"wildcards to exclude all files of a given file type located at a specific "
-"path."
-msgstr ""
-"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد. برای مستثنی کردن همه "
-"فایلهای هم نوع موجود در یک مسیر از (.*) استفاده کنید."
+#: inc/Engine/Admin/Database/Optimization.php:33
+#: inc/Engine/Admin/Settings/Page.php:1505
+msgid "Spam Comments"
+msgstr "دیدگاههای اسپم"
-#: inc/Engine/Admin/Settings/Page.php:1714
-#: inc/Engine/Admin/Settings/Page.php:1722
-msgid "Heartbeat"
-msgstr "ضربان Heartbeat"
+#: inc/Engine/Admin/Database/Optimization.php:34
+#: inc/Engine/Admin/Settings/Page.php:1515
+msgid "Trashed Comments"
+msgstr "دیدگاههای زبالهدان"
-#: inc/Engine/Admin/Settings/Page.php:1715
-msgid "Control WordPress Heartbeat API"
-msgstr "کنترل API سرویس WordPress Heartbeat"
+#: inc/Engine/Admin/Database/Optimization.php:35
+msgid "Transients"
+msgstr "دادههای گذرا"
-#: inc/Engine/Admin/Settings/Page.php:1723
-msgid ""
-"Reducing or disabling the Heartbeat API’s activity can help save some of "
-"your server’s resources."
-msgstr ""
-"کاهش یا غیرفعال کردن فعالیت Heartbeat API می تواند به ذخیره برخی از منابع "
-"سرور شما کمک کند."
+#: inc/Engine/Admin/Database/Optimization.php:36
+msgid "Tables"
+msgstr "جداول"
-#: inc/Engine/Admin/Settings/Page.php:1729
-msgid "Reduce or disable Heartbeat activity"
-msgstr "کاهش یا غیرفعال کردن فعالیت Heartbeat"
+#: inc/Engine/Admin/Database/Subscriber.php:85
+msgid "monthly"
+msgstr "ماهیانه"
-#: inc/Engine/Admin/Settings/Page.php:1730
+#: inc/Engine/Admin/Database/Subscriber.php:194
+msgid "Database optimization process is running"
+msgstr "فرآیند بهینهسازی پایگاه داده در حال اجرا است"
+
+#: inc/Engine/Admin/Database/Subscriber.php:224
msgid ""
-"Reducing activity will change Heartbeat frequency from one hit each minute "
-"to one hit every 2 minutes."
+"Database optimization process is complete. Everything was already optimized!"
+msgstr "فرآیند بهینهسازی پایگاه داده کامل شد. همینک همه چیز باید بهینه باشد!"
+
+#: inc/Engine/Admin/Database/Subscriber.php:227
+msgid ""
+"Database optimization process is complete. List of optimized items below:"
msgstr ""
-"با کاهش فعالیت ، فرکانس Heartbeat از یک ضربه در هر دقیقه به یک ضربه در هر 2 "
-"دقیقه تغییر می کند."
+"فرآیند بهینهسازی پایگاه داده کامل شد. فهرست موارد بهینه شده در زیر آمده "
+"است:"
-#: inc/Engine/Admin/Settings/Page.php:1730
+#. translators: %1$d = number of items optimized, %2$s = type of optimization
+#: inc/Engine/Admin/Database/Subscriber.php:235
+msgid "%1$d %2$s optimized."
+msgstr "%1$d %2$s بهینه شد."
+
+#. translators: %1$s = , %2$s = , %3$s = , %4$s = .
+#: inc/Engine/Admin/DomainChange/Subscriber.php:143
msgid ""
-"Disabling Heartbeat entirely may break plugins and themes using this API."
+"%1$sWP Rocket:%2$s We detected that the website domain has changed. The "
+"configuration files must be regenerated for the page cache and all other "
+"optimizations to work as intended. %3$sLearn More%4$s"
msgstr ""
-"با غیرفعال کردن کامل Heartbeat ممکن است افزونه ها و قالب ها با استفاده از "
-"این API خراب شوند."
+"%1$sموشک وردپرس:%2$s ما متوجه شدیم که دامنه وب سایت تغییر کرده است. فایل های"
+" پیکربندی باید دوباره تولید شوند تا کش صفحه و همه بهینه سازی های دیگر "
+"همانطور که در نظر گرفته شده کار کنند.%3$s اطلاعات بیشتر%4$s"
-#: inc/Engine/Admin/Settings/Page.php:1744
-msgid "Do not limit"
-msgstr "محدود نکنید"
+#: inc/Engine/Admin/DomainChange/Subscriber.php:171
+msgid "Regenerate WP Rocket configuration files now"
+msgstr "بازسازی مجدد تنظیمات پرونده های راکت وردپرس"
-#: inc/Engine/Admin/Settings/Page.php:1745
-msgid "Reduce activity"
-msgstr "کاهش فعالیت"
+#: inc/Engine/Admin/Settings/Page.php:201
+msgid "Save Changes"
+msgstr "ذخیره تغییرات"
-#: inc/Engine/Admin/Settings/Page.php:1746
-msgid "Disable"
-msgstr "غیرفعالسازی"
+#: inc/Engine/Admin/Settings/Page.php:201
+msgid "Validate License"
+msgstr "اعتبار لایسنس"
-#: inc/Engine/Admin/Settings/Page.php:1754
-msgid "Control Heartbeat"
-msgstr "کنترل Heartbeat"
+#: inc/Engine/Admin/Settings/Page.php:257
+#: inc/Engine/Admin/Settings/Page.php:258
+msgid "Unavailable"
+msgstr "دردسترس نیست"
-#: inc/Engine/Admin/Settings/Page.php:1763
-msgid "Behavior in backend"
-msgstr "رفتار در پس زمینه"
+#: inc/Engine/Admin/Settings/Page.php:369
+msgid "API key"
+msgstr "کلید API"
-#: inc/Engine/Admin/Settings/Page.php:1770
-msgid "Behavior in post editor"
-msgstr "رفتار در ویرایشگر نوشته"
+#: inc/Engine/Admin/Settings/Page.php:384
+msgid "Email address"
+msgstr "ایمیل"
-#: inc/Engine/Admin/Settings/Page.php:1776
-msgid "Behavior in frontend"
-msgstr "رفتار در frontend"
+#: inc/Engine/Admin/Settings/Page.php:410
+msgid "Dashboard"
+msgstr "پیشخوان"
-#: inc/Engine/Admin/Settings/Page.php:1793
-#: views/settings/page-sections/tutorials.php:39
-msgid "Add-ons"
-msgstr "افزودنیها"
+#: inc/Engine/Admin/Settings/Page.php:411
+msgid "Get help, account info"
+msgstr "دریافت راهنمایی، اطلاعات حساب کاربری"
-#: inc/Engine/Admin/Settings/Page.php:1794
-msgid "Add more features"
-msgstr "افزودن ویژگیهای بیشتر"
+#: inc/Engine/Admin/Settings/Page.php:420
+msgid "My Status"
+msgstr "وضعیت من"
-#: inc/Engine/Admin/Settings/Page.php:1801
-msgid "One-click Rocket Add-ons"
-msgstr "افزودنیهای موشک با یک کلیک"
+#: inc/Engine/Admin/Settings/Page.php:430 views/settings/page.php:75
+msgid "Rocket Analytics"
+msgstr "تجزیه و تحلیل موشک"
-#: inc/Engine/Admin/Settings/Page.php:1802
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:432
msgid ""
-"One-Click Add-ons are features extending available options without "
-"configuration needed. Switch the option \"on\" to enable from this screen."
+"I agree to share anonymous data with the development team to help improve WP"
+" Rocket. %1$sWhat info will we collect?%2$s"
msgstr ""
-"افزودنیهای موشک با یک کلیک ویژگیهایی هستند که گزینهها موجود را بدون نیاز "
-"به تنظیمات جدید گسترش میدهند. برای فعالسازی گزینه \"فعال\" را از این صفحه "
-"فعال کنید."
+"من با اشتراک گذاری دادههای ناشناس با تیم توسعه برای گسترش موشک وردپرس "
+"موافقم. %1$sچه اطلاعاتی را جمع آوری میکنیم؟%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1812
-msgid "Rocket Add-ons"
-msgstr "افزودنیهای موشک"
+#: inc/Engine/Admin/Settings/Page.php:456 inc/Engine/Cache/WPCache.php:354
+msgid "Cache"
+msgstr "کش"
-#: inc/Engine/Admin/Settings/Page.php:1813
-msgid "Rocket Add-ons are complementary features extending available options."
-msgstr ""
-"افزودنیهای موشک ویژگیهای تکمیلی هستند که گزینههای موجود فعلی را گسترش "
-"میدهند."
+#: inc/Engine/Admin/Settings/Page.php:457
+msgid "Basic cache options"
+msgstr "گزینههای اصلی کش"
-#: inc/Engine/Admin/Settings/Page.php:1823
-#: inc/Engine/Admin/Settings/Page.php:1992
-msgid "Cloudflare"
-msgstr "Cloudflare"
+#: inc/Engine/Admin/Settings/Page.php:464
+msgid "Mobile Cache"
+msgstr "کش موبایل"
-#: inc/Engine/Admin/Settings/Page.php:1829
-msgid "Integrate your Cloudflare account with this add-on."
-msgstr "حساب کاربری Cloudflare خود را با این افزودنی ادغام کنید."
+#: inc/Engine/Admin/Settings/Page.php:466
+msgid "Speed up your site for mobile visitors."
+msgstr "سرعت سایت خود را برای بازدید کنندگان موبایل نیز افزایش دهید."
-#: inc/Engine/Admin/Settings/Page.php:1830
+#: inc/Engine/Admin/Settings/Page.php:471
msgid ""
-"Provide your account email, global API key, and domain to use options such "
-"as clearing the Cloudflare cache and enabling optimal settings with WP "
-"Rocket."
+"We detected you use a plugin that requires a separate cache for mobile, and "
+"automatically enabled this option for compatibility."
msgstr ""
-"جهت استفاده از گزینههایی مثل حذف کش Cloudflare و فعالسازی تنظیمات بهینه با"
-" موشک وردپرس آدرس ایمیل حساب کاربری خود، کلید عمومی وب سرویس و دامنه خود را "
-"تعیین کنید."
+"ما متوجه شدیم که شما از یک افزونه استفاده میکنید که نیاز به یک کش مجزا برای"
+" موبایل دارد، و این گزینه را برای سازگاری به طور خودکار فعال کردیم."
-#: inc/Engine/Admin/Settings/Page.php:1833
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:475
+msgid "User Cache"
+msgstr "کش کاربر"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:478
msgid ""
-"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just "
-"activate the official Cloudflare plugin and configure it. WP Rocket will "
-"automatically enable compatibility."
+"%1$sUser cache%2$s is great when you have user-specific or restricted "
+"content on your website."
msgstr ""
-"%1$sبرنامه ریزی برای استفاده از بهینه سازی پلت فرم خودکار(APO)?%2$sفقط "
-"پلاگین رسمی کلادفلیر را فعال کرده و آن را پیکربندی کنید. موشک وردپرس به طور "
-"خودکار سازگاری را فعال می کند."
-
-#: inc/Engine/Admin/Settings/Page.php:1881
-msgid "Varnish"
-msgstr "وارنیش"
+"زمانی که در وبسایت خود محتوای مخصوص کاربران یا محافظت شده دارید %1$s کش "
+"کاربر%2$s برای شما عالی خواهد بود."
-#: inc/Engine/Admin/Settings/Page.php:1887
-msgid "If Varnish runs on your server, you must activate this add-on."
-msgstr ""
-"اگر بر روی سرور شما وارنیش اجرا شده است، باید این افزودنی را فعال کنید."
+#: inc/Engine/Admin/Settings/Page.php:486
+msgid "Cache Lifespan"
+msgstr "طول عمر کش"
-#: inc/Engine/Admin/Settings/Page.php:1889
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:489
msgid ""
-"Varnish cache will be purged each time WP Rocket clears its cache to ensure "
-"content is always up-to-date. %1$sLearn more%2$s"
+"Cache files older than the specified lifespan will be deleted. Enable "
+"%1$spreloading%2$s for the cache to be rebuilt automatically after lifespan "
+"expiration."
msgstr ""
-"هر بار که موشک وردپرس کش خود را پاکسازی میکند، کش وارنیش هم به منظور "
-"اطمینان از به روز بودن محتوا، پاک خواهد شد. %1$sکسب اطلاعات بیشتر%2$s"
+"فایل های کش قدیمی تر از طول عمر مشخص شده حذف می شوند. فعال کردن%1$sپیش "
+"بارگذاری%2$s برای کش باعث ایجاد خودکار آن بعد از دوره پایان عمر آن می شود."
-#: inc/Engine/Admin/Settings/Page.php:1924
-msgid "WebP Compatibility"
-msgstr "سازگاری WebP"
+#: inc/Engine/Admin/Settings/Page.php:503
+msgid "Enable caching for logged-in WordPress users"
+msgstr "فعالسازی کش برای کاربران وارد شدهی وردپرس"
-#: inc/Engine/Admin/Settings/Page.php:1930
-msgid "Improve browser compatibility for WebP images."
-msgstr "بهبود سازگاری مرورگر با تصاویر WebP."
+#: inc/Engine/Admin/Settings/Page.php:511
+msgid "Enable caching for mobile devices"
+msgstr "فعال سازی کش برای دستگاههای موبایل"
-#: inc/Engine/Admin/Settings/Page.php:1934
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:526
+msgid "Separate cache files for mobile devices"
+msgstr "جداسازی فایلهای کش برای دستگاههای موبایل"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:528
msgid ""
-"Enable this option if you would like WP Rocket to serve WebP images to "
-"compatible browsers. Please note that WP Rocket cannot create WebP images "
-"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore "
+"Most modern themes are responsive and should work without a separate cache. "
+"Enable this only if you have a dedicated mobile theme or plugin. %1$sMore "
"info%2$s"
msgstr ""
-"اگر می خواهید راکت وردپرس تصاویر WebP را به مرورگرهای سازگار ارائه دهد ، این"
-" گزینه را فعال کنید. لطفاً توجه داشته باشید که راکت وردپرس نمی تواند تصاویر "
-"WebP را برای شما ایجاد کند. برای ایجاد تصاویر WebP توصیه می کنیم از "
-"%1$sImagify%2$s استفاده کنید. %3$sراهنمایی%2$s"
-
-#: inc/Engine/Admin/Settings/Page.php:1954
-msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared."
-msgstr "کش Sucuri را حذف کن هنگامی که کش موشک وردپرس را حذف می کنید."
+"اکثر قالب های مدرن واکنشگرا هستند و باید بدون کش جداگانه کار کنند. این کار "
+"را فقط در صورتی انجام دهید که قالب یا افزونه اختصاصی موبایل دارید.%1$sمطالعه"
+" راهنما%2$s"
-#: inc/Engine/Admin/Settings/Page.php:1957
+#: inc/Engine/Admin/Settings/Page.php:544
msgid ""
-"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is "
-"cleared."
+"Specify time after which the global cache is cleared (0 = unlimited )"
msgstr ""
-"کلید API خود را برای پاک کردن کش Sucuri هنگام پاک شدن کش موشک وردپرس ارائه "
-"دهید."
-
-#: inc/Engine/Admin/Settings/Page.php:1965
-#: inc/Engine/Admin/Settings/Page.php:2109
-msgid "Sucuri"
-msgstr "Sucuri"
-
-#: inc/Engine/Admin/Settings/Page.php:1971
-msgid "Synchronize Sucuri cache with this add-on."
-msgstr "با این افزونه کش Sucuri را همگام سازی کنید."
-
-#: inc/Engine/Admin/Settings/Page.php:2009
-msgid "Cloudflare credentials"
-msgstr "اعتبارهای Cloudflare"
-
-#: inc/Engine/Admin/Settings/Page.php:2018
-msgid "Cloudflare settings"
-msgstr "تنظیمات Cloudflare"
-
-#: inc/Engine/Admin/Settings/Page.php:2032
-msgctxt "Cloudflare"
-msgid "Global API key:"
-msgstr "کلید API عمومی:"
-
-#: inc/Engine/Admin/Settings/Page.php:2033
-msgctxt "Cloudflare"
-msgid "Find your API key"
-msgstr "پیدا کردن کلید API شما"
-
-#: inc/Engine/Admin/Settings/Page.php:2045
-msgctxt "Cloudflare"
-msgid "Account email"
-msgstr "ایمیل حساب کاربری"
-
-#: inc/Engine/Admin/Settings/Page.php:2054
-msgctxt "Cloudflare"
-msgid "Zone ID"
-msgstr "شناسه ناحیه"
-
-#: inc/Engine/Admin/Settings/Page.php:2064
-msgid "Development mode"
-msgstr "حالت توسعه"
+"مدت زمانی که بعد از آن کش عمومی پاک میشود را تعیین کنید (0 = نامحدود)"
-#: inc/Engine/Admin/Settings/Page.php:2066
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:546
msgid ""
-"Temporarily activate development mode on your website. This setting will "
-"automatically turn off after 3 hours. %1$sLearn more%2$s"
+"Reduce lifespan to 10 hours or less if you notice issues that seem to appear"
+" periodically. %1$sWhy?%2$s"
msgstr ""
-"حالت توسعه به طور موقت بر روی وبسایت خود فعال کنید. این تنظیم بعد از گذشت 3 "
-"ساعت غیرفعال خواهد شد. %1$sکسب اطلاعات بیشتر%2$s"
+"اگر به طور متناوب خطاهایی را مشاهده میکنید طول عمر کش را به 10 ساعت یا کمتر"
+" کاهش دهید. %1$sچرا؟%2$s"
-#: inc/Engine/Admin/Settings/Page.php:2074
-msgid "Optimal settings"
-msgstr "تنظیمات بهینهسازی"
+#: inc/Engine/Admin/Settings/Page.php:552
+#: inc/Engine/License/views/promo-banner.php:30
+#: inc/Engine/License/views/renewal-soon-banner.php:13
+msgid "Hours"
+msgstr "ساعت"
-#: inc/Engine/Admin/Settings/Page.php:2075
-msgid ""
-"Automatically enhances your Cloudflare configuration for speed, performance "
-"grade and compatibility."
-msgstr "افزایش خودکار تنظیمات Cloudflare جهت سرعت، بهرهوری و هماهنگی بیشتر."
+#: inc/Engine/Admin/Settings/Page.php:553
+#: inc/Engine/License/views/promo-banner.php:29
+#: inc/Engine/License/views/renewal-soon-banner.php:12
+msgid "Days"
+msgstr "روزها"
-#: inc/Engine/Admin/Settings/Page.php:2083
-msgid "Relative protocol"
-msgstr "پروتکل نسبی"
+#: inc/Engine/Admin/Settings/Page.php:602
+msgid "File Optimization"
+msgstr "بهینهسازی فایل"
-#: inc/Engine/Admin/Settings/Page.php:2084
+#: inc/Engine/Admin/Settings/Page.php:603
+msgid "Optimize CSS & JS"
+msgstr "بهینهسازی CSS و JS"
+
+#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP
+#. Rocket”.
+#: inc/Engine/Admin/Settings/Page.php:611
msgid ""
-"Should only be used with Cloudflare's flexible SSL feature. URLs of static "
-"files (CSS, JS, images) will be rewritten to use // instead of http:// or "
-"https://."
+"%1$s Minification is currently activated in Autoptimize . If"
+" you want to use %2$s’s minification, disable this option in Autoptimize."
msgstr ""
-"تنها باید با ویژگی SSL منعطف Cloudflare استفاده شود. آدرس فایلهای استاتیک "
-"(CSS, JS, images) جهت استفاده از // به جای http:// یا https:// بازنویسی "
-"خواهند شد."
+"%1$sفشردهسازی هم اکنون در بهینهساز خودکار فعال شده است. "
+"اگر مایل به استفاده از فشردهساز %2$s هستید، گزینههای آن را در بهینهساز "
+"خودکار غیرفعال کنید."
-#: inc/Engine/Admin/Settings/Page.php:2122
-msgid "Sucuri credentials"
-msgstr "اعتبارهای Sucuri"
+#: inc/Engine/Admin/Settings/Page.php:621
+msgid "CSS Files"
+msgstr "فایلهای CSS"
-#: inc/Engine/Admin/Settings/Page.php:2135
-msgctxt "Sucuri"
+#: inc/Engine/Admin/Settings/Page.php:630
+msgid "JavaScript Files"
+msgstr "فایلهای جاوا اسکریپت"
+
+#. translators: %1$s = type of minification (HTML, CSS or JS), %2$s = “WP
+#. Rocket”.
+#: inc/Engine/Admin/Settings/Page.php:637
msgid ""
-"Firewall API key (for plugin), must be in format {32 characters}/{32 "
-"characters}:"
+"%1$s Minification is currently activated in Autoptimize . If"
+" you want to use %2$s’s minification, disable those options in Autoptimize."
msgstr ""
-"شناسه API فایروال (برای افزونه)، باید در فرمت {32 characters}/{32 "
-"characters}:"
-
-#: inc/Engine/Admin/Settings/Page.php:2136
-msgctxt "Sucuri"
-msgid "Find your API key"
-msgstr "پیدا کردن کلید API شما"
+"فشردهسازی %1$s هم اکنون در بهینهساز خودکار فعال شده است. "
+"اگر مایل به استفاده از فشردهساز %2$s هستید، گزینههای آن را در بهینهساز "
+"خودکار غیرفعال کنید."
-#: inc/Engine/Admin/Settings/Render.php:422 inc/deprecated/deprecated.php:1294
-msgid "Upload file and import settings"
-msgstr "بارگذاری فایل و درونریزی تنظیمات"
+#: inc/Engine/Admin/Settings/Page.php:642
+msgid ""
+"If you have problems after activating this option, copy and paste the "
+"default exclusions to quickly resolve issues:"
+msgstr ""
+"اگر پس از فعالسازی این گزینه با مشکل مواجه شدید، استثناهای پیشفرض را کپی و"
+" جایگذاری کنید تا مشکلات به سرعت حل شوند:"
-#: inc/Engine/Admin/Settings/Settings.php:362
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:646
msgid ""
-"Sucuri Add-on: The API key for the Sucuri firewall must be in format "
-"{32 characters}/{32 characters}
."
+"Also, please check our %1$sdocumentation%2$s for a list of compatibility "
+"exclusions."
msgstr ""
-"افزودنی Sucuri : شناسه API فایروال Sucuri باید به فرمت{32 "
-"characters}/{32 characters}
باشد."
+"همچنین، لطفاً%1$sاسناد%2$sما را برای فهرستی از استثناهای سازگاری بررسی کنید."
-#: inc/Engine/Admin/Settings/Settings.php:452
-#: inc/deprecated/deprecated.php:1245
-msgid "Settings saved."
-msgstr "تنظیمات ذخیره شد."
+#: inc/Engine/Admin/Settings/Page.php:651
+msgid ""
+"Internal scripts are excluded by default to prevent issues. Remove them to "
+"take full advantage of this option."
+msgstr ""
+"اسکریپت های داخلی به طور پیش فرض برای جلوگیری از مشکلات حذف می شوند. برای "
+"استفاده کامل از این گزینه، آنها را حذف کنید."
-#: inc/Engine/Admin/Settings/Settings.php:668
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:654
msgid ""
-"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved "
-"because it disables caching and optimizations for every page on your site."
+"If this causes trouble, restore the default exclusions, found %1$shere%2$s"
msgstr ""
-"متاسفیم! افزودن/(.*) در قوانین پیشرفته > هرگز کش نکن URL(s) ذخیره نشد به "
-"دلیل اینکه کش و بهینه سازی برای هر برگه در سایت شما غیرفعال است."
+"اگر این باعث مشکل می شود، موارد استثنای پیش فرض پیدا شده را بازیابی کنید "
+"%1$s اینجا %2$s"
-#: inc/Engine/Admin/Settings/Subscriber.php:168
-#: inc/deprecated/deprecated.php:1786
-#: views/settings/page-sections/tools.php:33
-msgid "Tools"
-msgstr "ابزارها"
+#: inc/Engine/Admin/Settings/Page.php:663
+msgid "Minify CSS files"
+msgstr "فشردهسازی فایلهای CSS"
-#: inc/Engine/Admin/Settings/Subscriber.php:169
-msgid "Import, Export, Rollback"
-msgstr "درونریزی، برونریزی، عقبگرد"
+#: inc/Engine/Admin/Settings/Page.php:664
+msgid "Minify CSS removes whitespace and comments to reduce the file size."
+msgstr ""
+"فشردهسازی فایلهای CSS حجم را با استفاده از حذف کامنتها و فضاهای خالی کاهش"
+" میدهد."
-#: inc/Engine/Admin/Settings/Subscriber.php:194
-#: views/settings/page-sections/imagify.php:14
-msgid "Image Optimization"
-msgstr "بهینهسازی تصویر"
+#: inc/Engine/Admin/Settings/Page.php:677
+#: inc/Engine/Admin/Settings/Page.php:741
+#: inc/Engine/Admin/Settings/Page.php:807
+#: inc/Engine/Admin/Settings/Page.php:831
+msgid "This could break things!"
+msgstr "این ممکن است بعضی چیزها را خراب کند!"
-#: inc/Engine/Admin/Settings/Subscriber.php:195
-msgid "Compress your images"
-msgstr "تصاویر خود را فشرده کنید"
+#: inc/Engine/Admin/Settings/Page.php:678
+#: inc/Engine/Admin/Settings/Page.php:742
+#: inc/Engine/Admin/Settings/Page.php:808
+#: inc/Engine/Admin/Settings/Page.php:832
+msgid ""
+"If you notice any errors on your website after having activated this "
+"setting, just deactivate it again, and your site will be back to normal."
+msgstr ""
+"اگر پس از فعالسازی این تنظیمات در سایت خود با خطایی مواجه شدید، فقط آن "
+"تنظیم را غیرفعال کرده تا سایت به وضعیت عادی بازگردد."
-#: inc/Engine/Admin/Settings/Subscriber.php:212
-#: views/settings/page-sections/tutorials.php:48
-msgid "Tutorials"
-msgstr "آموزشها"
+#: inc/Engine/Admin/Settings/Page.php:679
+msgid "Activate minify CSS"
+msgstr "فعالسازی فشردهساز CSS"
-#: inc/Engine/Admin/Settings/Subscriber.php:213
-msgid "Getting started and how to videos"
-msgstr "شروع به کار و نحوه فیلمبرداری"
+#: inc/Engine/Admin/Settings/Page.php:685
+msgid ""
+"Specify URLs of CSS files to be excluded from minification (one per line)."
+msgstr ""
+"آدرس استایل های CSS برای صرف نظر از فشرده سازی را وارد کنید ( هر آدرس در یک "
+"خط)."
-#: inc/Engine/CDN/RocketCDN/APIClient.php:134
+#: inc/Engine/Admin/Settings/Page.php:686
msgid ""
-"We could not fetch the current price because RocketCDN API returned an "
-"unexpected error code."
+"Internal: The domain part of the URL will be stripped "
+"automatically. Use (.*).css wildcards to exclude all CSS files located at a "
+"specific path."
msgstr ""
-"ما نتوانستیم قیمت فعلی را دریافت کنیم زیرا RocketCDN API یک کد خطای "
-"غیرمنتظره را برگرداند."
+"داخلی: بخش دامنه URL به طور خودکار برداشته می شود. برای حذف "
+"همه فایل های CSS که در یک مسیر خاص قرار دارند ، از (.*). css استفاده کنید."
-#: inc/Engine/CDN/RocketCDN/APIClient.php:140
-msgid "RocketCDN is not available at the moment. Please retry later."
-msgstr "RocketCDN دردسترس نیست. بعدا تلاش کنید"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:688
+msgid ""
+"3rd Party: Use either the full URL path or only the domain "
+"name, to exclude external CSS. %1$sMore info%2$s"
+msgstr ""
+"شخص 3rd: برای حذف CSS خارجی ، از مسیر URL کامل یا فقط از نام"
+" دامنه استفاده کنید.%1$sراهنمایی%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:177
-msgid "RocketCDN cache purge failed: Missing identifier parameter."
-msgstr "حذف کش RocketCDN شکست خورد:پارامتر شناسه وجود ندارد."
+#: inc/Engine/Admin/Settings/Page.php:701
+#: inc/Engine/Admin/Settings/Page.php:723
+msgid "Optimize CSS delivery"
+msgstr "بهینهسازی تحویل CSS"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:186
-msgid "RocketCDN cache purge failed: Missing user token."
-msgstr "حذف کش RocketCDN شکست خورد:کد کاربر وجود ندارد."
+#: inc/Engine/Admin/Settings/Page.php:706
+msgid ""
+"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
+"one method can be selected. Remove Unused CSS is recommended for optimal "
+"performance, but limited only to the users with active license."
+msgstr ""
+"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. "
+"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده "
+"توصیه می شود. اما فقط محدود برای افرادی است که لایسنس فعال دارند."
-#: inc/Engine/CDN/RocketCDN/APIClient.php:212
+#: inc/Engine/Admin/Settings/Page.php:706
msgid ""
-"RocketCDN cache purge failed: The API returned an unexpected response code."
-msgstr "حذف کش RocketCDN شکست خورد:API یک کد پاسخ غیر منتظره را بازگرداند."
+"Optimize CSS delivery eliminates render-blocking CSS on your website. Only "
+"one method can be selected. Remove Unused CSS is recommended for optimal "
+"performance."
+msgstr ""
+"بهینه سازی تحویل CSS ، مسدود کردن ارائه CSS در وب سایت شما را حذف می کند. "
+"فقط یک روش را می توان انتخاب کرد. برای عملکرد مطلوب حذف CSS استفاده نشده "
+"توصیه می شود."
-#: inc/Engine/CDN/RocketCDN/APIClient.php:221
-msgid "RocketCDN cache purge failed: The API returned an empty response."
-msgstr "حذف کش RocketCDN شکست خورد:API پاسخی خالی داد."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:716
+msgid ""
+"Optimize CSS Delivery features are disabled on local environments. %1$sLearn"
+" more%2$s"
+msgstr ""
+"ویژگی بهینه سازی تحویل CSS در محیط محلی غیرفعال است.%1$sبیشتر بخوانید%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:230
-msgid "RocketCDN cache purge failed: The API returned an unexpected response."
-msgstr "حذف کش RocketCDN شکست خورد:API پاسخی غیرمنتظره داد."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:739
+msgid ""
+"Removes unused CSS per page and helps to reduce page size and HTTP requests."
+" Recommended for best performance. Test thoroughly! %1$sMore info%2$s"
+msgstr ""
+"حذف CSS بلااستفاده در هر برگه و کمک به کاهش حجم و درخواست HTTP صفحه. توصیه "
+"شده برای عملکرد بهتر. امتحان کنید.%1$sاطلاعات بیشتر%2$s"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:239
-#, php-format
-msgid "RocketCDN cache purge failed: %s."
-msgstr "خطای پاک کردن حافظه RocketCDN:%s."
+#: inc/Engine/Admin/Settings/Page.php:743
+msgid "Activate Remove Unused CSS"
+msgstr "حذف CSS های بدون استفاده را فعال کنید"
-#: inc/Engine/CDN/RocketCDN/APIClient.php:247
-msgid "RocketCDN cache purge successful."
-msgstr "حذف کش RocketCDN موفق بود."
+#: inc/Engine/Admin/Settings/Page.php:749
+msgid "CSS safelist"
+msgstr "لیست بدون خطر CSS"
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90
-msgid "Next Billing Date"
-msgstr "تاریخ صورتحساب بعدی"
+#: inc/Engine/Admin/Settings/Page.php:750
+msgid ""
+"Specify CSS filenames, IDs or classes that should not be removed (one per "
+"line)."
+msgstr ""
+"نام فایل های CSS ، شناسه ها یا کلاس هایی را که نباید حذف شوند (یکی در هر خط)"
+" مشخص کنید."
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99
-msgid "No Subscription"
-msgstr "بدون اشتراک"
+#. translators: %1$s = plugin name.
+#: inc/Engine/Admin/Settings/Page.php:768
+msgctxt "WP Critical CSS compatibility"
+msgid ""
+"Load CSS asynchronously is currently handled by the %1$s plugin. If you want"
+" to use WP Rocket’s load CSS asynchronously option, disable the %1$s plugin."
+msgstr ""
+"بارگیری CSS به صورت ناهمزمان در حال حاضر توسط %1$s افزونه.اگر می خواهید "
+"بارگیری CSS به صورت ناهمزمان توسط افزونه موشک وردپرس انجام شود. افزونه %1$s "
+"غیرفعال کنید."
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135
-msgid "Your RocketCDN subscription is currently active."
-msgstr "اشتراک RocketCDN شما اکنون فعال است."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:770
+msgid ""
+"Generates critical path CSS and loads CSS asynchronously. %1$sMore info%2$s"
+msgstr ""
+"مسیر بحرانی CSS را ایجاد می کند و CSS را به صورت نا همزمان بارگذاری می "
+"کند.%1$sاطلاعات بیشتر%2$s"
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141
-#, php-format
-msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s."
+#: inc/Engine/Admin/Settings/Page.php:776
+msgid "Fallback critical CSS"
+msgstr "CSSهای معوق بحرانی"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:778
+msgid ""
+"Provides a fallback if auto-generated critical path CSS is incomplete. "
+"%1$sMore info%2$s"
msgstr ""
-"برای استفاده از RocketCDN ، بجای CNAME خود از %1$s%2$s%3$s استفاده کنید."
+"اگر مسیرهای بحرانی تولید شده خودکار CSS ناقص بود، یک تعویق ارائه دهید "
+"%1$sاطلاعات بیشتر%2$s"
-#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152
-#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230
-#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334
-#, php-format
-msgid "%1$sMore Info%2$s"
-msgstr "%1$sراهنمایی%2$s"
+#: inc/Engine/Admin/Settings/Page.php:793
+msgid "Minify JavaScript files"
+msgstr "فشردهسازی فایلهای جاوا اسکریپت"
-#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137
-msgid "RocketCDN enabled"
-msgstr "RocketCDN فعال شد"
+#: inc/Engine/Admin/Settings/Page.php:794
+msgid ""
+"Minify JavaScript removes whitespace and comments to reduce the file size."
+msgstr ""
+"فشردهسازی فایلهای جاوا اسکریپت حجم را با استفاده از حذف کامنتها و فضاهای "
+"خالی کاهش میدهد."
-#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160
-msgid "RocketCDN disabled"
-msgstr "RocketCDN غیرفعال شد"
+#: inc/Engine/Admin/Settings/Page.php:809
+msgid "Activate minify JavaScript"
+msgstr "فعالسازی فشردهسازی جاوا اسکریپت"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27
-#, php-format
-msgid "Valid until %s only!"
-msgstr "تا %s معتبر است!"
+#: inc/Engine/Admin/Settings/Page.php:814
+msgid ""
+"Combine JavaScript files (Enable Minify JavaScript files to select) "
+msgstr ""
+"ادغام فایلهای جاوا اسکریپت (برای انتخاب این گزینه، فشرده ساز فایلهای "
+"جاوا اسکریپت را فعال کنید) "
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36
-msgid "Speed up your website thanks to:"
-msgstr "سرعت بخشیدن به وب سایت شما به لطف:"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:816
+msgid ""
+"Combine JavaScript files combines your site’s internal, 3rd party and inline"
+" JS reducing HTTP requests. Not recommended if your site uses HTTP/2. "
+"%1$sMore info%2$s"
+msgstr ""
+"ترکیب فایل های جاوا اسکریپت ترکیبی از داخلی ، شخص 3rd و JS داخلی شما ، "
+"درخواست های HTTP را کاهش می دهد. اگر سایت شما از HTTP/2 استفاده می کند توصیه"
+" نمی شود. %1$sراهنمایی%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:817
msgid ""
-"High performance Content Delivery Network (CDN) with %1$sunlimited "
-"bandwidth%2$s"
-msgstr "بیشترین عملکرد شبکه توزیع محتوا (CDN) با%1$s پهنای باند نامحدود%2$s"
+"For compatibility and best results, this option is disabled when delay "
+"javascript execution is enabled."
+msgstr ""
+"برای سازگاری و بهترین نتایج ، این گزینه با فعال کردن تأخیر در اجرای جاوا "
+"اسکریپت غیرفعال می شود."
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:833
+msgid "Activate combine JavaScript"
+msgstr "فعالسازی ادغام جاوا اسکریپت"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:840
msgid ""
-"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied"
-msgstr "پیکربند آسنا:%1$sبهترین تنظیمات CDN %2$s بطور خودکار اعمال می شود"
+"Specify patterns of inline JavaScript to be excluded from concatenation (one"
+" per line). %1$sMore info%2$s"
+msgstr ""
+"برای مستثنی کردن فایلهای جاوا اسکریپت از ادغام و فشرده سازی، آدرس آن را "
+"اینجا وارد کنید.(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:857
msgid ""
-"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in"
-" our plugin"
+"Specify URLs of JavaScript files to be excluded from minification and "
+"concatenation (one per line)."
msgstr ""
-"ادغام موشک وردپرس: گزینه CDN بصورت خودکار%1$sپیکربندی می شود%2$s در افزونه "
-"ما"
-
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58
-msgid "Learn more about RocketCDN"
-msgstr "اطلاعات بیشتر راجع به RocketCDN"
+"نشانی های وب فایلهای جاوا اسکریپت را مشخص کنید تا از کوچک سازی و اتصال (یکی "
+"در هر خط) حذف شوند."
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:858
msgid ""
-"*$%1$s/month for 12 months then $%2$s/month. You can cancel your "
-"subscription at any time."
+"Internal: The domain part of the URL will be stripped "
+"automatically. Use (.*).js wildcards to exclude all JS files located at a "
+"specific path."
msgstr ""
-"*$%1$s/ماه برای 12 ماه آنگاه $%2$s/ماه. شما می توانید اشتراک خود را هرگاه که"
-" خواستید لغو کنید."
+"داخلی: بخش دامنه URL به طور خودکار برداشته می شود. از (*). "
+"js برای حذف تمام فایل های JS واقع در یک مسیر خاص استفاده کنید."
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86
-msgid "Billed monthly"
-msgstr "صورتحساب ماهانه"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:860
+msgid ""
+"3rd Party: Use either the full URL path or only the domain "
+"name, to exclude external JS. %1$sMore info%2$s"
+msgstr ""
+"شخص 3rd : برای حذف JS خارجی ، از مسیر URL کامل یا فقط نام "
+"دامنه استفاده کنید.%1$sراهنمایی%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87
-msgid "Get Started"
-msgstr "شروع کنید"
+#: inc/Engine/Admin/Settings/Page.php:876
+msgid "Load JavaScript deferred"
+msgstr "بارگذاری جاوا اسکریپت به صورت تاخیری"
-#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92
-msgid "Reduce this banner"
-msgstr "حذف این بنر"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:878
+msgid ""
+"Load JavaScript deferred eliminates render-blocking JS on your site and can "
+"improve load time. %1$sMore info%2$s"
+msgstr ""
+"بارگذاری جاوا اسکریپت به صورت تاخیری برای افزایش سرعت بارگذاری، جاوا "
+"اسکریپتهای مسدود کننده رندر render-blocking صفحه را حذف میکند. %1$sاطلاعات"
+" بیشتر%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:891
msgid ""
-"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network."
+"Specify URLs or keywords of JavaScript files to be excluded from defer (one "
+"per line). %1$sMore info%2$s"
msgstr ""
-"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید."
+"برای مستثنی کردن فایلهای جاوا اسکریپت از تعویق، آدرس آن را اینجا وارد "
+"کنید(هرخط یک آدرس).%1$sاطلاعات بیشتر%2$s"
-#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20
-#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13
-msgid "Learn More"
-msgstr "ادامه مطلب"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:909
+msgid ""
+"Improves performance by delaying the loading of JavaScript files until user "
+"interaction (e.g. scroll, click). %1$sMore info%2$s"
+msgstr ""
+"با تأخیر در بارگذاری فایل های جاوا اسکریپت تا تعامل کاربر (به عنوان مثال "
+"پیمایش ، کلیک) ، عملکرد را بهبود می بخشد.%1$sراهنمایی%2$s"
-#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23
-msgid "RocketCDN is unavailable on local domains and staging sites."
-msgstr "سرویس RocketCDN در دامنه محلی و سایت های آزمایشی دردسترس نیست."
+#: inc/Engine/Admin/Settings/Page.php:918
+msgid "One-click exclusions"
+msgstr "موارد استثنا با یک کلیک"
-#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32
-msgid "Get RocketCDN"
-msgstr "خرید RocketCDN"
+#: inc/Engine/Admin/Settings/Page.php:919
+msgid ""
+"When using the Delay JavaScript Execution, you might experience delay "
+"loading elements located in the viewport that need to appear immediately - "
+"e.g. slider, header, menu."
+msgstr ""
+"هنگام استفاده از اجرای تاخیری جاوا اسکریپت، ممکن است عناصر بارگیری تاخیری "
+"واقع در ویوپورت را تجربه کنید که باید فورا ظاهر شوند - به عنوان مثال: "
+"اسلایدر، سربرگ، فهرست."
-#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11
-msgid "New!"
-msgstr "جدید!"
+#: inc/Engine/Admin/Settings/Page.php:920
+msgid ""
+"If you need instant visibility, click below on files that should NOT be "
+"delayed. This selection will help users interact with the elements straight "
+"away."
+msgstr ""
+"اگر به دید فوری نیاز دارید، روی فایلهایی که نباید به تأخیر بیفتند، در زیر "
+"کلیک کنید. این انتخاب به کاربران کمک می کند تا فوراً با عناصر تعامل داشته "
+"باشند."
-#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12
+#: inc/Engine/Admin/Settings/Page.php:937
msgid ""
-"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!"
+"Specify URLs or keywords that can identify inline or JavaScript files to be "
+"excluded from delaying execution (one per line)."
msgstr ""
-"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید!"
+"نشانی های اینترنتی یا کلمات کلیدی را مشخص کنید که بتوانند درون خطی یا فایل "
+"های جاوا اسکریپت را شناسایی کنند تا از تأخیر اجرا حذف شوند (یکی در هر خط)."
-#: inc/Engine/Cache/AdminSubscriber.php:118 inc/admin/admin.php:96
-#: inc/admin/admin.php:118 inc/deprecated/3.5.php:898
-msgid "Clear this cache"
-msgstr "خالی کردن این کش"
+#: inc/Engine/Admin/Settings/Page.php:969
+msgid "Media"
+msgstr "رسانه"
-#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75
-msgid "WP Rocket Expired Cache Interval"
-msgstr "مدت زمان کش موشک وردپرس به اتمام رسیده است"
+#: inc/Engine/Admin/Settings/Page.php:970
+msgid "LazyLoad, image dimensions"
+msgstr "بارگذاری تنبل، ابعاد تصویر"
-#: inc/Engine/Cache/WPCache.php:337
-msgid "WP_CACHE value"
-msgstr "مقدار WP_CACHE"
+#: inc/Engine/Admin/Settings/Page.php:979
+msgid "Autoptimize"
+msgstr "بهینهسازی خودکار"
-#: inc/Engine/Cache/WPCache.php:358
-msgid ""
-"The WP_CACHE constant needs to be set to true for WP Rocket cache to work "
-"properly"
-msgstr "مقدار WP_CACHE باید true باشد تا کش موشک وردپرس به درستی کار کند"
+#: inc/Engine/Admin/Settings/Page.php:1033
+msgid "LazyLoad"
+msgstr "بارگزاری تنبل"
-#: inc/Engine/Cache/WPCache.php:367
-msgid "WP_CACHE is set to true"
-msgstr "مقدار WP_CACHE به true تنظیم شده است"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1036
+msgid ""
+"It can improve actual and perceived loading time as images, iframes, and "
+"videos will be loaded only as they enter (or about to enter) the viewport "
+"and reduces the number of HTTP requests. %1$sMore Info%2$s"
+msgstr ""
+"این گزینه باعث میشود زمان بارگذاری تصاویر، آیفریمها و ویدیوها به صورت "
+"بارگذاری آنها هنگام قرار گرفتن در قسمت قابل مشاهده صفحه، به شکل واقعی و "
+"محسوس کاهش یابد. همچنین (تعداد درخواستهای) HTTP نیز کاهش خواهد یافت. "
+"%1$sاطلاعات بیشتر%2$s"
-#: inc/Engine/Cache/WPCache.php:375
-msgid "WP_CACHE is not set"
-msgstr "مقدار WP_CACHE تنظیم نشده است"
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names.
+#: inc/Engine/Admin/Settings/Page.php:1043
+msgid ""
+"LazyLoad is currently activated in %2$s. If you want to use WP Rocket’s "
+"LazyLoad, disable this option in %2$s."
+msgstr ""
+"بارگذاری تنبل در حال حاضر فعال است در%2$s. اگر می خواهید از بارگذاری تنبل "
+"موشک وردپرس استفاده کنید، این گزینه %2$s را غیرفعال کنید."
-#: inc/Engine/Cache/WPCache.php:383
-msgid "WP_CACHE is set to false"
-msgstr "مقدار WP_CACHE به false تنظیم شده است"
+#: inc/Engine/Admin/Settings/Page.php:1046
+msgid "Image Dimensions"
+msgstr "ابعاد تصویر"
-#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253
-msgid "Every minute"
-msgstr "هر دقیقه"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1049
+msgid ""
+"Add missing width and height attributes to images. Helps prevent layout "
+"shifts and improve the reading experience for your visitors. %1$sMore "
+"info%2$s"
+msgstr ""
+"ویژگی های عرض و ارتفاع را به تصاویر بدون آن اضافه کنید. به جلوگیری از تغییر "
+"چیدمان و بهبود تجربه خواندن برای بازدیدکنندگان کمک می کند.%1$s راهنمایی%2$s"
-#: inc/Engine/CriticalPath/APIClient.php:64
-#, php-format
-msgid "Critical CSS for %1$s not generated. Error: %2$s"
-msgstr "CSS بحرانی برای %1$s تولید نشده است. خطا: %2$s"
+#: inc/Engine/Admin/Settings/Page.php:1068
+msgid "Enable for images"
+msgstr "فعالسازی برای تصاویر"
-#: inc/Engine/CriticalPath/APIClient.php:170
-#, php-format
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin names.
+#: inc/Engine/Admin/Settings/Page.php:1080
msgid ""
-"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
-"empty response."
+"LazyLoad for images is currently activated in %2$s. If you want to use "
+"%1$s’s LazyLoad, disable this option in %2$s."
msgstr ""
-"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ خالی بر می گرداند."
+"در حال حاضر بارگذاری تنبل تصاویر در %2$s فعال است. اگر می خواهید از "
+"%1$sبارگذاری تنبل استفاده کنید. این گزینه را در %2$s غیرفعال کنید."
-#: inc/Engine/CriticalPath/APIClient.php:173
-#, php-format
-msgid ""
-"Critical CSS for %1$s not generated. Error: The API returned an empty "
-"response."
-msgstr "CSS بحرانی برای %1$s تولید نشده است خطا: API پاسخ خالی بر می گرداند."
+#: inc/Engine/Admin/Settings/Page.php:1088
+msgid "Enable for CSS background images"
+msgstr "فعالسازی برای تصاویر پس ضمینه CSS"
-#: inc/Engine/CriticalPath/APIClient.php:185
-#, php-format
-msgid "Critical CSS for %1$s on mobile not generated."
-msgstr "CSS بحرانی برای %1$s در موبایل تولید شد."
+#: inc/Engine/Admin/Settings/Page.php:1103
+msgid "Enable for iframes and videos"
+msgstr "فعال سازی برای آیفریمها و ویدیوها"
-#: inc/Engine/CriticalPath/APIClient.php:187
-#: inc/Engine/CriticalPath/ProcessorService.php:194
-#, php-format
-msgid "Critical CSS for %1$s not generated."
-msgstr "CSS بحرانی برای %1$s. تولید نشد."
+#: inc/Engine/Admin/Settings/Page.php:1118
+msgid "Replace YouTube iframe with preview image"
+msgstr "جایگزینی آیفریم یوتیوب با تصویر پیشنمایش"
-#: inc/Engine/CriticalPath/APIClient.php:195
-#, php-format
-msgid ""
-"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
-"invalid response code."
-msgstr ""
-"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ نامعتبر بر می "
-"گرداند."
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names.
+#: inc/Engine/Admin/Settings/Page.php:1120
+msgid "Replace YouTube iframe with preview image is not compatible with %2$s."
+msgstr "جایگزین iframe YouTube با تصویر پیش نمایش با %2$s سازگار نیست."
-#: inc/Engine/CriticalPath/APIClient.php:197
-#, php-format
+#. translators: %1$s = “WP Rocket”, %2$s = a list of plugin or themes names.
+#: inc/Engine/Admin/Settings/Page.php:1120
msgid ""
-"Critical CSS for %1$s not generated. Error: The API returned an invalid "
-"response code."
+"This can significantly improve your loading time if you have a lot of "
+"YouTube videos on a page."
msgstr ""
-"CSS بحرانی برای %1$s تولید نشده است.خطا: API پاسخ نامعتبر بر می گرداند."
+"در صورتی که تعداد زیادی ویدیو از یوتیوب داخل صفحه خود داشته باشید، این گزینه"
+" به طور قابل ملاحظهای سرعت شما را افزایش خواهد داد."
-#: inc/Engine/CriticalPath/APIClient.php:205
-#: inc/Engine/CriticalPath/ProcessorService.php:201
-#, php-format
-msgid "Error: %1$s"
-msgstr "خطا: %1$s"
+#: inc/Engine/Admin/Settings/Page.php:1135
+msgid "Excluded images or iframes"
+msgstr "تصاویر یا iframe های مستثنی شده"
-#: inc/Engine/CriticalPath/Admin/Admin.php:264
-msgid "Regenerate Critical Path CSS"
-msgstr "بازسازی مسیر بحرانی CSS"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1137
+msgid ""
+"Specify keywords (e.g. image filename, CSS filename, CSS class, domain) from"
+" the image or iframe code to be excluded (one per line). %1$sMore info%2$s"
+msgstr ""
+"کلمات کلیدی (مانند نام فایل تصویر ، کلاس CSS ، دامنه) را از تصویر یا کد "
+"iframe حذف کنید (یکی در هر خط) مشخص کنید.%1$sراهنمایی%2$s"
-#: inc/Engine/CriticalPath/Admin/Post.php:144
-#: views/cpcss/metabox/generate.php:47
-msgid "Generate Specific CPCSS"
-msgstr "بازسازی مسیر قطعی CSS"
+#: inc/Engine/Admin/Settings/Page.php:1145
+msgid "Add missing image dimensions"
+msgstr "افزودن ابعاد به تصاویر بدون ابعاد"
-#: inc/Engine/CriticalPath/Admin/Post.php:145
-#: views/cpcss/metabox/generate.php:45
-msgid "Regenerate specific CPCSS"
-msgstr "بازسازی مسیر قطعی CSS"
+#: inc/Engine/Admin/Settings/Page.php:1165
+msgid "Generate cache files, preload fonts"
+msgstr "ایجاد فایل کش، پیش بارگذاری فونتها"
-#: inc/Engine/CriticalPath/Admin/Post.php:216
-msgid "This feature is not available for non-public post types."
-msgstr "این ویژگی برای انواع نوشتههای منتشر نشده قابل دسترس نیست."
+#: inc/Engine/Admin/Settings/Page.php:1177
+msgid "Preload Cache"
+msgstr "پیشبارگذاری کش"
-#: inc/Engine/CriticalPath/Admin/Post.php:219
-msgid "%l to use this feature."
-msgstr "%l برای استفاده از این ویژگی."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1180
+msgid ""
+"When you enable preloading WP Rocket will automatically detect your sitemaps"
+" and save all URLs to the database. The plugin will make sure that your "
+"cache is always preloaded."
+msgstr ""
+"وقتی پیش بارگذاری را فعال می کنید، WP Rocket به طور خودکار نقشه های سایت شما"
+" را شناسایی می کند و همه URL ها را در پایگاه داده ذخیره می کند. این افزونه "
+"مطمئن می شود که کش شما همیشه از قبل بارگذاری شده است."
-#: inc/Engine/CriticalPath/Admin/Post.php:222
-#, php-format
-msgid "Publish the %s"
-msgstr "انتشار %s"
+#: inc/Engine/Admin/Settings/Page.php:1188
+msgid "Preload Links"
+msgstr "لینکهای پیش بارگذاری"
-#: inc/Engine/CriticalPath/Admin/Post.php:223
-msgid "Enable Load CSS asynchronously in WP Rocket settings"
-msgstr "فعالسازی بارگیری CSS بصورت نابهنگام توسط تنظیمات موشک وردپرس"
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1191
+msgid ""
+"Link preloading improves the perceived load time by downloading a page when "
+"a user hovers over the link. %1$sMore info%2$s"
+msgstr ""
+"پیش بارگذاری لینک با بارگیری صفحه ای که کاربر روی لینک موس خود را قرار می "
+"دهد ، زمان بارگذاری را بهبود می بخشد. %1$sراهنمایی%2$s"
-#: inc/Engine/CriticalPath/Admin/Post.php:224
-msgid "Enable Load CSS asynchronously in the options above"
-msgstr "فعالسازی بارگیری CSS بصورت نابهنگام در گزینه بالا"
+#: inc/Engine/Admin/Settings/Page.php:1199
+msgid "Prefetch DNS Requests"
+msgstr "پیشدریافت درخواست DNS"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176
-msgid "Critical CSS generation is currently running."
-msgstr "ایجاد CSS بحرانی در حال اجرا می باشد."
+#: inc/Engine/Admin/Settings/Page.php:1201
+msgid ""
+"DNS prefetching can make external files load faster, especially on mobile "
+"networks"
+msgstr ""
+"پیشدریافت درخواست DNS باعث افزایش سرعت بارگذاری فایلهای خارجی به خصوص بر "
+"روی شبکههای موبایلی خواهد شد"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181
-#, php-format
-msgid "Go to the %1$sWP Rocket settings%2$s page to track progress."
-msgstr "به %1$sتنظیمات موشک وردپرس%2$s برای رهگیری پیشرفت مراجعه کنید."
+#: inc/Engine/Admin/Settings/Page.php:1206
+msgid "Preload Fonts"
+msgstr "پیش بارگذاری فونتها"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1209
msgid ""
-"Critical CSS generation is currently running: %1$d of %2$d page types "
-"completed. (Refresh this page to view progress)"
+"Improves performance by helping browsers discover fonts in CSS files. "
+"%1$sMore info%2$s"
msgstr ""
-"تولید CSSبحرانی در حال اجرا است: %1$d از %2$d نوع صفحه کامل شده است. (برای "
-"مشاهده پیشرفت این صفحه را رفرش کنید)"
+"با کمک به مرورگرها برای کشف فونت در فایل های CSS ، عملکرد را بهبود می "
+"بخشد.%1$sراهنمایی%2$s"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472
-#, php-format
-msgid "Critical CSS generation finished for %1$d of %2$d page types."
-msgstr "تولید CSSبحرانی برای %1$d از %2$d نوع صفحه کامل شد."
+#: inc/Engine/Admin/Settings/Page.php:1223
+msgid "Activate Preloading"
+msgstr "فعالسازی پیش پارگذاری"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
-msgid "Critical CSS generation encountered one or more errors."
-msgstr "ایجاد CSS بحرانی یک یا چند خطا دارد."
+#: inc/Engine/Admin/Settings/Page.php:1234
+msgid "Exclude URLs"
+msgstr "مستثنی کردن URL ها"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
-msgid "Learn more."
-msgstr "اطلاعات بیشتر."
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1239
+msgid ""
+"Specify URLs to be excluded from the preload feature (one per line). "
+"%1$sMore info%2$s"
+msgstr ""
+"برای مستثنی کردن URLها از پیش بارگذاری وارد کنید (یکی در هر خط).%1$sاطلاعات "
+"بیشتر%2$s"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1250
+msgid "URLs to prefetch"
+msgstr "آدرسها برای پیشدریافت"
+
+#: inc/Engine/Admin/Settings/Page.php:1251
msgid ""
-"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS "
-"optimization. Load CSS Asynchronously is always available as a back-up."
+"Specify external hosts to be prefetched (no http:
, one per "
+"line)"
msgstr ""
-"به شدت توصیه میشه%1$sحذف CSSهای بلااستفاده را بروزرسانی کنید%2$sبرای بهینه "
-"سازی CSS. بارگیری ناهمزمان CSS همیشه به عنوان پشتیبان در دسترس است."
+"میزبانهای خارجی را برای واکشی مشخص کنید(بدونhttp:
، یکی درهر "
+"خط)"
-#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845
-msgid "Stay with the old option"
-msgstr "با گزینه قدیمی بمانید"
+#: inc/Engine/Admin/Settings/Page.php:1260
+msgid "Fonts to preload"
+msgstr "فونتها برای پیش بارگذاری"
-#: inc/Engine/CriticalPath/DataManager.php:68
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1261
msgid ""
-"Critical CSS for %1$s on mobile not generated. Error: The destination folder"
-" could not be created."
+"Specify urls of the font files to be preloaded (one per line). Fonts must be"
+" hosted on your own domain, or the domain you have specified on the CDN tab."
msgstr ""
-"CSS بحرانی برای %1$s موبایل ایجاد نشده است.خطا: پوشه مقصد نمی تواند ایجاد "
-"شود."
+"آدرس های اینترنتی فایلهای فونت را که باید بارگیری شوند (یکی در هر خط) مشخص "
+"کنید.فونت ها باید در دامنه خود یا دامنه ای که در برگه CDN مشخص کرده اید "
+"میزبانی شوند."
-#: inc/Engine/CriticalPath/DataManager.php:71
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1262
msgid ""
-"Critical CSS for %1$s not generated. Error: The destination folder could not"
-" be created."
+"The domain part of the URL will be stripped automatically. Allowed font "
+"extensions: otf, ttf, svg, woff, woff2."
msgstr ""
-"CSS بحرانی برای %1$s تولید نشده است.خطا: پوشه مقصد نمی تواند ایجاد شود."
+"بخش دامنه URL به طور خودکار برداشته می شود. پسوند فونت های مجاز شامل: "
+"otf, ttf, svg, woff, woff2."
-#: inc/Engine/CriticalPath/DataManager.php:106
-msgid "Critical CSS file for mobile does not exist"
-msgstr "فایل CSS بحرانی برای موبایل موجود نیست"
+#: inc/Engine/Admin/Settings/Page.php:1271
+msgid "Enable link preloading"
+msgstr "پیش بارگذاری لینک را فعال کنید"
-#: inc/Engine/CriticalPath/DataManager.php:108
-msgid "Critical CSS file does not exist"
-msgstr "CSS بحرانی وجود ندارد"
+#: inc/Engine/Admin/Settings/Page.php:1290
+msgid "Advanced Rules"
+msgstr "قوانین پیشرفته"
-#: inc/Engine/CriticalPath/DataManager.php:120
-msgid "Critical CSS file for mobile cannot be deleted"
-msgstr "CSS بحرانی موبایل نمی تواند حذف شود"
+#: inc/Engine/Admin/Settings/Page.php:1291
+msgid "Fine-tune cache rules"
+msgstr "قوانین کش دقیق"
-#: inc/Engine/CriticalPath/DataManager.php:122
-msgid "Critical CSS file cannot be deleted"
-msgstr "CSS بحرانی نمی تواند حذف شود"
+#: inc/Engine/Admin/Settings/Page.php:1302
+msgid ""
+"Sensitive pages like custom login/logout URLs should be excluded from cache."
+msgstr "برگههای حساس مثل ورود\\خروج باید از کش مستثنی شوند."
-#: inc/Engine/CriticalPath/ProcessorService.php:187
-#, php-format
-msgid "Mobile Critical CSS for %1$s not generated."
-msgstr "CSS بحرانی موبایل برای %1$s تولید نشد."
+#: inc/Engine/Admin/Settings/Page.php:1305
+msgctxt "plugin name"
+msgid "WooCommerce"
+msgstr "ووکامرس"
-#: inc/Engine/CriticalPath/ProcessorService.php:228
-#, php-format
-msgid "Critical CSS for %s in progress."
-msgstr "CSS بحرانی برای %s در حال پردازش است."
+#: inc/Engine/Admin/Settings/Page.php:1307
+msgctxt "plugin name"
+msgid "Easy Digital Downloads"
+msgstr "دانلود آسان دیجیتال EDD"
-#: inc/Engine/CriticalPath/ProcessorService.php:262
-#, php-format
-msgid "Mobile Critical CSS for %s generated."
-msgstr "CSS بحرانی موبایل برای %s ایجاد شد."
+#: inc/Engine/Admin/Settings/Page.php:1309
+msgctxt "plugin name"
+msgid "iThemes Exchange"
+msgstr "iThemes Exchange"
-#: inc/Engine/CriticalPath/ProcessorService.php:273
-#, php-format
-msgid "Critical CSS for %s generated."
-msgstr "CSS بحرانی برای %s. تولید شد."
+#: inc/Engine/Admin/Settings/Page.php:1311
+msgctxt "plugin name"
+msgid "Jigoshop"
+msgstr "Jigoshop"
-#: inc/Engine/CriticalPath/ProcessorService.php:295
-msgid "Critical CSS file deleted successfully."
-msgstr "CSS بحرانی با موفقیت حذف شد."
+#: inc/Engine/Admin/Settings/Page.php:1313
+msgctxt "plugin name"
+msgid "WP-Shop"
+msgstr "WP-Shop"
-#: inc/Engine/CriticalPath/ProcessorService.php:317
-#, php-format
-msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later."
-msgstr "استایل CSS بحرانی موباید برای %1$s متوقف شد. مجدد تلاش کنید."
+#. translators: %1$s = opening tag, %2$s = plugin name, %3$s closing
+#. tag.
+#: inc/Engine/Admin/Settings/Page.php:1319
+msgid ""
+" Cart, checkout and \"my account\" pages set in "
+"%1$s%2$s%3$s will be detected and never cached by default."
+msgstr ""
+" برگههای سبد خرید، پرداخت و \"حساب کاربری من\" که در "
+"%1$s%2$s%3$s تعیین شدهاند تشخیص داده خواهند شد و به صورت "
+"پیشفرض هرگز کش نخواهند شد."
-#: inc/Engine/CriticalPath/ProcessorService.php:330
-#, php-format
-msgid "Critical CSS for %1$s timeout. Please retry a little later."
+#: inc/Engine/Admin/Settings/Page.php:1337
+msgid "Never Cache Cookies"
+msgstr "کوکیهایی که هرگز کش نخواهند شد"
+
+#: inc/Engine/Admin/Settings/Page.php:1355
+msgid "Cache Query String(s)"
+msgstr "کش کردن کوئری استرینگ(ها)"
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1358
+msgid ""
+"%1$sCache for query strings%2$s enables you to force caching for specific "
+"GET parameters."
msgstr ""
-"CSS بحرانی برای %1$s وقفه افتاده است. لطفا کمی بعدتر مجدد امتحان کنید."
+"%1$sکش کردن کوئری استرینگها%2$s باعث میشوند که پارامترهای متد GET به اجبار"
+" کش شوند."
-#: inc/Engine/CriticalPath/RESTWP.php:141
-msgid "Mobile CPCSS generation not enabled."
-msgstr "ایجاد CPCSS موبایل فعال نشد."
+#: inc/Engine/Admin/Settings/Page.php:1369
+msgid ""
+"Specify URLs of pages or posts that should never be cached (one per line)"
+msgstr ""
+"آدرس برگهها یا نوشتههایی که هرگز نباید کش شوند را تعیین کنید (در هر خط "
+"یکی)"
-#: inc/Engine/CriticalPath/RESTWPPost.php:36
-#: inc/Engine/CriticalPath/RESTWPPost.php:69
-msgid "Requested post does not exist."
-msgstr "نوشته درخواست شده موجود نیست."
+#: inc/Engine/Admin/Settings/Page.php:1370
+#: inc/Engine/Admin/Settings/Page.php:1398
+msgid ""
+"The domain part of the URL will be stripped automatically. Use (.*) "
+"wildcards to address multiple URLs under a given path."
+msgstr ""
+"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد. از (.*) برای تعیین چند"
+" آدرس از یک مسیر استفاده کنید."
-#: inc/Engine/CriticalPath/RESTWPPost.php:46
-msgid "Cannot generate CPCSS for unpublished post."
-msgstr "برای نوشته های منتشر نشده نمی توان CPCSS ایجاد کرد."
+#: inc/Engine/Admin/Settings/Page.php:1379
+msgid ""
+"Specify full or partial IDs of cookies that, when set in the visitor's "
+"browser, should prevent a page from getting cached (one per line)"
+msgstr ""
+"شناسه های کامل یا جزئی کوکی ها را مشخص کنید که وقتی در مرورگر بازدیدکننده "
+"تنظیم می شوند ، از ذخیره شدن صفحه جلوگیری شود (یکی در هر خط)"
-#: inc/Engine/HealthCheck/HealthCheck.php:82 inc/deprecated/3.5.php:858
+#: inc/Engine/Admin/Settings/Page.php:1387
msgid ""
-"The following scheduled event failed to run. This may indicate the CRON "
-"system is not running properly, which can prevent some WP Rocket features "
-"from working as intended:"
-msgid_plural ""
-"The following scheduled events failed to run. This may indicate the CRON "
-"system is not running properly, which can prevent some WP Rocket features "
-"from working as intended:"
-msgstr[0] ""
-"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به "
-"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک "
-"وردپرس شود:"
-msgstr[1] ""
-"رویداد برنامه ریزی شده زیر اجرا نشد. این ممکن است نشان دهد که سیستم CRON به "
-"درستی اجرا نمی شود ، که می تواند مانع از عملکرد برخی از ویژگی های موشک "
-"وردپرس شود:"
+"Specify user agent strings that should never see cached pages (one per line)"
+msgstr ""
+"رشتههای user agentی که هرگز نباید صفحات را کش شده مشاهده کنند را تعیین کنید"
+" (در هر خط یکی)"
+
+#: inc/Engine/Admin/Settings/Page.php:1388
+msgid "Use (.*) wildcards to detect parts of UA strings."
+msgstr "برای تشخص قسمتهای مختلف رشته user agent از (.*)استفاده کنید."
+
+#: inc/Engine/Admin/Settings/Page.php:1397
+msgid ""
+"Specify URLs you always want purged from cache whenever you update any post "
+"or page (one per line)"
+msgstr ""
+"آدرسهایی که مایل هستید فارغ از اینکه نوشته یا برگهای بروزرسانی شده، همیشه "
+"از کش حذف شوند را تعیین کنید (در هر خط یکی)"
-#: inc/Engine/HealthCheck/HealthCheck.php:88 inc/deprecated/3.5.php:867
-msgid "Please contact your host to check if CRON is working."
-msgstr "لطفا با هاست خود جهت بررسی عملکرد CRON تماس بگیرید."
+#: inc/Engine/Admin/Settings/Page.php:1406
+msgid "Specify query strings for caching (one per line)"
+msgstr "کوئری استرینگها برای کش شدن را تعیین کنید (در هر خط یکی)"
-#: inc/Engine/HealthCheck/HealthCheck.php:142
-msgid "Scheduled Cache Purge"
-msgstr "برنامه ریزی خالی کردن کش"
+#: inc/Engine/Admin/Settings/Page.php:1432
+msgid "Optimize, reduce bloat"
+msgstr "بهینهسازی، کاهش نفخ"
-#: inc/Engine/HealthCheck/HealthCheck.php:143
-msgid "Scheduled Database Optimization"
-msgstr "برنامه ریزی بهینه سازی دیتابیس"
+#: inc/Engine/Admin/Settings/Page.php:1439
+msgid "Post Cleanup"
+msgstr "پاکسازی نوشته"
-#: inc/Engine/HealthCheck/HealthCheck.php:144
-msgid "Database Optimization Process"
-msgstr "پروسه بهینه سازی دیتابیس"
+#: inc/Engine/Admin/Settings/Page.php:1441
+msgid ""
+"Post revisions and drafts will be permanently deleted. Do not use this "
+"option if you need to retain revisions or drafts."
+msgstr ""
+"نوشتههای بازبینی و پیشنویس به طور دائم حذف خواهند شد. اگر به نگهداری "
+"بازبینیها و پیشنویسها نیاز دارید این گزینه را استفاده نکنید."
-#: inc/Engine/HealthCheck/HealthCheck.php:145
-msgctxt "noun"
-msgid "Preload"
-msgstr "پیش بارگذاری"
+#: inc/Engine/Admin/Settings/Page.php:1446
+msgid "Comments Cleanup"
+msgstr "پاکسازی دیدگاهها"
-#: inc/Engine/HealthCheck/HealthCheck.php:146
-msgid "Critical Path CSS Generation Process"
-msgstr "پروسه تولید CSS بحرانی"
+#: inc/Engine/Admin/Settings/Page.php:1448
+msgid "Spam and trashed comments will be permanently deleted."
+msgstr "دیدگاههای اسپم و داخل زبالهدان به طور دائم حذف خواهند شد."
-#: inc/Engine/License/Renewal.php:76
-#, php-format
-msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!"
-msgstr "تمدید کنید تا دیر نشده، شما فق طپرداخت می کنید%1$s%2$s%3$s!"
+#: inc/Engine/Admin/Settings/Page.php:1452
+msgid "Transients Cleanup"
+msgstr "پاکسازی دادههای گذرا"
-#: inc/Engine/License/Renewal.php:85
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1454
msgid ""
-"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
-"%4$s%5$s%6$s!"
+"Transients are temporary options; they are safe to remove. They will be "
+"automatically regenerated as your plugins require them."
msgstr ""
-"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %4$s%5$s%6$s پرداخت "
-"می کنید!"
+"دادههای گذرا تنظیمات موقتی هستند. حذف آنها ایمن است. در صورتی که افزونهها"
+" به این دادهها نیاز داشته باشند به صورت خودکار ایجاد خواهند شد."
-#: inc/Engine/License/Renewal.php:139
-#, php-format
-msgid "Renew your license for 1 year now at %1$s%3$s%2$s."
-msgstr "تمدید لایسنس برای یک سال دیگر%1$s%3$s%2$s."
+#: inc/Engine/Admin/Settings/Page.php:1458
+msgid "Database Cleanup"
+msgstr "پاکسازی پایگاه داده"
-#: inc/Engine/License/Renewal.php:152
-#, php-format
-msgid ""
-"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you "
-"will only pay %1$s%4$s%2$s!"
-msgstr ""
-"تمدید لایسنس برای یک سال دیگر با %1$s%3$sتخفیف%2$sسریعتر: شما "
-"فقط%1$s%4$s%2$sپرداخت میکنید!"
+#: inc/Engine/Admin/Settings/Page.php:1460
+msgid "Reduces overhead of database tables"
+msgstr "بهینه سازی جداول دیتابیس"
-#: inc/Engine/License/Renewal.php:218
-#, php-format
-msgid "Renew before it is too late, you will pay %1$s%3$s%2$s."
-msgstr "تمدید کنید تا دیر نشده، شما فقط%1$s%3$s%2$sپرداخت میکنید."
+#: inc/Engine/Admin/Settings/Page.php:1464
+msgid "Automatic Cleanup"
+msgstr "پاکسازی خودکار"
-#: inc/Engine/License/Renewal.php:227
-#, php-format
-msgid ""
-"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
-"%1$s%4$s%3$s!"
-msgstr ""
-"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %1$s%4$s%3$s پرداخت "
-"می کنید!"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1477
+msgid "%s revision in your database."
+msgid_plural "%s revisions in your database."
+msgstr[0] "%s بازبینی در پایگاه داده شما وجود دارد."
+msgstr[1] "%s بازبینی در پایگاه داده شما وجود دارد."
-#: inc/Engine/License/Renewal.php:546
-#, php-format
-msgid ""
-"You need a valid license to continue using this feature. %1$sRenew now%2$s "
-"before losing access."
-msgstr ""
-"برای استفاده از این ویژگی نیازمند لایسنس معتبر هستید.%1$sاکنون تمدید "
-"کنید%2$sقبل از حذف دسترسیتان"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1487
+msgid "%s draft in your database."
+msgid_plural "%s drafts in your database."
+msgstr[0] "%s پیشنویس در پایگاه داده شما وجود دارد."
+msgstr[1] "%s پیشنویس در پایگاه داده شما وجود دارد."
-#: inc/Engine/License/Renewal.php:567
-#, php-format
-msgid "You need an active license to enable this option. %1$sRenew now%2$s."
-msgstr ""
-"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاکنون تمدید کنید%2$s"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1497
+msgid "%s trashed post in your database."
+msgid_plural "%s trashed posts in your database."
+msgstr[0] "%s نوشته داخل زبالهدان در پایگاه داده شما وجود دارد."
+msgstr[1] "%s نوشته داخل زبالهدان در پایگاه داده شما وجود دارد."
-#: inc/Engine/License/Renewal.php:595
-#, php-format
-msgid "You need an active license to enable this option. %1$sMore info%2$s."
-msgstr ""
-"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاطلاعات بیشتر%2$s"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1507
+msgid "%s spam comment in your database."
+msgid_plural "%s spam comments in your database."
+msgstr[0] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد."
+msgstr[1] "%s دیدگاه اسپم در پایگاه داده شما وجود دارد."
-#: inc/Engine/License/Upgrade.php:252
-#, php-format
-msgid ""
-"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
-" for %3$supgrading your license to Plus or Infinite!%5$s"
-msgid_plural ""
-"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
-" for %3$supgrading your license to Infinite!%5$s"
-msgstr[0] ""
-"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای"
-" %3$s ارتقای لایسنس شما به پلاس یا نامحدود!%5$s"
-msgstr[1] ""
-"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای"
-" %3$s ارتقای لایسنس شما به نامحدود!%5$s"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1517
+msgid "%s trashed comment in your database."
+msgid_plural "%s trashed comments in your database."
+msgstr[0] "%s دیدگاه در زبالهدان شما وجود دارد."
+msgstr[1] "%s دیدگاه در زبالهدان شما وجود دارد."
-#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405
-msgid "Unlimited"
-msgstr "نامحدود"
+#: inc/Engine/Admin/Settings/Page.php:1525
+msgid "All transients"
+msgstr "همه دادههای گذرا"
-#: inc/Engine/License/views/promo-banner.php:16
-#, php-format
-msgid "%s off"
-msgstr "%s تخفیف"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1527
+msgid "%s transient in your database."
+msgid_plural "%s transients in your database."
+msgstr[0] "%s داده گذرا در پایگاه داده شما وجود دارد."
+msgstr[1] "%s داده گذرا در پایگاه داده شما وجود دارد."
-#: inc/Engine/License/views/promo-banner.php:21
-#, php-format
-msgid "%s promotion is live!"
-msgstr "%s پیشنهاد زنده است!"
+#: inc/Engine/Admin/Settings/Page.php:1535
+msgid "Optimize Tables"
+msgstr "بهینهسازی جدولها"
-#: inc/Engine/License/views/promo-banner.php:27
-msgid "Hurry Up! Deal ends in:"
-msgstr "عجله کنید! تخفیف پایان میابد در:"
+#. translators: %s is the number of revisions found in the database. It's a
+#. formatted number, don't use %d.
+#: inc/Engine/Admin/Settings/Page.php:1537
+msgid "%s table to optimize in your database."
+msgid_plural "%s tables to optimize in your database."
+msgstr[0] "%s جدول برای بهینهسازی در پایگاه داده شما وجود دارد."
+msgstr[1] "%s جدول برای بهینهسازی در پایگاه داده شما وجود دارد."
-#: inc/Engine/License/views/promo-banner.php:31
-#: inc/Engine/License/views/renewal-soon-banner.php:14
-msgid "Minutes"
-msgstr "دقایق"
+#: inc/Engine/Admin/Settings/Page.php:1548
+msgid "Schedule Automatic Cleanup"
+msgstr "برنامهریزی پاکسازی خودکار"
-#: inc/Engine/License/views/promo-banner.php:32
-#: inc/Engine/License/views/renewal-soon-banner.php:15
-msgid "Seconds"
-msgstr "ثانیه"
+#: inc/Engine/Admin/Settings/Page.php:1560
+msgid "Frequency"
+msgstr "دوره تکرار"
-#: inc/Engine/License/views/promo-banner.php:34
-#: inc/Engine/License/views/upgrade-section.php:11
-msgid "Upgrade now"
-msgstr "اکنون ارتقاء دهید"
+#: inc/Engine/Admin/Settings/Page.php:1568
+msgid "Daily"
+msgstr "روزانه"
-#: inc/Engine/License/views/promo-banner.php:36
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:32
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:42
-#: inc/Engine/License/views/renewal-expired-banner.php:30
-#: inc/admin/ui/notices.php:742 views/settings/page-sections/dashboard.php:46
-msgid "Dismiss this notice"
-msgstr "نادیده گرفتن این پیام."
+#: inc/Engine/Admin/Settings/Page.php:1569
+msgid "Weekly"
+msgstr "هفتگی"
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11
-msgid "The Optimize CSS Delivery feature is disabled."
-msgstr "ویژگی Optimize CSS Delivery غیرفعال است."
+#: inc/Engine/Admin/Settings/Page.php:1570
+msgid "Monthly"
+msgstr "ماهیانه"
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15
+#: inc/Engine/Admin/Settings/Page.php:1587
+msgid "Integrate your CDN"
+msgstr "CDN خود را سازگار کنید"
+
+#: inc/Engine/Admin/Settings/Page.php:1599
msgid ""
-"You can no longer use the Remove Unused CSS or Load CSS asynchronously "
-"options."
+"All URLs of static files (CSS, JS, images) will be rewritten to the CNAME(s)"
+" you provide."
msgstr ""
-"دیگر نمی توانید از گزینه های Remove Unused CSS یا Load CSS Asynchronously "
-"استفاده کنید."
+"آدرس همه فایلهای استاتیک (CSS، JS، تصاویر) با استفاده از CNAME (هایی) که "
+"شما تعیین کردهاید بازنویسی خواهند شد."
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20
-#, php-format
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/Admin/Settings/Page.php:1601
msgid ""
-"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, "
-"which addresses a PageSpeed Insights recommendation and improves your page "
-"performance."
+"Not required for services like Cloudflare and Sucuri. Please see our "
+"available %1$sAdd-ons%2$s."
msgstr ""
-"شما به %1$sلایسنس فعال%2$sبرای قابلیت Optimize CSS Delivery نیاز دارید،که به"
-" توصیه PageSpeed Insights پرداخته و عملکرد صفحه شما را بهبود می بخشد."
+"برای سرویس هایی مانند Cloudflare و Sucuri ضروری نیست. لطفا "
+"%1$sافزودنیهای%2$s موجود ما را مشاهده کنید."
-#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39
-#: inc/Engine/License/views/renewal-expired-banner.php:27
-#: inc/Engine/License/views/renewal-soon-banner.php:31
-msgid "Renew now"
-msgstr "تمدید کنید"
+#. translators: %1$s = opening em tag, %2$l = list of add-on name(s), %3$s =
+#. closing em tag.
+#: inc/Engine/Admin/Settings/Page.php:1647
+msgid ""
+"%1$s%2$l Add-on%3$s is currently enabled. Configuration of the CDN settings "
+"is not required for %2$l to work on your site."
+msgid_plural ""
+"%1$s%2$l Add-ons%3$s are currently enabled. Configuration of the CDN "
+"settings is not required for %2$l to work on your site."
+msgstr[0] ""
+"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری "
+"نیست."
+msgstr[1] ""
+"%1$s%2$l افزودنی%3$s اکنون فعال است. پیکربندی تنظیمات CDN برای %2$l ضروری "
+"نیست."
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11
-msgid "You will soon lose access to some features"
-msgstr "به زودی دسترسی به برخی از ویژگی ها را از دست خواهید داد"
+#: inc/Engine/Admin/Settings/Page.php:1673
+msgid "Enable Content Delivery Network"
+msgstr "فعالسازی شبکه تحویل محتوا"
+
+#: inc/Engine/Admin/Settings/Page.php:1682
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:159
+msgid "CDN CNAME(s)"
+msgstr "CNAME (های) CDN"
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1683
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:160
+msgid "Specify the CNAME(s) below"
+msgstr "CNAME (ها) را اینجا تعیین کنید"
+
+#: inc/Engine/Admin/Settings/Page.php:1690
msgid ""
-"You need an %1$sactive license to continue optimizing your CSS delivery%2$s."
+"Specify URL(s) of files that should not get served via CDN (one per line)."
msgstr ""
-"شما به لایسنس%1$sفعال نیاز دارید تا بهینه سازی تحویل css ادامه یابد%2$s."
+"آدرس فایل(هایی) که نباید از طریق CDN بارگذاری شوند را تعیین کنید.(هرخط یک "
+"آدرس)"
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24
+#: inc/Engine/Admin/Settings/Page.php:1691
msgid ""
-"The Remove Unused CSS and Load CSS asynchronously features are great options"
-" to address the PageSpeed Insights recommendations and improve your website "
-"performance."
+"The domain part of the URL will be stripped automatically. Use (.*) "
+"wildcards to exclude all files of a given file type located at a specific "
+"path."
msgstr ""
-"ویژگیهای Remove Unused CSS و بارگذاری css به صورت ناهمزمان گزینههای عالی "
-"برای رسیدگی به توصیههای PageSpeed Insights و بهبود عملکرد وبسایت شما "
-"هستند."
+"قسمت نام دامنه آدرس به صورت خودکار حذف خواهد شد. برای مستثنی کردن همه "
+"فایلهای هم نوع موجود در یک مسیر از (.*) استفاده کنید."
-#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29
-#, php-format
-msgid "They will be %1$sautomatically disabled on %3$s%2$s."
-msgstr "آنها به طور خودکار%1$sغیرفعال میشوند در%3$s%2$s."
+#: inc/Engine/Admin/Settings/Page.php:1714
+#: inc/Engine/Admin/Settings/Page.php:1722
+msgid "Heartbeat"
+msgstr "ضربان Heartbeat"
-#: inc/Engine/License/views/renewal-expired-banner.php:11
-msgid "Your WP Rocket license is expired!"
-msgstr "لایسنس شما نامعتبر است!"
+#: inc/Engine/Admin/Settings/Page.php:1715
+msgid "Control WordPress Heartbeat API"
+msgstr "کنترل API سرویس WordPress Heartbeat"
-#: inc/Engine/License/views/renewal-expired-banner.php:18
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1723
msgid ""
-"Your website could be much faster if it could take advantage of our %1$snew "
-"features and enhancements%2$s. 🚀"
+"Reducing or disabling the Heartbeat API’s activity can help save some of "
+"your server’s resources."
msgstr ""
-"سایت شما می تواند از این هم سریعتر شود با استفاده از%1$sویژگی حدید و بهینه "
-"سازی%2$s. 🚀"
+"کاهش یا غیرفعال کردن فعالیت Heartbeat API می تواند به ذخیره برخی از منابع "
+"سرور شما کمک کند."
-#: inc/Engine/License/views/renewal-soon-banner.php:22
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1729
+msgid "Reduce or disable Heartbeat activity"
+msgstr "کاهش یا غیرفعال کردن فعالیت Heartbeat"
+
+#: inc/Engine/Admin/Settings/Page.php:1730
msgid ""
-"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access"
-" to product updates and support."
+"Reducing activity will change Heartbeat frequency from one hit each minute "
+"to one hit every 2 minutes."
msgstr ""
-"لایسنس%1$s افزونه شما در حال انقضاء%2$sاست: به زودی دسترسی به بروزرسانی "
-"محصول و پشتیبانی را نخواهید داشت."
-
-#: inc/Engine/License/views/upgrade-popin.php:12
-msgid "Speed Up More Websites"
-msgstr "سایت های بیشتری را پرسرعت کنید"
+"با کاهش فعالیت ، فرکانس Heartbeat از یک ضربه در هر دقیقه به یک ضربه در هر 2 "
+"دقیقه تغییر می کند."
-#: inc/Engine/License/views/upgrade-popin.php:19
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1730
msgid ""
-"You can use WP Rocket on more websites by upgrading your license. To "
-"upgrade, simply pay the %1$sprice difference%2$s between your current and "
-"new licenses, as shown below."
+"Disabling Heartbeat entirely may break plugins and themes using this API."
msgstr ""
-"با ارتقاء لایسنس خود می توانید سایت های بیشتری را به موشک وردپرس مجهز کنید. "
-"برای ارتقاء، فقط کافی مبلغ%1$sتفاوت%2$sبین لایسنس فعلی و لایسنس جدید را "
-"پرداخت نمایید."
+"با غیرفعال کردن کامل Heartbeat ممکن است افزونه ها و قالب ها با استفاده از "
+"این API خراب شوند."
-#: inc/Engine/License/views/upgrade-popin.php:25
-#, php-format
-msgid ""
-"%1$sN.B.%2$s: Upgrading your license does not change your expiration date"
-msgstr "%1$sN.B.%2$s: ارتقاء لایسنس شما تفاوتی در تاریخ انقضاء ایجاد نمی کند"
+#: inc/Engine/Admin/Settings/Page.php:1744
+msgid "Do not limit"
+msgstr "محدود نکنید"
-#: inc/Engine/License/views/upgrade-popin.php:35
-#, php-format
-msgid "Save $%s"
-msgstr "ذخیره$%s"
+#: inc/Engine/Admin/Settings/Page.php:1745
+msgid "Reduce activity"
+msgstr "کاهش فعالیت"
-#: inc/Engine/License/views/upgrade-popin.php:48
-#, php-format
-msgid "%s websites"
-msgstr "%s سایت"
+#: inc/Engine/Admin/Settings/Page.php:1746
+msgid "Disable"
+msgstr "غیرفعالسازی"
-#: inc/Engine/License/views/upgrade-popin.php:54
-#, php-format
-msgid "Upgrade to %s"
-msgstr "ارتقاء به %s"
+#: inc/Engine/Admin/Settings/Page.php:1754
+msgid "Control Heartbeat"
+msgstr "کنترل Heartbeat"
-#: inc/Engine/License/views/upgrade-section.php:11
-msgid ""
-"You can use WP Rocket on more websites by upgrading your license (you will "
-"only pay the price difference between your current and new licenses)."
-msgstr ""
-"می توانید با ارتقاء لایسنس از موشک وردپرس در وب سایت های بیشتری استفاده کنید"
-" (فقط تفاوت قیمت بین لایسنس های فعلی و جدید خود را پرداخت خواهید کرد)."
+#: inc/Engine/Admin/Settings/Page.php:1763
+msgid "Behavior in backend"
+msgstr "رفتار در پس زمینه"
-#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195
-msgid "Analytics & Ads"
-msgstr "آنالیتیکس / تبلیغات"
+#: inc/Engine/Admin/Settings/Page.php:1770
+msgid "Behavior in post editor"
+msgstr "رفتار در ویرایشگر نوشته"
-#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200
-msgid "Plugins"
-msgstr "افزونه ها"
+#: inc/Engine/Admin/Settings/Page.php:1776
+msgid "Behavior in frontend"
+msgstr "رفتار در frontend"
-#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205
-msgid "Themes"
-msgstr "قالب ها"
+#: inc/Engine/Admin/Settings/Page.php:1793
+#: views/settings/page-sections/tutorials.php:39
+msgid "Add-ons"
+msgstr "افزودنیها"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101
+#: inc/Engine/Admin/Settings/Page.php:1794
+msgid "Add more features"
+msgstr "افزودن ویژگیهای بیشتر"
+
+#: inc/Engine/Admin/Settings/Page.php:1801
+msgid "One-click Rocket Add-ons"
+msgstr "افزودنیهای موشک با یک کلیک"
+
+#: inc/Engine/Admin/Settings/Page.php:1802
msgid ""
-"You need an active license to get the latest version of the lists from our "
-"server."
+"One-Click Add-ons are features extending available options without "
+"configuration needed. Switch the option \"on\" to enable from this screen."
msgstr ""
-"برای دریافت آخرین نسخه لیست ها از سرور ما به یک لایسنس فعال نیاز دارید."
+"افزودنیهای موشک با یک کلیک ویژگیهایی هستند که گزینهها موجود را بدون نیاز "
+"به تنظیمات جدید گسترش میدهند. برای فعالسازی گزینه \"فعال\" را از این صفحه "
+"فعال کنید."
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115
-msgid "Could not get updated lists from server."
-msgstr "نمی توان لیست های به روز شده را از سرور دریافت کرد."
+#: inc/Engine/Admin/Settings/Page.php:1812
+msgid "Rocket Add-ons"
+msgstr "افزودنیهای موشک"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124
-msgid "Lists are up to date."
-msgstr "لیست ها به روز هستند."
+#: inc/Engine/Admin/Settings/Page.php:1813
+msgid "Rocket Add-ons are complementary features extending available options."
+msgstr ""
+"افزودنیهای موشک ویژگیهای تکمیلی هستند که گزینههای موجود فعلی را گسترش "
+"میدهند."
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133
-msgid "Could not update lists."
-msgstr "لیستها بهروزرسانی نشد."
+#: inc/Engine/Admin/Settings/Page.php:1823
+#: inc/Engine/Admin/Settings/Page.php:1992
+msgid "Cloudflare"
+msgstr "Cloudflare"
-#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142
-msgid "Lists are successfully updated."
-msgstr "لیست ها با موفقیت به روز شدند."
+#: inc/Engine/Admin/Settings/Page.php:1829
+msgid "Integrate your Cloudflare account with this add-on."
+msgstr "حساب کاربری Cloudflare خود را با این افزودنی ادغام کنید."
-#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:52
-msgid "Default Lists"
-msgstr "لیست پیشفرض"
+#: inc/Engine/Admin/Settings/Page.php:1830
+msgid ""
+"Provide your account email, global API key, and domain to use options such "
+"as clearing the Cloudflare cache and enabling optimal settings with WP "
+"Rocket."
+msgstr ""
+"جهت استفاده از گزینههایی مثل حذف کش Cloudflare و فعالسازی تنظیمات بهینه با"
+" موشک وردپرس آدرس ایمیل حساب کاربری خود، کلید عمومی وب سرویس و دامنه خود را "
+"تعیین کنید."
-#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:58
-msgid "Delay JavaScript Execution Exclusion Lists"
-msgstr "به تأخیر انداختن لیست های لغو اجرای جاوا اسکریپت"
+#. translators: %1$s = opening span tag, %2$s = closing span tag.
+#: inc/Engine/Admin/Settings/Page.php:1833
+msgid ""
+"%1$sPlanning on using Automatic Platform Optimization (APO)?%2$s Just "
+"activate the official Cloudflare plugin and configure it. WP Rocket will "
+"automatically enable compatibility."
+msgstr ""
+"%1$sبرنامه ریزی برای استفاده از بهینه سازی پلت فرم خودکار(APO)?%2$sفقط "
+"پلاگین رسمی کلادفلیر را فعال کرده و آن را پیکربندی کنید. موشک وردپرس به طور "
+"خودکار سازگاری را فعال می کند."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:131
-#: views/settings/page-sections/dashboard.php:188
-msgid "Clear Used CSS"
-msgstr "پاکسازی CSSهای استفاده شده"
+#: inc/Engine/Admin/Settings/Page.php:1881
+msgid "Varnish"
+msgstr "وارنیش"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224
-#, php-format
-msgid ""
-"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing "
-"your pages."
+#: inc/Engine/Admin/Settings/Page.php:1887
+msgid "If Varnish runs on your server, you must activate this add-on."
msgstr ""
-"%1$sلطفا منتظر بمانید:%2$sثانیه.سرویس Remove Unused CSS در حال بررسی "
-"برگههای سایت شماست."
+"اگر بر روی سرور شما وارنیش اجرا شده است، باید این افزودنی را فعال کنید."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274
-#, php-format
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1889
msgid ""
-"%1$s: The Used CSS of your homepage has been processed. WP Rocket will "
-"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)."
+"Varnish cache will be purged each time WP Rocket clears its cache to ensure "
+"content is always up-to-date. %1$sLearn more%2$s"
msgstr ""
-"%1$s: فایل CSSهای بکار رفته در صفحه خانه بررسی شد. افزونه به ایجاد CSSهای "
-"استفاده شده ادامه می دهد تا%2$sآدرس صفحه هر%3$s ثانیه."
+"هر بار که موشک وردپرس کش خود را پاکسازی میکند، کش وارنیش هم به منظور "
+"اطمینان از به روز بودن محتوا، پاک خواهد شد. %1$sکسب اطلاعات بیشتر%2$s"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283
-#, php-format
-msgid "We suggest enabling %1$sPreload%2$s for the fastest results."
-msgstr "ما پیشنهاد می کنیم %1$sپیش بارگذاری%2$s برای نتایج سریعتر فعال کنید."
+#: inc/Engine/Admin/Settings/Page.php:1924
+msgid "WebP Compatibility"
+msgstr "سازگاری WebP"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293
-#, php-format
-msgid "To learn more about the process check our %1$sdocumentation%2$s."
-msgstr "برای یادگیری پروسه %1$sمستندات%2$s مارا بخوانید."
+#: inc/Engine/Admin/Settings/Page.php:1930
+msgid "Improve browser compatibility for WebP images."
+msgstr "بهبود سازگاری مرورگر با تصاویر WebP."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:491
+#. translators: %1$s and %3$s = opening tag, %2$s = closing tag.
+#: inc/Engine/Admin/Settings/Page.php:1934
msgid ""
-"We couldn't generate the used CSS because you're using a nulled version of "
-"WP Rocket. You need an active license to use the Remove Unused CSS feature "
-"and further improve your website's performance."
+"Enable this option if you would like WP Rocket to serve WebP images to "
+"compatible browsers. Please note that WP Rocket cannot create WebP images "
+"for you. To create WebP images we recommend %1$sImagify%2$s. %3$sMore "
+"info%2$s"
msgstr ""
-"ما نتوانستیم CSS استفاده شده را ایجاد کنیم زیرا شما از نسخه نال شده WP "
-"Rocket استفاده می کنید. برای استفاده از قابلیت Remove Unused CSS و بهبود "
-"بیشتر عملکرد وب سایت خود، به یک مجوز فعال نیاز دارید."
+"اگر می خواهید راکت وردپرس تصاویر WebP را به مرورگرهای سازگار ارائه دهد ، این"
+" گزینه را فعال کنید. لطفاً توجه داشته باشید که راکت وردپرس نمی تواند تصاویر "
+"WebP را برای شما ایجاد کند. برای ایجاد تصاویر WebP توصیه می کنیم از "
+"%1$sImagify%2$s استفاده کنید. %3$sراهنمایی%2$s"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:494
-#, php-format
-msgid "Click here to get a WP Rocket single license at %1$s off!"
-msgstr "برای دریافت لایسنس %1$sتخفیفی اینجا کلیک کنید!"
+#: inc/Engine/Admin/Settings/Page.php:1954
+msgid "Clear the Sucuri cache when WP Rocket’s cache is cleared."
+msgstr "کش Sucuri را حذف کن هنگامی که کش موشک وردپرس را حذف می کنید."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:547
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:1957
msgid ""
-"It seems a security plugin or the server's firewall prevents WP Rocket from "
-"accessing the Remove Unused CSS generator. IPs listed %1$shere in our "
-"documentation%2$s should be added to your allowlists:"
+"Provide your API key to clear the Sucuri cache when WP Rocket’s cache is "
+"cleared."
msgstr ""
-"به نظر می رسد افزونه امنیتی یا فایروال سرور از دسترسی افزونه به بخش حذف CSS "
-"های بلااستفاده جلوگیری می کند. آی پی های موجود در %1$sمستندات%2$sباید در "
-"لیست مجازها باشد:"
+"کلید API خود را برای پاک کردن کش Sucuri هنگام پاک شدن کش موشک وردپرس ارائه "
+"دهید."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:552
-msgid "- In the security plugin, if you are using one"
-msgstr "- در افزونه امنیت، اگر شما از یکی از آن ها استفاده کنید"
+#: inc/Engine/Admin/Settings/Page.php:1965
+#: inc/Engine/Admin/Settings/Page.php:2109
+msgid "Sucuri"
+msgstr "Sucuri"
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:553
-msgid "- In the server's firewall. Your host can help you with this"
-msgstr "- در فایروال سرور. شرکت هاست شما کمکتان می کند"
+#: inc/Engine/Admin/Settings/Page.php:1971
+msgid "Synchronize Sucuri cache with this add-on."
+msgstr "با این افزونه کش Sucuri را همگام سازی کنید."
-#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:593
-#, php-format
-msgid ""
-"%1$s: Could not create the %2$s table in the database which is necessary for"
-" the Remove Unused CSS feature to work. Please reach out to %3$sour "
-"support%4$s."
-msgstr ""
-"%1$s: نمی تواند ایجاد شود%2$s جدول در پایگاه داده که نیاز است برای حذف CSS "
-"های بلا استفاده برای کارکرد صحیح آن. لطفا برای اطلاعات بیشتر%3$sپشتیبانی "
-"ما%4$sتماس بگیرید."
+#: inc/Engine/Admin/Settings/Page.php:2009
+msgid "Cloudflare credentials"
+msgstr "اعتبارهای Cloudflare"
-#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:324
-#, php-format
-msgid "%1$s: Used CSS option is not enabled!"
-msgstr "%1$s: قابلیت CSSهای استفاده شده فعال نیست!"
+#: inc/Engine/Admin/Settings/Page.php:2018
+msgid "Cloudflare settings"
+msgstr "تنظیمات Cloudflare"
-#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:345
-#, php-format
-msgid "%1$s: Used CSS cache cleared!"
-msgstr "%1$s: کش CSS استفاده شده پاک شد!"
+#: inc/Engine/Admin/Settings/Page.php:2032
+msgctxt "Cloudflare"
+msgid "Global API key:"
+msgstr "کلید API عمومی:"
-#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787
-msgid "Clear Used CSS of this URL"
-msgstr "پاکسازی CSS استفاده شده برای این URL"
+#: inc/Engine/Admin/Settings/Page.php:2033
+msgctxt "Cloudflare"
+msgid "Find your API key"
+msgstr "پیدا کردن کلید API شما"
-#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160
-msgid "WP Rocket Remove Unused CSS pending jobs"
-msgstr "WP Rocket حذف کارهای معلق Unused CSS"
+#: inc/Engine/Admin/Settings/Page.php:2045
+msgctxt "Cloudflare"
+msgid "Account email"
+msgstr "ایمیل حساب کاربری"
-#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174
-msgid "WP Rocket clear Remove Unused CSS failed jobs"
-msgstr "WP Rocket پاکسازی حذف کارهای ناموفق CSS های بلااستفاده"
+#: inc/Engine/Admin/Settings/Page.php:2054
+msgctxt "Cloudflare"
+msgid "Zone ID"
+msgstr "شناسه ناحیه"
+
+#: inc/Engine/Admin/Settings/Page.php:2064
+msgid "Development mode"
+msgstr "حالت توسعه"
-#: inc/Engine/Plugin/UpdaterApiTools.php:32 inc/deprecated/3.3.php:761
-#: inc/deprecated/3.3.php:770
-#, php-format
+#. translators: %1$s = link opening tag, %2$s = link closing tag.
+#: inc/Engine/Admin/Settings/Page.php:2066
msgid ""
-"An unexpected error occurred. Something may be wrong with WP-Rocket.me or "
-"this server’s configuration. If you continue to have problems, contact support ."
+"Temporarily activate development mode on your website. This setting will "
+"automatically turn off after 3 hours. %1$sLearn more%2$s"
msgstr ""
-"یک خطای غیر منتظره رخ داد. ممکن است خطایی در WP-Rocket.me یا تنظیمات "
-"سرور’s شما باشد. اگر مشکل شما ادامه داشت، با پشتیبانی "
-"تماس بگیرید ."
-
-#: inc/Engine/Plugin/UpdaterSubscriber.php:483
-#: inc/Engine/Plugin/UpdaterSubscriber.php:497
-#: inc/classes/class-wp-rocket-requirements-check.php:203
-#: inc/classes/class-wp-rocket-requirements-check.php:214
-#: inc/deprecated/3.11.php:236 inc/deprecated/3.11.php:251
-#, php-format
-msgid "%s Update Rollback"
-msgstr "%s بازگشتن به نسخه قبلی"
+"حالت توسعه به طور موقت بر روی وبسایت خود فعال کنید. این تنظیم بعد از گذشت 3 "
+"ساعت غیرفعال خواهد شد. %1$sکسب اطلاعات بیشتر%2$s"
-#: inc/Engine/Plugin/UpdaterSubscriber.php:520 inc/deprecated/3.11.php:279
-#, php-format
-msgid "%1$sReturn to WP Rocket%2$s or %3$sgo to Plugins page%2$s"
-msgstr "%1$sبازگشت به موشک وردپرس%2$sیا %3$s رفتن به برگه افزونهها%2$s"
+#: inc/Engine/Admin/Settings/Page.php:2074
+msgid "Optimal settings"
+msgstr "تنظیمات بهینهسازی"
-#: inc/Engine/Preload/Admin/Settings.php:57
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:2075
msgid ""
-"%1$s: The preload service is now active. After the initial preload it will "
-"continue to cache all your pages whenever they are purged. No further action"
-" is needed."
-msgstr ""
-"%1$s:سرویس پیش بارگذاری اکنون فعال است. پس از پیش بارگذاری، هر زمان که تمام "
-"صفحات شما پاک شوند، به کش کردن آن ها ادامه می دهد. هیچ اقدام دیگری لازم "
-"نیست."
-
-#: inc/Engine/Preload/Cron/Subscriber.php:138
-msgid "WP Rocket Preload pending jobs"
-msgstr "کارهای معلق پیش بارگذاری"
+"Automatically enhances your Cloudflare configuration for speed, performance "
+"grade and compatibility."
+msgstr "افزایش خودکار تنظیمات Cloudflare جهت سرعت، بهرهوری و هماهنگی بیشتر."
-#: inc/Engine/Preload/Cron/Subscriber.php:166
-msgid "WP Rocket Preload revert stuck failed jobs"
-msgstr "پیش بارگذاری برگرداندن کارهای ناموفق گیر کرده است"
+#: inc/Engine/Admin/Settings/Page.php:2083
+msgid "Relative protocol"
+msgstr "پروتکل نسبی"
-#: inc/ThirdParty/Hostings/Cloudways.php:82
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:2084
msgid ""
-"Varnish auto-purge will be automatically enabled once Varnish is enabled on "
-"your %s server."
+"Should only be used with Cloudflare's flexible SSL feature. URLs of static "
+"files (CSS, JS, images) will be rewritten to use // instead of http:// or "
+"https://."
msgstr ""
-"هنگامی که Varnish روی دستگاه شما فعال می شود ، پاکسازی خودکار لاک به طور "
-"خودکار فعال می شود %s سرور."
+"تنها باید با ویژگی SSL منعطف Cloudflare استفاده شود. آدرس فایلهای استاتیک "
+"(CSS, JS, images) جهت استفاده از // به جای http:// یا https:// بازنویسی "
+"خواهند شد."
-#: inc/ThirdParty/Hostings/Kinsta.php:158
-#, php-format
-msgid ""
-"Your installation seems to be missing core Kinsta files managing Cache "
-"clearing, which will prevent your Kinsta installation and WP Rocket from "
-"working correctly. Please get in touch with Kinsta support through your "
-"%1$sMyKinsta%2$s account to resolve this issue."
-msgstr ""
-"به نظر می رسد نصب شما فاقد فایل های اصلی Kinsta است که حذف کش و CDN را "
-"مدیریت می کند، که از نصب Kinsta شما و کارکرد صحیح موشک وردپرس جلوگیری می "
-"کند. لطفا پشیبانی Kinsta از طرق حساب %1$sMyKinsta%2$s برایحل این مشکل در "
-"ارتباط باشید."
+#: inc/Engine/Admin/Settings/Page.php:2122
+msgid "Sucuri credentials"
+msgstr "اعتبارهای Sucuri"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:126
-#, php-format
+#: inc/Engine/Admin/Settings/Page.php:2135
+msgctxt "Sucuri"
msgid ""
-"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of "
-"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it."
+"Firewall API key (for plugin), must be in format {32 characters}/{32 "
+"characters}:"
msgstr ""
-"%1$s:Cloudflare's HTTP/2 Server Push هماهنگ نیست با ویژگی حذف فایل های "
-"Unused CSS و Combine CSS. پیشنهاد می شود غیرفعال کنید."
+"شناسه API فایروال (برای افزونه)، باید در فرمت {32 characters}/{32 "
+"characters}:"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169
-msgid ""
-"Your site is using the official Cloudflare plugin. We have enabled "
-"Cloudflare auto-purge for compatibility. If you have APO activated, it is "
-"also compatible."
-msgstr ""
-"سایت شما از پلاگین رسمی کلادفلیر استفاده می کند. ما پاکسازی خودکار کلادفلیر "
-"را برای سازگاری فعال کرده ایم. اگر APO را فعال کرده اید، سازگار است."
+#: inc/Engine/Admin/Settings/Page.php:2136
+msgctxt "Sucuri"
+msgid "Find your API key"
+msgstr "پیدا کردن کلید API شما"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:170
+#: inc/Engine/Admin/Settings/Settings.php:361
msgid ""
-"Cloudflare cache will be purged each time WP Rocket clears its cache to "
-"ensure content is always up-to-date."
+"Sucuri Add-on: The API key for the Sucuri firewall must be in format "
+"{32 characters}/{32 characters}
."
msgstr ""
-"کش کلادفلیر هر بار که موشک وردپرس کش خود را پاک می کند پاک می شود تا اطمینان"
-" حاصل شود که محتوا همیشه به روز است."
+"افزودنی Sucuri : شناسه API فایروال Sucuri باید به فرمت{32 "
+"characters}/{32 characters}
باشد."
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:214
-#, php-format
+#: inc/Engine/Admin/Settings/Settings.php:667
msgid ""
-"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO "
-"is not yet compatible with that feature."
+"Sorry! Adding /(.*) in Advanced Rules > Never Cache URL(s) was not saved "
+"because it disables caching and optimizations for every page on your site."
msgstr ""
-"%1$sموشک وردپرس:شما از \"Dynamic Cookies Cache\" استفاده می کنید. Cloudflare"
-" APO هنوز با این ویژگی سازگار نیست.%2$s"
+"متاسفیم! افزودن/(.*) در قوانین پیشرفته > هرگز کش نکن URL(s) ذخیره نشد به "
+"دلیل اینکه کش و بهینه سازی برای هر برگه در سایت شما غیرفعال است."
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:220
-#, php-format
-msgid ""
-"You should either disable Cloudflare APO or check with the theme/plugin "
-"requiring the use of “Dynamic Cookies Cache” developers for an alternative "
-"way to be page-cache friendly. %1$sMore info%2$s"
-msgstr ""
-"باید Cloudflare APO را غیرفعال کنید یا قالب/افزونهای را بررسی کنید که به "
-"توسعهدهندگان «Dynamic Cookies Cache» نیاز دارد تا راهی جایگزین برای سازگاری"
-" با کش صفحه باشد.%1$sاطلاعات بیشتر%2$s"
+#: inc/Engine/Admin/Settings/Subscriber.php:169
+msgid "Import, Export, Rollback"
+msgstr "درونریزی، برونریزی، عقبگرد"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:271
-#, php-format
-msgid ""
-"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile "
-"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on "
-"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s"
-msgstr ""
-"%1$sموشک وردپرس%2$sشما از \"فایل های کش جدا برای دستگاه های تلفن همراه\" "
-"استفاده می کنید. باید «Cache by Device Type» را فعال "
-"کنید%3$sتنظیمات%5$sCloudflare APO برای اینکه نسخه مناسب کش را ارائه "
-"دهید.%4$sاطلاعات بیشتر%5$s"
+#: inc/Engine/Admin/Settings/Subscriber.php:194
+#: views/settings/page-sections/imagify.php:14
+msgid "Image Optimization"
+msgstr "بهینهسازی تصویر"
-#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:292
-#, php-format
-msgid ""
-"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare "
-"APO. If you judge it necessary for the website to have a different cache on "
-"mobile and desktop, we suggest you enable our “Separate Cache Files for "
-"Mobiles Devices” to ensure the generated cache is accurate."
-msgstr ""
-"%1$sموشک وردپرس:%2$sشما «Cache by Device Type» را در Cloudflare APO فعال "
-"کردهاید. اگر فکر میکنید که لازم است وبسایت حافظه پنهان متفاوتی در تلفن "
-"همراه و دسکتاپ داشته باشد، پیشنهاد میکنیم «فایلهای کش جداگانه برای "
-"دستگاههای موبایل» را فعال کنید تا مطمئن شوید حافظه پنهان تولید شده دقیق "
-"است."
+#: inc/Engine/Admin/Settings/Subscriber.php:195
+msgid "Compress your images"
+msgstr "تصاویر خود را فشرده کنید"
-#: inc/ThirdParty/Plugins/ModPagespeed.php:102
-#, php-format
-msgid ""
-"%1$s : Mod PageSpeed is not compatible with this plugin and "
-"may cause unexpected results. %2$sMore Info%3$s"
-msgstr ""
-"%1$s : حالت PageSpeed با این افزونه سازگار نیست و ممکن است "
-"باعث اتفاق غیرمنتظره شود.%2$s اطلاعات بیشتر%3$s"
+#: inc/Engine/Admin/Settings/Subscriber.php:212
+#: views/settings/page-sections/tutorials.php:48
+msgid "Tutorials"
+msgstr "آموزشها"
-#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:76
-#, php-format
-msgid ""
-"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript "
-"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will "
-"not be applied to the file it creates. We suggest disabling %1$sJavaScript "
-"Aggregation%2$s to take full advantage of Delay JavaScript Execution."
-msgstr ""
-"%1$sموشک وردپرس:%2$sما متوجه شدهایم که ویژگی Autoptimize's JavaScript "
-"Aggregation فعال است. اجرای تاخیری جاوا اسکریپت WP Rocket روی فایلی که ایجاد"
-" می کند اعمال نخواهد شد.توصیه می کنیم%1$sJavaScript Aggregation%2$s را به "
-"طور کامل برای بهترین عملکرد افزونه غیرفعال کنید."
+#: inc/Engine/Admin/Settings/Subscriber.php:213
+msgid "Getting started and how to videos"
+msgstr "شروع به کار و نحوه فیلمبرداری"
-#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:131
-#, php-format
-msgid ""
-"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS "
-"feature is enabled. WP Rocket's Load CSS Asynchronously will not work "
-"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full "
-"advantage of Load CSS Asynchronously Execution."
-msgstr ""
-"%1$sموشک وردپرس: %2$sما متوجه شدهایم که ویژگی Autoptimize's Aggregate "
-"Inline CSS فعال است. WP Rocket's Load CSS Asynchronously به درستی کار نخواهد"
-" کرد.توصیه می کنیم%1$sAggregate Inline CSS%2$s را برای عملکرد بهتر افزونه "
-"غیرفعال کنید."
+#: inc/Engine/Cache/PurgeExpired/Subscriber.php:75
+msgid "WP Rocket Expired Cache Interval"
+msgstr "مدت زمان کش موشک وردپرس به اتمام رسیده است"
+
+#: inc/Engine/Cache/WPCache.php:337
+msgid "WP_CACHE value"
+msgstr "مقدار WP_CACHE"
-#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45
-#, php-format
+#: inc/Engine/Cache/WPCache.php:358
msgid ""
-"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and "
-"use %1$sEzoic's nameserver integration%2$s instead."
-msgstr ""
-"این افزونه از عملکرد صحیح افزونه موشک وردپرس جلوگیری می کند. غیرفعال کرده و "
-"به جای آن از %1$sEzoic's nameserver integration%2$s استفاده نمایید."
+"The WP_CACHE constant needs to be set to true for WP Rocket cache to work "
+"properly"
+msgstr "مقدار WP_CACHE باید true باشد تا کش موشک وردپرس به درستی کار کند"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"Please deactivate the following %s option which conflicts with WP Rocket "
-"features:"
-msgid_plural ""
-"Please deactivate the following %s options which conflict with WP Rocket "
-"features:"
-msgstr[0] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:"
-msgstr[1] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:"
+#: inc/Engine/Cache/WPCache.php:367
+msgid "WP_CACHE is set to true"
+msgstr "مقدار WP_CACHE به true تنظیم شده است"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s"
-msgstr ""
-"%1$s %2$sغیرفعالسازی ایموجی%3$sتداخل با موشک وردپرس%2$sغیرفعالسازی "
-"ایموجی%3$s"
+#: inc/Engine/Cache/WPCache.php:375
+msgid "WP_CACHE is not set"
+msgstr "مقدار WP_CACHE تنظیم نشده است"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP "
-"compression%3$s"
-msgstr ""
-"%1$s %2$sGZIP compression%3$s تداخل با موشک وردپرس %2$sGZIP compression%3$s"
+#: inc/Engine/Cache/WPCache.php:383
+msgid "WP_CACHE is set to false"
+msgstr "مقدار WP_CACHE به false تنظیم شده است"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser "
-"caching%3$s"
-msgstr ""
-"%1$s %2$sbrowser caching%3$sتداخل با موشک وردپرس %2$sbrowser caching%3$s"
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:90
+msgid "Next Billing Date"
+msgstr "تاریخ صورتحساب بعدی"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s"
-msgstr "%1$s %2$spage caching%3$s تداخل با موشک وردپرس %2$spage caching%3$s"
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:99
+msgid "No Subscription"
+msgstr "بدون اشتراک"
-#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289
-#, php-format
-msgctxt "Hummingbird notice"
-msgid ""
-"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile "
-"optimization%3$s"
-msgstr ""
-"%1$s %2$sasset optimization%3$sتداخل با موشک وردپرس %2$sfile "
-"optimization%3$s"
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:135
+msgid "Your RocketCDN subscription is currently active."
+msgstr "اشتراک RocketCDN شما اکنون فعال است."
-#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38
-msgid ""
-"Remove Unused CSS is currently activated in Perfmatters. If you want to use "
-"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters."
+#. translators: %1$s = opening tag, %2$s = CDN URL, %3$s = closing
+#.
tag.
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:141
+msgid "To use RocketCDN, replace your CNAME with %1$s%2$s%3$s."
msgstr ""
-"حذف Unused CSS در حال حاضر در Perfmatters فعال است. اگر می خواهید از ویژگی "
-"در WP Rocket استفاده کنید، این گزینه را در Perfmatters غیرفعال کنید."
+"برای استفاده از RocketCDN ، بجای CNAME خود از %1$s%2$s%3$s استفاده کنید."
-#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39
+#. translators: %1$is = opening link tag, %2$s = closing link tag.
+#: inc/Engine/CDN/RocketCDN/AdminPageSubscriber.php:152
+#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:230
+#: inc/Engine/CDN/RocketCDN/NoticesSubscriber.php:334
+msgid "%1$sMore Info%2$s"
+msgstr "%1$sراهنمایی%2$s"
+
+#: inc/Engine/CDN/RocketCDN/APIClient.php:134
msgid ""
-"Automated unused CSS removal is currently activated in RapidLoad Power-Up "
-"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, "
-"disable the RapidLoad Power-Up for Autoptimize plugin."
+"We could not fetch the current price because RocketCDN API returned an "
+"unexpected error code."
msgstr ""
-"حذف خودکار CSS استفاده نشده در حال حاضر در RapidLoad Power-Up for "
-"Autoptimize فعال شده است. اگر می خواهید از ویژگی WP Rocket's Remove Unused "
-"CSS استفاده کنید، افزونه RapidLoad Power-Up for Autoptimize را غیرفعال کنید."
+"ما نتوانستیم قیمت فعلی را دریافت کنیم زیرا RocketCDN API یک کد خطای "
+"غیرمنتظره را برگرداند."
-#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42
-#, php-format
+#: inc/Engine/CDN/RocketCDN/APIClient.php:140
+msgid "RocketCDN is not available at the moment. Please retry later."
+msgstr "RocketCDN دردسترس نیست. بعدا تلاش کنید"
+
+#: inc/Engine/CDN/RocketCDN/APIClient.php:177
+msgid "RocketCDN cache purge failed: Missing identifier parameter."
+msgstr "حذف کش RocketCDN شکست خورد:پارامتر شناسه وجود ندارد."
+
+#: inc/Engine/CDN/RocketCDN/APIClient.php:186
+msgid "RocketCDN cache purge failed: Missing user token."
+msgstr "حذف کش RocketCDN شکست خورد:کد کاربر وجود ندارد."
+
+#: inc/Engine/CDN/RocketCDN/APIClient.php:212
msgid ""
-"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s "
-"delay JS, disable %1$s"
-msgstr ""
-"تاخیر JS اکنون در %1$s فعال است. اگر می خواهید از تاخیر JS افزونه استفاده "
-"کنید، %1$s غیرفعال کنید"
+"RocketCDN cache purge failed: The API returned an unexpected response code."
+msgstr "حذف کش RocketCDN شکست خورد:API یک کد پاسخ غیر منتظره را بازگرداند."
-#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126
-msgid "Smush"
-msgstr "Smush"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:221
+msgid "RocketCDN cache purge failed: The API returned an empty response."
+msgstr "حذف کش RocketCDN شکست خورد:API پاسخی خالی داد."
-#: inc/ThirdParty/Themes/Avada.php:116
-msgid "Avada"
-msgstr "Avada"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:230
+msgid "RocketCDN cache purge failed: The API returned an unexpected response."
+msgstr "حذف کش RocketCDN شکست خورد:API پاسخی غیرمنتظره داد."
-#: inc/admin/admin.php:18 inc/common/admin-bar.php:255
-#: inc/deprecated/deprecated.php:1787
-msgid "Support"
-msgstr "پشتیبانی"
+#. translators: %s = message returned by the API.
+#: inc/Engine/CDN/RocketCDN/APIClient.php:239
+msgid "RocketCDN cache purge failed: %s."
+msgstr "خطای پاک کردن حافظه RocketCDN:%s."
-#: inc/admin/admin.php:20
-msgid "Docs"
-msgstr "مستندات"
+#: inc/Engine/CDN/RocketCDN/APIClient.php:247
+msgid "RocketCDN cache purge successful."
+msgstr "حذف کش RocketCDN موفق بود."
-#: inc/admin/admin.php:22 inc/common/admin-bar.php:243
-msgid "FAQ"
-msgstr "سوالات متداول"
+#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:137
+msgid "RocketCDN enabled"
+msgstr "RocketCDN فعال شد"
-#: inc/admin/admin.php:24 inc/common/admin-bar.php:63
-msgid "Settings"
-msgstr "تنظیمات"
+#: inc/Engine/CDN/RocketCDN/RESTSubscriber.php:160
+msgid "RocketCDN disabled"
+msgstr "RocketCDN غیرفعال شد"
-#: inc/admin/admin.php:458
-msgid "Settings import failed: you do not have the permissions to do this."
-msgstr ""
-"درونریزی تنظیمات ناموفق بود: شما دسترسی کافی برای انجام این کار را ندارید."
+#. Translators: %s = date formatted using date_i18n() and get_option(
+#. 'date_format' ).
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:27
+msgid "Valid until %s only!"
+msgstr "تا %s معتبر است!"
-#: inc/admin/admin.php:462
-msgid "Settings import failed: no file uploaded."
-msgstr "درونریزی تنظیمات ناموفق بود: فایلی بارگذاری نشد."
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:36
+msgid "Speed up your website thanks to:"
+msgstr "سرعت بخشیدن به وب سایت شما به لطف:"
-#: inc/admin/admin.php:466
-msgid "Settings import failed: incorrect filename."
-msgstr "درونریزی تنظیمات ناموفق بود: نام فایل اشتباه است."
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:42
+msgid ""
+"High performance Content Delivery Network (CDN) with %1$sunlimited "
+"bandwidth%2$s"
+msgstr "بیشترین عملکرد شبکه توزیع محتوا (CDN) با%1$s پهنای باند نامحدود%2$s"
-#: inc/admin/admin.php:477
-msgid "Settings import failed: incorrect filetype."
-msgstr "درونریزی تنظیمات ناموفق بود: نوع فایل اشتباه است."
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:48
+msgid ""
+"Easy configuration: the %1$sbest CDN settings%2$s are automatically applied"
+msgstr "پیکربند آسنا:%1$sبهترین تنظیمات CDN %2$s بطور خودکار اعمال می شود"
-#: inc/admin/admin.php:487
-msgid "Settings import failed: "
-msgstr "درونریزی تنظیمات ناموفق بود: "
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:54
+msgid ""
+"WP Rocket integration: the CDN option is %1$sautomatically configured%2$s in"
+" our plugin"
+msgstr ""
+"ادغام موشک وردپرس: گزینه CDN بصورت خودکار%1$sپیکربندی می شود%2$s در افزونه "
+"ما"
-#: inc/admin/admin.php:503
-msgid "Settings import failed: unexpected file content."
-msgstr "درون ریزی تنظیمات انجام نشد: محتوای فایل غیر منتظره بود."
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:58
+msgid "Learn more about RocketCDN"
+msgstr "اطلاعات بیشتر راجع به RocketCDN"
-#: inc/admin/admin.php:533
-msgid "Settings imported and saved."
-msgstr "تنظیمات درونریزی و ذخیره شد."
+#. translators: %1$s = discounted price, %2$s = regular price.
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:65
+msgid ""
+"*$%1$s/month for 12 months then $%2$s/month. You can cancel your "
+"subscription at any time."
+msgstr ""
+"*$%1$s/ماه برای 12 ماه آنگاه $%2$s/ماه. شما می توانید اشتراک خود را هرگاه که"
+" خواستید لغو کنید."
-#: inc/admin/options.php:127
-msgid "Defer JavaScript Files"
-msgstr "به تعویق انداختن فایل های جاوا اسکریپت"
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:86
+msgid "Billed monthly"
+msgstr "صورتحساب ماهانه"
-#: inc/admin/options.php:128
-msgid "Excluded Delay JavaScript Files"
-msgstr "فایلهای جاوا اسکریپت تاخیری حذف شدند"
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:87
+msgid "Get Started"
+msgstr "شروع کنید"
-#: inc/admin/options.php:150
-#, php-format
-msgid "%1$s: %2$s "
-msgstr "%1$s: %2$s "
+#: inc/Engine/CDN/RocketCDN/views/cta-big.php:92
+msgid "Reduce this banner"
+msgstr "حذف این بنر"
-#: inc/admin/options.php:160
-msgid "The following pattern is invalid and has been removed:"
-msgid_plural "The following patterns are invalid and have been removed:"
-msgstr[0] "الگوی زیر نامعتبر بوده و حذف شده است:"
-msgstr[1] "الگوی زیر نامعتبر بوده و حذف شده است:"
+#: inc/Engine/CDN/RocketCDN/views/cta-small.php:17
+msgid ""
+"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network."
+msgstr ""
+"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید."
-#: inc/admin/options.php:176
-msgid "More info"
-msgstr "اطلاعات بیشتر"
+#: inc/Engine/CDN/RocketCDN/views/cta-small.php:20
+#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:13
+msgid "Learn More"
+msgstr "ادامه مطلب"
-#: inc/admin/ui/meta-boxes.php:37 inc/admin/ui/notices.php:751
-#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136
-#: views/settings/page-sections/dashboard.php:150
-msgid "Clear cache"
-msgstr "پاک کردن کش"
+#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:23
+msgid "RocketCDN is unavailable on local domains and staging sites."
+msgstr "سرویس RocketCDN در دامنه محلی و سایت های آزمایشی دردسترس نیست."
-#: inc/admin/ui/meta-boxes.php:67
-msgid "WP Rocket Options"
-msgstr "تنظیمات موشک وردپرس"
+#: inc/Engine/CDN/RocketCDN/views/dashboard-status.php:32
+msgid "Get RocketCDN"
+msgstr "خرید RocketCDN"
+
+#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:11
+msgid "New!"
+msgstr "جدید!"
+
+#: inc/Engine/CDN/RocketCDN/views/promote-notice.php:12
+msgid ""
+"Speed up your website with RocketCDN, WP Rocket’s Content Delivery Network!"
+msgstr ""
+"با RocketCDN، شبکه تحویل محتوای WP Rocket سرعت سایت خود را افزایش دهید!"
-#: inc/admin/ui/meta-boxes.php:96
-msgid "Never cache this page"
-msgstr "هرگز این برگه را کش نکن"
+#: inc/Engine/Common/Queue/RUCSSQueueRunner.php:253
+msgid "Every minute"
+msgstr "هر دقیقه"
-#: inc/admin/ui/meta-boxes.php:100
-msgid "Activate these options on this post:"
-msgstr "فعال کردن این گزینهها برای این نوشته:"
+#: inc/Engine/CriticalPath/Admin/Admin.php:264
+msgid "Regenerate Critical Path CSS"
+msgstr "بازسازی مسیر بحرانی CSS"
-#: inc/admin/ui/meta-boxes.php:103
-msgid "LazyLoad for images"
-msgstr "باگذاری با تاخیر تصاویر"
+#: inc/Engine/CriticalPath/Admin/Post.php:144
+#: views/cpcss/metabox/generate.php:47
+msgid "Generate Specific CPCSS"
+msgstr "بازسازی مسیر قطعی CSS"
-#: inc/admin/ui/meta-boxes.php:104
-msgid "LazyLoad for iframes/videos"
-msgstr "بارگذاری با تاخیر آیفریمها\\ویدیوها"
+#: inc/Engine/CriticalPath/Admin/Post.php:145
+#: views/cpcss/metabox/generate.php:45
+msgid "Regenerate specific CPCSS"
+msgstr "بازسازی مسیر قطعی CSS"
-#: inc/admin/ui/meta-boxes.php:105
-msgid "Minify CSS"
-msgstr "فشردهسازی\\ CSS"
+#: inc/Engine/CriticalPath/Admin/Post.php:216
+msgid "This feature is not available for non-public post types."
+msgstr "این ویژگی برای انواع نوشتههای منتشر نشده قابل دسترس نیست."
-#: inc/admin/ui/meta-boxes.php:107
-msgid "Minify/combine JS"
-msgstr "فشردهسازی\\ترکیب JS"
+#: inc/Engine/CriticalPath/Admin/Post.php:219
+msgid "%l to use this feature."
+msgstr "%l برای استفاده از این ویژگی."
-#: inc/admin/ui/meta-boxes.php:110
-msgid "Defer JS"
-msgstr "تعویق جاوا اسکریپت"
+#. translators: %s = post type.
+#: inc/Engine/CriticalPath/Admin/Post.php:222
+msgid "Publish the %s"
+msgstr "انتشار %s"
-#: inc/admin/ui/meta-boxes.php:117
-#, php-format
-msgid "Activate first the %s option."
-msgstr "ابتدا گزینه %s را فعال کنید."
+#. translators: %s = post type.
+#: inc/Engine/CriticalPath/Admin/Post.php:223
+msgid "Enable Load CSS asynchronously in WP Rocket settings"
+msgstr "فعالسازی بارگیری CSS بصورت نابهنگام توسط تنظیمات موشک وردپرس"
-#: inc/admin/ui/meta-boxes.php:133
-#, php-format
-msgid ""
-"%1$sNote:%2$s None of these options will be applied if this post has been "
-"excluded from cache in the global cache settings."
-msgstr ""
-"%1$sنکته:%2$s هیچکدام از این گزینه ها اعمال نمی شود اگر این نوشته از کش شدن "
-"مستثنی شده باشد در تنظیمات کش کلی."
+#: inc/Engine/CriticalPath/Admin/Post.php:224
+msgid "Enable Load CSS asynchronously in the options above"
+msgstr "فعالسازی بارگیری CSS بصورت نابهنگام در گزینه بالا"
-#: inc/admin/ui/notices.php:31 inc/admin/ui/notices.php:44
-#, php-format
-msgid ""
-"%1$s has not been deactivated due to missing writing permissions. \n"
-"Make %2$s writeable and retry deactivation, or force deactivation now:"
-msgstr ""
-"%1$s به خاطر مشکل در دسترسیهای نوشتن فعال نشده است. \n"
-"%2$s را قابل نوشتن کرده و سپس غیرفعال سازی را دوباره امتحان کنید، یا الان غیرفعال کنید:"
+#. translators: %1$s = type of content, %2$s = error message.
+#: inc/Engine/CriticalPath/APIClient.php:64
+msgid "Critical CSS for %1$s not generated. Error: %2$s"
+msgstr "CSS بحرانی برای %1$s تولید نشده است. خطا: %2$s"
-#: inc/admin/ui/notices.php:97
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/APIClient.php:170
msgid ""
-"%s : One or more plugins have been enabled or disabled, "
-"clear the cache if they affect the front end of your site."
+"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
+"empty response."
msgstr ""
-"%s : یک یا چند افزونه فعال یا غیرفعال شدهاند، اگر آنها "
-"ظاهر سایت شما را به هم ریختهاند، کش را پاک کنید."
+"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ خالی بر می گرداند."
-#: inc/admin/ui/notices.php:221
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/APIClient.php:173
msgid ""
-"%s : The following plugins are not compatible with this "
-"plugin and may cause unexpected results:"
-msgstr ""
-"%s : افزونههای زیر با این افزونه سازگار نیستند و ممکن است "
-"باعث نتایج غیرمنتظره شوند:"
+"Critical CSS for %1$s not generated. Error: The API returned an empty "
+"response."
+msgstr "CSS بحرانی برای %1$s تولید نشده است خطا: API پاسخ خالی بر می گرداند."
-#: inc/admin/ui/notices.php:227
-msgid "Deactivate"
-msgstr "غیرفعال سازی"
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/APIClient.php:185
+msgid "Critical CSS for %1$s on mobile not generated."
+msgstr "CSS بحرانی برای %1$s در موبایل تولید شد."
-#: inc/admin/ui/notices.php:269
-msgid ""
-"WP Rocket Footer JS is not an official add-on. It prevents some options in "
-"WP Rocket from working correctly. Please deactivate it if you have problems."
-msgstr ""
-"WP Rocket Footer JS یک افزودنی رسمی نیست. از عملکرد صحیح برخی از گزینه ها در"
-" WP Rocket جلوگیری می کند. لطفاً در صورت بروز مشکل آن را غیرفعال کنید."
+#. translators: %s = item URL.
+#. translators: %1$s = item URL or item type.
+#: inc/Engine/CriticalPath/APIClient.php:187
+#: inc/Engine/CriticalPath/ProcessorService.php:194
+msgid "Critical CSS for %1$s not generated."
+msgstr "CSS بحرانی برای %1$s. تولید نشد."
-#: inc/admin/ui/notices.php:309
-#, php-format
+#. translators: %s = URL.
+#: inc/Engine/CriticalPath/APIClient.php:195
msgid ""
-"Endurance Cache is currently enabled, which will conflict with WP Rocket "
-"Cache. Please set the Endurance Cache cache level to Off (Level 0) on the "
-"%1$sSettings > General%2$s page to prevent any issues."
+"Critical CSS for %1$s on mobile not generated. Error: The API returned an "
+"invalid response code."
msgstr ""
-"Endurance Cache در حال حاضر فعال است که با WP Rocket Cache در تضاد است. "
-"لطفاً سطح کش Endurance Cache را در حالت Off (سطح 0) در حالت تنظیم کنید "
-"%1$sتنظیمات > عمومی%2$s جلوگیری از هرگونه مشکلی میکند."
+"CSS بحرانی برای %1$s موبایل ایجاد نشده است. خطا: API پاسخ نامعتبر بر می "
+"گرداند."
-#: inc/admin/ui/notices.php:330
-#, php-format
+#. translators: %s = URL.
+#: inc/Engine/CriticalPath/APIClient.php:197
msgid ""
-"%1$s: A custom permalink structure is required for the plugin to work "
-"properly. %2$sGo to permalinks settings%3$s"
+"Critical CSS for %1$s not generated. Error: The API returned an invalid "
+"response code."
msgstr ""
-"%1$s: برای درست عمل کردن افزونه نیاز است پیوندهای یکتا را فعال کنید. %2$s "
-"رفتن به تنظیمات پیوندهای یکتا%3$s"
+"CSS بحرانی برای %1$s تولید نشده است.خطا: API پاسخ نامعتبر بر می گرداند."
-#: inc/admin/ui/notices.php:377
-#, php-format
-msgid ""
-"%s could not modify the .htaccess file due to missing writing permissions."
-msgstr "%s به علت عدم دسترسی نوشتن .htaccess نمیتواند خود را تنظیم کند."
+#. translators: %1$s = error message.
+#: inc/Engine/CriticalPath/APIClient.php:205
+#: inc/Engine/CriticalPath/ProcessorService.php:201
+msgid "Error: %1$s"
+msgstr "خطا: %1$s"
-#: inc/admin/ui/notices.php:383 inc/admin/ui/notices.php:846
-#, php-format
-msgid "Troubleshoot: %1$sHow to make system files writeable%2$s"
-msgstr "عیبیابی: %1$s چگونه فایلهای سیستمی را قابل نوشتن کنیم%2$s"
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:176
+msgid "Critical CSS generation is currently running."
+msgstr "ایجاد CSS بحرانی در حال اجرا می باشد."
+
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:181
+msgid "Go to the %1$sWP Rocket settings%2$s page to track progress."
+msgstr "به %1$sتنظیمات موشک وردپرس%2$s برای رهگیری پیشرفت مراجعه کنید."
-#: inc/admin/ui/notices.php:385 inc/admin/ui/notices.php:848
+#. Translators: %1$d = number of critical CSS generated, %2$d = total number
+#. of critical CSS to generate.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:396
msgid ""
-"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-"
-"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket"
+"Critical CSS generation is currently running: %1$d of %2$d page types "
+"completed. (Refresh this page to view progress)"
msgstr ""
-"https://docs.wp-rocket.me/article/626-how-to-make-system-files-htaccess-wp-"
-"config-writeable/?utm_source=wp_plugin&utm_medium=wp_rocket"
+"تولید CSSبحرانی در حال اجرا است: %1$d از %2$d نوع صفحه کامل شده است. (برای "
+"مشاهده پیشرفت این صفحه را رفرش کنید)"
-#: inc/admin/ui/notices.php:391
-msgid ""
-"Don’t worry, WP Rocket’s page caching and settings will still function "
-"correctly."
-msgstr "نگران نباشید ، ذخیره و تنظیمات صفحه WP Rocket همچنان درست کار می کند."
+#. Translators: %1$d = number of critical CSS generated, %2$d = total number
+#. of critical CSS to generate.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:472
+msgid "Critical CSS generation finished for %1$d of %2$d page types."
+msgstr "تولید CSSبحرانی برای %1$d از %2$d نوع صفحه کامل شد."
+
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
+msgid "Critical CSS generation encountered one or more errors."
+msgstr "ایجاد CSS بحرانی یک یا چند خطا دارد."
+
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:479
+msgid "Learn more."
+msgstr "اطلاعات بیشتر."
-#: inc/admin/ui/notices.php:391
+#. translators: %1$ = opening bold tag, %2$ = closing bold tag.
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:840
msgid ""
-"For optimal performance, adding the following lines into your .htaccess is "
-"recommended (not required):"
+"We highly recommend the %1$supdated Remove Unused CSS%2$s for a better CSS "
+"optimization. Load CSS Asynchronously is always available as a back-up."
msgstr ""
-"برای عملکرد مطلوب ، افزودن خطوط زیر به .htaccess توصیه می شود (لازم نیست):"
+"به شدت توصیه میشه%1$sحذف CSSهای بلااستفاده را بروزرسانی کنید%2$sبرای بهینه "
+"سازی CSS. بارگیری ناهمزمان CSS همیشه به عنوان پشتیبان در دسترس است."
+
+#: inc/Engine/CriticalPath/CriticalCSSSubscriber.php:845
+msgid "Stay with the old option"
+msgstr "با گزینه قدیمی بمانید"
-#: inc/admin/ui/notices.php:538
-#, php-format
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/DataManager.php:68
msgid ""
-"%1$s is good to go! %2$sTest your load time%4$s, or visit your "
-"%3$ssettings%4$s."
+"Critical CSS for %1$s on mobile not generated. Error: The destination folder"
+" could not be created."
msgstr ""
-"%1$s آماده است! %2$s زمان بارگذاری خود را امتحان کنید%4$s، یا "
-"%3$sتنظیمات%4$s خود را مشاهده کنید."
+"CSS بحرانی برای %1$s موبایل ایجاد نشده است.خطا: پوشه مقصد نمی تواند ایجاد "
+"شود."
-#: inc/admin/ui/notices.php:579
+#. translators: %s = item URL.
+#: inc/Engine/CriticalPath/DataManager.php:71
msgid ""
-"Would you allow WP Rocket to collect non-sensitive diagnostic data from this"
-" website?"
+"Critical CSS for %1$s not generated. Error: The destination folder could not"
+" be created."
msgstr ""
-"آیا اجاره میدهید موشک وردپرس اطلاعات مرتبط غیرحساس را از این وبسایت جمع "
-"آوری کند؟"
+"CSS بحرانی برای %1$s تولید نشده است.خطا: پوشه مقصد نمی تواند ایجاد شود."
-#: inc/admin/ui/notices.php:580
-msgid "This would help us to improve WP Rocket for you in the future."
-msgstr "این کار به ما کمک خواهد کرد تا در آینده موشک وردپرس را بهبود ببخشیم."
+#: inc/Engine/CriticalPath/DataManager.php:106
+msgid "Critical CSS file for mobile does not exist"
+msgstr "فایل CSS بحرانی برای موبایل موجود نیست"
-#: inc/admin/ui/notices.php:586
-msgid "What info will we collect?"
-msgstr "چه اطلاعاتی را جمع آوری میکنیم؟"
+#: inc/Engine/CriticalPath/DataManager.php:108
+msgid "Critical CSS file does not exist"
+msgstr "CSS بحرانی وجود ندارد"
-#: inc/admin/ui/notices.php:591
-msgid ""
-"Below is a detailed view of all data WP Rocket will collect if granted "
-"permission. WP Rocket will never transmit any domain names or email "
-"addresses (except for license validation), IP addresses, or third-party API "
-"keys."
-msgstr ""
-"در زیر تمام اطلاعاتی که موشک وردپرس در صورت داشتن مجوز شما جمع آوری خواهد "
-"کرد را مشاهده میکنید. موشک وردپرس هرگز نام دامنه یا آدرس ایمیلی (تنها برای "
-"فعالسازی لایسنس)، آدرس آی پی یا کلیدهای وبسرویس ثانویه را منتقل نخواهد "
-"کرد."
+#: inc/Engine/CriticalPath/DataManager.php:120
+msgid "Critical CSS file for mobile cannot be deleted"
+msgstr "CSS بحرانی موبایل نمی تواند حذف شود"
-#: inc/admin/ui/notices.php:600
-msgid "Yes, allow"
-msgstr "بله، اجازه میدهم"
+#: inc/Engine/CriticalPath/DataManager.php:122
+msgid "Critical CSS file cannot be deleted"
+msgstr "CSS بحرانی نمی تواند حذف شود"
-#: inc/admin/ui/notices.php:603
-msgid "No, thanks"
-msgstr "نه، متشکرم"
+#. translators: %1$s = item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:187
+msgid "Mobile Critical CSS for %1$s not generated."
+msgstr "CSS بحرانی موبایل برای %1$s تولید نشد."
-#: inc/admin/ui/notices.php:642
-msgid "Thank you!"
-msgstr "متشکریم!"
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:228
+msgid "Critical CSS for %s in progress."
+msgstr "CSS بحرانی برای %s در حال پردازش است."
-#: inc/admin/ui/notices.php:647
-msgid "WP Rocket now collects these metrics from your website:"
-msgstr "موشک وردپرس اکنون این معیارها را از وبسایت شما جمعآوری میکند:"
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:262
+msgid "Mobile Critical CSS for %s generated."
+msgstr "CSS بحرانی موبایل برای %s ایجاد شد."
-#: inc/admin/ui/notices.php:685
-#, php-format
-msgid "%s: Cache cleared."
-msgstr "%s: کش پاک شد."
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:273
+msgid "Critical CSS for %s generated."
+msgstr "CSS بحرانی برای %s. تولید شد."
-#: inc/admin/ui/notices.php:692
-#, php-format
-msgid "%s: Post cache cleared."
-msgstr "%s: کش نوشته پاک شد."
+#: inc/Engine/CriticalPath/ProcessorService.php:295
+msgid "Critical CSS file deleted successfully."
+msgstr "CSS بحرانی با موفقیت حذف شد."
-#: inc/admin/ui/notices.php:699
-#, php-format
-msgid "%s: Term cache cleared."
-msgstr "%s: کش شرط پاک شد."
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:317
+msgid "Mobile Critical CSS for %1$s timeout. Please retry a little later."
+msgstr "استایل CSS بحرانی موباید برای %1$s متوقف شد. مجدد تلاش کنید."
-#: inc/admin/ui/notices.php:706
-#, php-format
-msgid "%s: User cache cleared."
-msgstr "%s: کش کاربر پاک شد."
+#. translators: %1$s = Item URL or item type.
+#: inc/Engine/CriticalPath/ProcessorService.php:330
+msgid "Critical CSS for %1$s timeout. Please retry a little later."
+msgstr ""
+"CSS بحرانی برای %1$s وقفه افتاده است. لطفا کمی بعدتر مجدد امتحان کنید."
-#: inc/admin/ui/notices.php:754
-msgid "Stop Preload"
-msgstr "توقف پیش بارگذاری"
+#: inc/Engine/CriticalPath/RESTWP.php:141
+msgid "Mobile CPCSS generation not enabled."
+msgstr "ایجاد CPCSS موبایل فعال نشد."
-#: inc/admin/ui/notices.php:760
-msgid "Turn on Remove Unused CSS"
-msgstr "حذف CSS های بدون استفاده را فعال کنید"
+#: inc/Engine/CriticalPath/RESTWPPost.php:36
+#: inc/Engine/CriticalPath/RESTWPPost.php:69
+msgid "Requested post does not exist."
+msgstr "نوشته درخواست شده موجود نیست."
-#: inc/admin/ui/notices.php:766
-msgid "Enable “Separate Cache Files for Mobile Devices” now"
-msgstr "اکنون\" کش مجزا برای موبایل\" را فعال نمایید"
+#: inc/Engine/CriticalPath/RESTWPPost.php:46
+msgid "Cannot generate CPCSS for unpublished post."
+msgstr "برای نوشته های منتشر نشده نمی توان CPCSS ایجاد کرد."
-#: inc/admin/ui/notices.php:784
-msgid "Force deactivation "
-msgstr "غیرفعال سازی اجباری "
+#: inc/Engine/HealthCheck/HealthCheck.php:142
+msgid "Scheduled Cache Purge"
+msgstr "برنامه ریزی خالی کردن کش"
-#: inc/admin/ui/notices.php:803
-msgid "The following code should have been written to this file:"
-msgstr "کدهای زیر باید داخل این فایل نوشته شوند:"
+#: inc/Engine/HealthCheck/HealthCheck.php:143
+msgid "Scheduled Database Optimization"
+msgstr "برنامه ریزی بهینه سازی دیتابیس"
-#: inc/admin/ui/notices.php:834
-#, php-format
-msgid "%s cannot configure itself due to missing writing permissions."
-msgstr "%s به علت عدم دسترسی نوشتن نمیتواند خود را تنظیم کند."
+#: inc/Engine/HealthCheck/HealthCheck.php:144
+msgid "Database Optimization Process"
+msgstr "پروسه بهینه سازی دیتابیس"
-#: inc/admin/ui/notices.php:840
-#, php-format
-msgid "Affected file/folder: %s"
-msgstr "فایل\\فولدرهای مورد نظر: %s"
+#: inc/Engine/HealthCheck/HealthCheck.php:145
+msgctxt "noun"
+msgid "Preload"
+msgstr "پیش بارگذاری"
-#: inc/classes/admin/class-logs.php:124
-msgid "The debug file could not be deleted."
-msgstr "فایل اشکال زدایی حذف نشد."
+#: inc/Engine/HealthCheck/HealthCheck.php:146
+msgid "Critical Path CSS Generation Process"
+msgstr "پروسه تولید CSS بحرانی"
-#: inc/classes/class-wp-rocket-requirements-check.php:147
-#, php-format
-msgid "To function properly, %1$s %2$s requires at least:"
-msgstr "برای عمل کردن به حداقل %1$s %2$s نیاز است:"
+#. translators: %1$s = , %2$s = price, %3$s = .
+#: inc/Engine/License/Renewal.php:76
+msgid "Renew before it is too late, you will only pay %1$s%2$s%3$s!"
+msgstr "تمدید کنید تا دیر نشده، شما فق طپرداخت می کنید%1$s%2$s%3$s!"
-#: inc/classes/class-wp-rocket-requirements-check.php:151
-#, php-format
+#. translators: %1$s = , %2$s = discount, %3$s = ,%4$s =
+#. , %5$s = price, %6$s= .
+#: inc/Engine/License/Renewal.php:85
msgid ""
-"PHP %1$s. To use this WP Rocket version, please ask your web host how to "
-"upgrade your server to PHP %1$s or higher."
+"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
+"%4$s%5$s%6$s!"
msgstr ""
-"نسخه %1$s PHP. برای استفاده از این نسخه از موشک وردپرس، لطفا هاست خود را جهت"
-" بروزرسانی به نسخه PHP %1$s یا بالاتر بررسی کنید."
+"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %4$s%5$s%6$s پرداخت "
+"می کنید!"
-#: inc/classes/class-wp-rocket-requirements-check.php:156
-#, php-format
-msgid ""
-"WordPress %1$s. To use this WP Rocket version, please upgrade WordPress to "
-"version %1$s or higher."
-msgstr ""
-"نسخه %1$s وردپرس. برای استفاده از این نسخه از موشک وردپرس، لطفا وردپرس خود "
-"را به نسخه %1$s یا بالاتر به روز رسانی کنید."
+#. translators: %1$s = , %2$s = , %3$s = price.
+#: inc/Engine/License/Renewal.php:139
+msgid "Renew your license for 1 year now at %1$s%3$s%2$s."
+msgstr "تمدید لایسنس برای یک سال دیگر%1$s%3$s%2$s."
-#: inc/classes/class-wp-rocket-requirements-check.php:159
+#. translators: %1$s = , %2$s = , %3$s = discount percentage,
+#. %4$s = price.
+#: inc/Engine/License/Renewal.php:152
msgid ""
-"If you are not able to upgrade, you can rollback to the previous version by "
-"using the button below."
+"Renew your license for 1 year now and get %1$s%3$s OFF%2$s immediately: you "
+"will only pay %1$s%4$s%2$s!"
msgstr ""
-"اگر نمیتوانید به روز رسانی را انجام دهید، میتوانید با استفاده از دکمه زیر "
-"به نسخههای قبلی بازگردید."
-
-#: inc/classes/class-wp-rocket-requirements-check.php:161
-#: inc/deprecated/deprecated.php:1947
-#, php-format
-msgid "Re-install version %s"
-msgstr "نصب دوباره نسخه %s"
-
-#: inc/classes/dependencies/wp-media/background-processing/wp-background-process.php:447
-#, php-format
-msgid "Every %d Minutes"
-msgstr "هر %d دقیقه"
-
-#: inc/classes/logger/class-logger.php:260
-#: inc/classes/logger/class-logger.php:292
-msgid "The log file does not exist."
-msgstr "لاگ فایل موجود نیست."
-
-#: inc/classes/logger/class-logger.php:266
-#: inc/classes/logger/class-logger.php:298
-msgid "The log file could not be read."
-msgstr "لاگ فایل قابل خواندن نیست."
+"تمدید لایسنس برای یک سال دیگر با %1$s%3$sتخفیف%2$sسریعتر: شما "
+"فقط%1$s%4$s%2$sپرداخت میکنید!"
-#: inc/classes/logger/class-logger.php:285
-msgid "The logs are not saved into a file."
-msgstr "لاگ ها درون فایل ذخیره نشده است."
+#. translators: %1$s = , %2$s = , %3$s = discount price.
+#: inc/Engine/License/Renewal.php:218
+msgid "Renew before it is too late, you will pay %1$s%3$s%2$s."
+msgstr "تمدید کنید تا دیر نشده، شما فقط%1$s%3$s%2$sپرداخت میکنید."
-#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:151
-#, php-format
+#. translators: %1$s = , %2$s = discount percentage, %3$s = ,
+#. %4$s = discount price.
+#: inc/Engine/License/Renewal.php:227
msgid ""
-"Failed to detect the following requirement in your theme: closing %1$s."
-msgid_plural ""
-"Failed to detect the following requirements in your theme: closing %1$s."
-msgstr[0] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s."
-msgstr[1] "شرایط زیر در موضوع شما تشخیص داده نشد: بسته شدن %1$s."
+"Renew with a %1$s%2$s discount%3$s before it is too late, you will only pay "
+"%1$s%4$s%3$s!"
+msgstr ""
+"تمدید با %1$s%2$sتخفیف%3$sقبل از اینکه دیر شود، شما فقط %1$s%4$s%3$s پرداخت "
+"می کنید!"
-#: inc/classes/subscriber/Tools/class-detect-missing-tags-subscriber.php:159
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/Renewal.php:546
msgid ""
-"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
-"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
+"You need a valid license to continue using this feature. %1$sRenew now%2$s "
+"before losing access."
msgstr ""
-"https://docs.wp-rocket.me/article/99-pages-not-cached-or-minify-cssjs-not-"
-"working/?utm_source=wp_plugin&utm_medium=wp_rocket#theme"
+"برای استفاده از این ویژگی نیازمند لایسنس معتبر هستید.%1$sاکنون تمدید "
+"کنید%2$sقبل از حذف دسترسیتان"
-#: inc/common/admin-bar.php:84 inc/common/admin-bar.php:136
-#: views/settings/page-sections/dashboard.php:150
-msgid "Clear and preload cache"
-msgstr "حذف و پیش بارگذاری مجدد کش"
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/Renewal.php:567
+msgid "You need an active license to enable this option. %1$sRenew now%2$s."
+msgstr ""
+"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاکنون تمدید کنید%2$s"
-#: inc/common/admin-bar.php:124 inc/functions/i18n.php:41
-#: inc/functions/i18n.php:51
-msgid "All languages"
-msgstr "همهی زبانها"
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/Renewal.php:595
+msgid "You need an active license to enable this option. %1$sMore info%2$s."
+msgstr ""
+"برای فعالسازی این گزینه به لایسنس فعال نیاز دارید.%1$sاطلاعات بیشتر%2$s"
-#: inc/common/admin-bar.php:160
-msgid "Clear this post"
-msgstr "پاک کردن این نوشته"
+#. translators: %1$s = promotion name, %2$s = , %3$s = , %4$s =
+#. promotion discount percentage, %5$s = .
+#: inc/Engine/License/Upgrade.php:251
+msgid ""
+"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
+" for %3$supgrading your license to Plus or Infinite!%5$s"
+msgid_plural ""
+"Take advantage of %1$s to speed up more websites:%2$s get a %3$s%4$s off%5$s"
+" for %3$supgrading your license to Infinite!%5$s"
+msgstr[0] ""
+"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای"
+" %3$s ارتقای لایسنس شما به پلاس یا نامحدود!%5$s"
+msgstr[1] ""
+"بهره مندی از %1$s برای بالابردن سرعت سایت: %2$s گرفتن %3$s%4$s تخفیف%5$sبرای"
+" %3$s ارتقای لایسنس شما به نامحدود!%5$s"
-#: inc/common/admin-bar.php:174
-msgid "Purge this URL"
-msgstr "پاکسازی این لینک"
+#: inc/Engine/License/Upgrade.php:382 inc/Engine/License/Upgrade.php:405
+msgid "Unlimited"
+msgstr "نامحدود"
-#: inc/common/admin-bar.php:194
-msgid "Purge Sucuri cache"
-msgstr "تخلیه کش Sucuri"
+#. translators: %s = promotion discount percentage.
+#: inc/Engine/License/views/promo-banner.php:16
+msgid "%s off"
+msgstr "%s تخفیف"
-#: inc/common/admin-bar.php:218 views/settings/fields/rocket-cdn.php:55
-msgid "Purge RocketCDN cache"
-msgstr "تخلیه کش RocketCDN"
+#. translators: %s = promotion name.
+#: inc/Engine/License/views/promo-banner.php:21
+msgid "%s promotion is live!"
+msgstr "%s پیشنهاد زنده است!"
-#: inc/common/admin-bar.php:231 views/settings/partials/documentation.php:14
-msgid "Documentation"
-msgstr "مستندات"
+#: inc/Engine/License/views/promo-banner.php:27
+msgid "Hurry Up! Deal ends in:"
+msgstr "عجله کنید! تخفیف پایان میابد در:"
-#: inc/deprecated/3.10.php:163
-msgid "OPcache purge failed."
-msgstr "تخلیه کش OPcache شکست خورد."
+#: inc/Engine/License/views/promo-banner.php:31
+#: inc/Engine/License/views/renewal-soon-banner.php:14
+msgid "Minutes"
+msgstr "دقایق"
-#: inc/deprecated/3.10.php:168
-msgid "OPcache successfully purged"
-msgstr "OPcache با موفقیت تخلیه شد"
+#: inc/Engine/License/views/promo-banner.php:32
+#: inc/Engine/License/views/renewal-soon-banner.php:15
+msgid "Seconds"
+msgstr "ثانیه"
-#: inc/deprecated/3.11.php:81
-msgid "Yoast SEO XML sitemap"
-msgstr "نقشه سایت Yoast SEO"
+#: inc/Engine/License/views/promo-banner.php:34
+#: inc/Engine/License/views/upgrade-section.php:11
+msgid "Upgrade now"
+msgstr "اکنون ارتقاء دهید"
-#: inc/deprecated/3.11.php:83 inc/deprecated/3.12.php:58
-#: inc/deprecated/3.12.php:87 inc/deprecated/3.12.php:186
-#: inc/deprecated/3.12.php:253 inc/deprecated/3.12.php:342
-#, php-format
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:11
+msgid "The Optimize CSS Delivery feature is disabled."
+msgstr "ویژگی Optimize CSS Delivery غیرفعال است."
+
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:15
msgid ""
-"We automatically detected the sitemap generated by the %s plugin. You can "
-"check the option to preload it."
+"You can no longer use the Remove Unused CSS or Load CSS asynchronously "
+"options."
msgstr ""
-"ما به طور خودکار نقشه سایت تولید شده توسط پلاگین %s را تشخیص میدهیم. شما می"
-" توانید این گزینه را برای بارگذاری اولیه آن تیک بزنید."
-
-#: inc/deprecated/3.12.php:56
-msgid "All in One SEO XML sitemap"
-msgstr "نقشه سایت All in One SEO"
-
-#: inc/deprecated/3.12.php:85
-msgid "Rank Math XML sitemap"
-msgstr "نقشه سایت Rank Math"
-
-#: inc/deprecated/3.12.php:184
-msgid "SEOPress XML sitemap"
-msgstr "نقشه سایت Rank Math"
-
-#: inc/deprecated/3.12.php:251
-msgid "The SEO Framework XML sitemap"
-msgstr "نقشه سایت SEO Framework"
-
-#: inc/deprecated/3.12.php:332
-msgid "Jetpack XML Sitemaps"
-msgstr "نقشه سایت جتپک"
-
-#: inc/deprecated/3.12.php:334
-msgid "Preload the sitemap from the Jetpack plugin"
-msgstr "پیشبارگذاری نقشه سایت از افزونه جتپک"
-
-#: inc/deprecated/3.2.php:52 views/settings/page-sections/imagify.php:36
-msgid "Activate Imagify"
-msgstr "فعالسازی Imagify"
-
-#: inc/deprecated/3.2.php:52
-msgid "Install Imagify for Free"
-msgstr "نصب رایگان Imagify"
+"دیگر نمی توانید از گزینه های Remove Unused CSS یا Load CSS Asynchronously "
+"استفاده کنید."
-#: inc/deprecated/3.2.php:67
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:20
msgid ""
-"Speed up your website and boost your SEO by reducing image file sizes "
-"without losing quality with Imagify."
+"You need an %1$sactive license%2$s to keep optimizing your CSS delivery, "
+"which addresses a PageSpeed Insights recommendation and improves your page "
+"performance."
msgstr ""
-"سرعت و سئوی سایت خود را با کاهش حجم فایلهای تصویری و بدون از دست دادن کیفیت"
-" با کمک Imagify بالا ببرید."
+"شما به %1$sلایسنس فعال%2$sبرای قابلیت Optimize CSS Delivery نیاز دارید،که به"
+" توصیه PageSpeed Insights پرداخته و عملکرد صفحه شما را بهبود می بخشد."
-#: inc/deprecated/3.2.php:72
-msgid "More details"
-msgstr "اطلاعات بیشتر"
+#: inc/Engine/License/views/renewal-expired-banner-ocd-disabled.php:29
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:39
+#: inc/Engine/License/views/renewal-expired-banner.php:27
+#: inc/Engine/License/views/renewal-soon-banner.php:31
+msgid "Renew now"
+msgstr "تمدید کنید"
-#: inc/deprecated/3.2.php:228
-#, php-format
-msgid "Sitemap preload: %d pages have been cached."
-msgstr "بارگذاری نقشه سایت: %d برگه کش شد."
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:11
+msgid "You will soon lose access to some features"
+msgstr "به زودی دسترسی به برخی از ویژگی ها را از دست خواهید داد"
-#: inc/deprecated/3.2.php:261
-#, php-format
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:18
msgid ""
-"Sitemap preload: %d uncached pages have now been preloaded. (refresh to see "
-"progress)"
+"You need an %1$sactive license to continue optimizing your CSS delivery%2$s."
msgstr ""
-"بارگذاری نقشه سایت: %d برگه کش نشده هم اکنون بارگذاری شدند. (برای مشاهده "
-"پیشرفت صفحه را رفرش کنید)"
+"شما به لایسنس%1$sفعال نیاز دارید تا بهینه سازی تحویل css ادامه یابد%2$s."
-#: inc/deprecated/3.4.php:18
-msgid "Choose a domain from the list"
-msgstr "یک دامنه را از لیست انتخاب کنید"
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:24
+msgid ""
+"The Remove Unused CSS and Load CSS asynchronously features are great options"
+" to address the PageSpeed Insights recommendations and improve your website "
+"performance."
+msgstr ""
+"ویژگیهای Remove Unused CSS و بارگذاری css به صورت ناهمزمان گزینههای عالی "
+"برای رسیدگی به توصیههای PageSpeed Insights و بهبود عملکرد وبسایت شما "
+"هستند."
-#: inc/deprecated/3.4.php:31
-msgid "No domain available in your Cloudflare account"
-msgstr "دامنهای در حساب Cloudflare شما موجود نیست"
+#. translators: %1$s = , %2$s = , %3$s = date.
+#: inc/Engine/License/views/renewal-expired-banner-ocd.php:29
+msgid "They will be %1$sautomatically disabled on %3$s%2$s."
+msgstr "آنها به طور خودکار%1$sغیرفعال میشوند در%3$s%2$s."
-#: inc/deprecated/3.5.php:71 inc/deprecated/3.5.php:195
+#: inc/Engine/License/views/renewal-expired-banner.php:11
+msgid "Your WP Rocket license is expired!"
+msgstr "لایسنس شما نامعتبر است!"
+
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-expired-banner.php:18
msgid ""
-"Curl is disabled on your server. Please ask your host to enable it. This is "
-"required for the Cloudflare Add-on to work correctly."
+"Your website could be much faster if it could take advantage of our %1$snew "
+"features and enhancements%2$s. 🚀"
msgstr ""
-"Curl در سرور شما غیرفعال است. لطفاً از میزبان خود بخواهید آن را فعال کند. "
-"این مورد برای عملکرد صحیح افزونه Cloudflare ضروری است."
+"سایت شما می تواند از این هم سریعتر شود با استفاده از%1$sویژگی حدید و بهینه "
+"سازی%2$s. 🚀"
-#: inc/deprecated/3.5.php:79
-#, php-format
+#. translators: %1$s = , %2$s = .
+#: inc/Engine/License/views/renewal-soon-banner.php:22
msgid ""
-"Cloudflare email, API key and Zone ID are not set. Read the "
-"%1$sdocumentation%2$s for further guidance."
+"Your %1$sWP Rocket license is about to expire%2$s: you will soon lose access"
+" to product updates and support."
msgstr ""
-"Cloudflare email, API key and Zone ID تنظیم نشده است. برای "
-"راهنمایی%1$sمستندات%2$s را بخوانید."
+"لایسنس%1$s افزونه شما در حال انقضاء%2$sاست: به زودی دسترسی به بروزرسانی "
+"محصول و پشتیبانی را نخواهید داشت."
-#: inc/deprecated/3.5.php:206
-#, php-format
+#: inc/Engine/License/views/upgrade-popin.php:12
+msgid "Speed Up More Websites"
+msgstr "سایت های بیشتری را پرسرعت کنید"
+
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/License/views/upgrade-popin.php:19
msgid ""
-"Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for"
-" further guidance."
+"You can use WP Rocket on more websites by upgrading your license. To "
+"upgrade, simply pay the %1$sprice difference%2$s between your current and "
+"new licenses, as shown below."
msgstr ""
-"Cloudflare email and API key تنظیم نشده است. برای راهنمایی%1$sمستندات%2$s را"
-" بخوانید."
+"با ارتقاء لایسنس خود می توانید سایت های بیشتری را به موشک وردپرس مجهز کنید. "
+"برای ارتقاء، فقط کافی مبلغ%1$sتفاوت%2$sبین لایسنس فعلی و لایسنس جدید را "
+"پرداخت نمایید."
-#: inc/deprecated/3.5.php:271
-msgid "Connection to Cloudflare failed"
-msgstr "اتصال به Cloudflare انجام نشد"
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
+#: inc/Engine/License/views/upgrade-popin.php:25
+msgid ""
+"%1$sN.B.%2$s: Upgrading your license does not change your expiration date"
+msgstr "%1$sN.B.%2$s: ارتقاء لایسنس شما تفاوتی در تاریخ انقضاء ایجاد نمی کند"
-#: inc/deprecated/3.5.php:587
-#, php-format
-msgid "WP Rocket: %s"
-msgstr "راکت وردپرس: %s"
+#. translators: %s = price.
+#: inc/Engine/License/views/upgrade-popin.php:35
+msgid "Save $%s"
+msgstr "ذخیره$%s"
-#: inc/deprecated/3.5.php:592
-msgid "WP Rocket: Cloudflare cache successfully purged."
-msgstr "WP Rocket: کش CloudFlare با موفقیت پاک شد."
+#. translators: %s = number of websites.
+#: inc/Engine/License/views/upgrade-popin.php:48
+msgid "%s websites"
+msgstr "%s سایت"
-#: inc/deprecated/DeprecatedClassTrait.php:54
-#, php-format
+#. translators: %s = license name.
+#: inc/Engine/License/views/upgrade-popin.php:54
+msgid "Upgrade to %s"
+msgstr "ارتقاء به %s"
+
+#: inc/Engine/License/views/upgrade-section.php:11
msgid ""
-"The called class %1$s is deprecated since version %2$s! Use"
-" %3$s instead."
+"You can use WP Rocket on more websites by upgrading your license (you will "
+"only pay the price difference between your current and new licenses)."
msgstr ""
-"کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s! بجاش از %3$s "
-"استفاده کنید."
+"می توانید با ارتقاء لایسنس از موشک وردپرس در وب سایت های بیشتری استفاده کنید"
+" (فقط تفاوت قیمت بین لایسنس های فعلی و جدید خود را پرداخت خواهید کرد)."
-#: inc/deprecated/DeprecatedClassTrait.php:65
-#, php-format
-msgid ""
-"The called class %1$s is deprecated since version %2$s!"
-msgstr "کلاس فراخوانی شده %1$s منسوخ شده از نسخه%2$s!"
+#: inc/Engine/Media/Lazyload/CSS/Admin/Subscriber.php:45
+msgid "LazyLoad CSS backgrounds"
+msgstr "بارگذاری تنبل پس ضمینه CSS"
-#: inc/deprecated/deprecated.php:240
-msgid "JS files with Deferred Loading JavaScript"
-msgstr "JS فایلهای با بارگذاری تاخیری جاوا اسکریپت"
+#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:195
+msgid "Analytics & Ads"
+msgstr "آنالیتیکس / تبلیغات"
-#: inc/deprecated/deprecated.php:293
-msgid "Add URL"
-msgstr "افزودن آدرس"
+#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:200
+msgid "Plugins"
+msgstr "افزونه ها"
-#: inc/deprecated/deprecated.php:1277 views/settings/fields/import-form.php:22
+#: inc/Engine/Optimization/DelayJS/Admin/SiteList.php:205
+msgid "Themes"
+msgstr "قالب ها"
+
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:101
msgid ""
-"Before you can upload your import file, you will need to fix the following "
-"error:"
-msgstr "قبل از بارگذاری فایل درونریزی باید خطاهای زیر را برطرف کنید:"
+"You need an active license to get the latest version of the lists from our "
+"server."
+msgstr ""
+"برای دریافت آخرین نسخه لیست ها از سرور ما به یک لایسنس فعال نیاز دارید."
-#: inc/deprecated/deprecated.php:1288 views/settings/fields/import-form.php:35
-#, php-format
-msgid "Choose a file from your computer (maximum size: %s)"
-msgstr "انتخاب فایل از رایانه شما (حداکثر حجم: %s)"
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:115
+msgid "Could not get updated lists from server."
+msgstr "نمی توان لیست های به روز شده را از سرور دریافت کرد."
-#: inc/deprecated/deprecated.php:1385
-msgid "Your Cloudflare credentials are valid."
-msgstr "اطلاعات CloudFlare شما معتبر است."
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:124
+msgid "Lists are up to date."
+msgstr "لیست ها به روز هستند."
-#: inc/deprecated/deprecated.php:1389
-msgid "Your Cloudflare credentials are invalid!"
-msgstr "اطلاعات CloudFlare شما نامعتبر است!"
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:133
+msgid "Could not update lists."
+msgstr "لیستها بهروزرسانی نشد."
-#: inc/deprecated/deprecated.php:1453
-msgid "Save and optimize"
-msgstr "ذخیره و بهینهسازی"
+#: inc/Engine/Optimization/DynamicLists/DynamicLists.php:142
+msgid "Lists are successfully updated."
+msgstr "لیست ها با موفقیت به روز شدند."
-#: inc/deprecated/deprecated.php:1453
-msgid "Optimize"
-msgstr "بهینهسازی"
+#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:60
+msgid "Default Lists"
+msgstr "لیست پیشفرض"
-#: inc/deprecated/deprecated.php:1464 inc/deprecated/deprecated.php:1666
-msgctxt "screen-reader-text"
-msgid "Note:"
-msgstr "یادداشت:"
+#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:66
+msgid "Delay JavaScript Execution Exclusion Lists"
+msgstr "به تأخیر انداختن لیست های لغو اجرای جاوا اسکریپت"
-#: inc/deprecated/deprecated.php:1470
-msgctxt "screen-reader-text"
-msgid "Performance tip:"
-msgstr "نکته کارایی:"
+#: inc/Engine/Optimization/DynamicLists/ServiceProvider.php:72
+msgid "Incompatible plugins Lists"
+msgstr "لیست افزونه های ناهماهنگ"
-#: inc/deprecated/deprecated.php:1476
-msgctxt "screen-reader-text"
-msgid "Third-party feature detected:"
-msgstr "ویژگی های سوم شخص شناسایی شده است:"
+#. translators: %1$s = plugin name, %2$s = number of seconds.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:224
+msgid ""
+"%1$s: Please wait %2$s seconds. The Remove Unused CSS service is processing "
+"your pages."
+msgstr ""
+"%1$sلطفا منتظر بمانید:%2$sثانیه.سرویس Remove Unused CSS در حال بررسی "
+"برگههای سایت شماست."
-#: inc/deprecated/deprecated.php:1488 inc/deprecated/deprecated.php:1672
-msgctxt "screen-reader-text"
-msgid "Warning:"
-msgstr "اخطار:"
+#. translators: %1$s = plugin name, %2$s = number of URLs, %3$s = number of
+#. seconds.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:274
+msgid ""
+"%1$s: The Used CSS of your homepage has been processed. WP Rocket will "
+"continue to generate Used CSS for up to %2$s URLs per %3$s second(s)."
+msgstr ""
+"%1$s: فایل CSSهای بکار رفته در صفحه خانه بررسی شد. افزونه به ایجاد CSSهای "
+"استفاده شده ادامه می دهد تا%2$sآدرس صفحه هر%3$s ثانیه."
-#: inc/deprecated/deprecated.php:1501
-msgctxt "button text"
-msgid "Download settings"
-msgstr "دانلود تنظیمات"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:283
+msgid "We suggest enabling %1$sPreload%2$s for the fastest results."
+msgstr "ما پیشنهاد می کنیم %1$sپیش بارگذاری%2$s برای نتایج سریعتر فعال کنید."
-#: inc/deprecated/deprecated.php:1531
-msgid "Replace site's hostname with:"
-msgstr "جایگزینی نام هاست سایت با:"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:293
+msgid "To learn more about the process check our %1$sdocumentation%2$s."
+msgstr "برای یادگیری پروسه %1$sمستندات%2$s مارا بخوانید."
-#: inc/deprecated/deprecated.php:1550 inc/deprecated/deprecated.php:1587
-#: inc/deprecated/deprecated.php:1615 views/settings/fields/cnames.php:41
-#: views/settings/fields/cnames.php:75 views/settings/fields/cnames.php:105
-msgid "reserved for"
-msgstr "متعلق به"
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:443
+msgid ""
+"We couldn't generate the used CSS because you're using a nulled version of "
+"WP Rocket. You need an active license to use the Remove Unused CSS feature "
+"and further improve your website's performance."
+msgstr ""
+"ما نتوانستیم CSS استفاده شده را ایجاد کنیم زیرا شما از نسخه نال شده WP "
+"Rocket استفاده می کنید. برای استفاده از قابلیت Remove Unused CSS و بهبود "
+"بیشتر عملکرد وب سایت خود، به یک مجوز فعال نیاز دارید."
-#: inc/deprecated/deprecated.php:1552 inc/deprecated/deprecated.php:1589
-#: inc/deprecated/deprecated.php:1617 views/settings/fields/cnames.php:44
-#: views/settings/fields/cnames.php:78 views/settings/fields/cnames.php:108
-msgid "All files"
-msgstr "همه فایلها"
+#. translators: %1$s = promo percentage.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:446
+msgid "Click here to get a WP Rocket single license at %1$s off!"
+msgstr "برای دریافت لایسنس %1$sتخفیفی اینجا کلیک کنید!"
-#: inc/deprecated/deprecated.php:1564 inc/deprecated/deprecated.php:1594
-#: inc/deprecated/deprecated.php:1622 views/settings/fields/cnames.php:56
-#: views/settings/fields/cnames.php:90 views/settings/fields/cnames.php:120
-msgid "Images"
-msgstr "تصاویر"
+#. translators: %1$s = open tag, %2$s = closing tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:499
+msgid ""
+"It seems a security plugin or the server's firewall prevents WP Rocket from "
+"accessing the Remove Unused CSS generator. IPs listed %1$shere in our "
+"documentation%2$s should be added to your allowlists:"
+msgstr ""
+"به نظر می رسد افزونه امنیتی یا فایروال سرور از دسترسی افزونه به بخش حذف CSS "
+"های بلااستفاده جلوگیری می کند. آی پی های موجود در %1$sمستندات%2$sباید در "
+"لیست مجازها باشد:"
-#: inc/deprecated/deprecated.php:1635 views/settings/fields/cnames.php:132
-msgid "Add CNAME"
-msgstr "افزودن CNAME"
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:504
+msgid "- In the security plugin, if you are using one"
+msgstr "- در افزونه امنیت، اگر شما از یکی از آن ها استفاده کنید"
-#: inc/deprecated/deprecated.php:1706
-msgid "Watch the video"
-msgstr "تماشای ویدیو"
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:505
+msgid "- In the server's firewall. Your host can help you with this"
+msgstr "- در فایروال سرور. شرکت هاست شما کمکتان می کند"
+
+#. translators: %1$s = plugin name, %2$s = table name, %3$s = open tag,
+#. %4$s = closing tag.
+#: inc/Engine/Optimization/RUCSS/Admin/Settings.php:545
+msgid ""
+"%1$s: Could not create the %2$s table in the database which is necessary for"
+" the Remove Unused CSS feature to work. Please reach out to %3$sour "
+"support%4$s."
+msgstr ""
+"%1$s: نمی تواند ایجاد شود%2$s جدول در پایگاه داده که نیاز است برای حذف CSS "
+"های بلا استفاده برای کارکرد صحیح آن. لطفا برای اطلاعات بیشتر%3$sپشتیبانی "
+"ما%4$sتماس بگیرید."
+
+#. translators: %1$s = plugin name.
+#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:314
+msgid "%1$s: Used CSS option is not enabled!"
+msgstr "%1$s: قابلیت CSSهای استفاده شده فعال نیست!"
-#: inc/deprecated/deprecated.php:1771
-msgid "Basic"
-msgstr "پایه"
+#. translators: %1$s = plugin name.
+#: inc/Engine/Optimization/RUCSS/Admin/Subscriber.php:336
+msgid "%1$s: Used CSS cache cleared!"
+msgstr "%1$s: کش CSS استفاده شده پاک شد!"
-#: inc/deprecated/deprecated.php:1772
-msgid "Static Files"
-msgstr "فایلهای استاتیک"
+#: inc/Engine/Optimization/RUCSS/Controller/UsedCSS.php:787
+msgid "Clear Used CSS of this URL"
+msgstr "پاکسازی CSS استفاده شده برای این URL"
-#: inc/deprecated/deprecated.php:1774
-msgid "Advanced"
-msgstr "پیشرفته"
+#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:160
+msgid "WP Rocket Remove Unused CSS pending jobs"
+msgstr "WP Rocket حذف کارهای معلق Unused CSS"
-#: inc/deprecated/deprecated.php:1944
-#, php-format
+#: inc/Engine/Optimization/RUCSS/Cron/Subscriber.php:174
+msgid "WP Rocket clear Remove Unused CSS failed jobs"
+msgstr "WP Rocket پاکسازی حذف کارهای ناموفق CSS های بلااستفاده"
+
+#. translators: %1$s = plugin name.
+#: inc/Engine/Preload/Admin/Settings.php:57
msgid ""
-"%1$s %2$s requires at least PHP %3$s to function properly. To use this "
-"version, please ask your web host how to upgrade your server to PHP %3$s or "
-"higher. If you are not able to upgrade, you can rollback to the previous "
-"version by using the button below."
+"%1$s: The preload service is now active. After the initial preload it will "
+"continue to cache all your pages whenever they are purged. No further action"
+" is needed."
msgstr ""
-"%1$s %2$s حداقل به نسخه PHP %3$s برای عملکرد صحیح نیاز دارد. برای استفاده از"
-" این نسخه، لطفا با مدیر هاست خود برای ارتقا نسخه PHP به PHP %3$s یا بالاتر "
-"تماس بگیرید. اگر قادر به ارتقا نیستید، میتوانید با استفاده از دکمه زیر به "
-"نسخه قبلی بازگردید."
+"%1$s:سرویس پیش بارگذاری اکنون فعال است. پس از پیش بارگذاری، هر زمان که تمام "
+"صفحات شما پاک شوند، به کش کردن آن ها ادامه می دهد. هیچ اقدام دیگری لازم "
+"نیست."
+
+#: inc/Engine/Preload/Cron/Subscriber.php:138
+msgid "WP Rocket Preload pending jobs"
+msgstr "کارهای معلق پیش بارگذاری"
+
+#: inc/Engine/Preload/Cron/Subscriber.php:166
+msgid "WP Rocket Preload revert stuck failed jobs"
+msgstr "پیش بارگذاری برگرداندن کارهای ناموفق گیر کرده است"
#: inc/functions/admin.php:21
msgid ""
@@ -3672,11 +3464,13 @@ msgstr "کدام تنظیمات موشک وردپرس فعال هستند"
msgid "The provided license data are not valid."
msgstr "داده لایسنس شما معتبر نیست."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:432
-#, php-format
msgid "To resolve, please %1$scontact support%2$s."
msgstr "برای رفع مشکل، لطفا با %1$sپشتیبانی%2$s تماس بگیرید."
+#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening
+#. link tag, %4$s closing link tag.
#: inc/functions/options.php:491 inc/functions/options.php:530
msgid ""
"License validation failed. Our server could not resolve the request from "
@@ -3684,8 +3478,9 @@ msgid ""
msgstr ""
"اعتبارسنجی لایسنس انجام نشد. سرور ما نتوانست درخواست وب سایت شما را حل کند."
+#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening
+#. link tag, %4$s closing link tag.
#: inc/functions/options.php:491
-#, php-format
msgid ""
"Try clicking %1$sValidate License%2$s below. If the error persists, follow "
"%3$sthis guide%4$s."
@@ -3693,6 +3488,7 @@ msgstr ""
"سعی کنید روی%1$sذخیره تغییرات%2$s در زیر کلیک کنید. اگر همچنان خطا وجود "
"داشت، %3$sراهنمایی%4$s را دنبال کنید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507
msgid ""
"License validation failed. You may be using a nulled version of the plugin. "
@@ -3701,46 +3497,52 @@ msgstr ""
"اعتبارسنجی لایسنس شکست خورد. شاید شما از نسخه نال استفاده می کنید. لطفا "
"موارد زیر را انجام دهید:"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507 inc/functions/options.php:549
-#, php-format
msgid "Login to your WP Rocket %1$saccount%2$s"
msgstr "وارد شدن به %1$sحساب کاربری%2$s موشک وردپرس"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507 inc/functions/options.php:549
msgid "Download the zip file"
msgstr "دانلود فایل فشرده"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507 inc/functions/options.php:549
msgid "Reinstall"
msgstr "نصب مجدد"
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:507
-#, php-format
msgid ""
"If you do not have a WP Rocket account, please %1$spurchase a license%2$s."
msgstr "اگر حساب کاربری موشک وردپرس ندارید، لطفا %1$sخرید کنید%2$s."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:515
msgid ""
"License validation failed. This user account does not exist in our database."
msgstr ""
"اعتبارسنجی لایسنس شکست خورد. این حساب کاربری در پایگاه داده ما وجود ندارد."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:515
msgid "To resolve, please contact support."
msgstr "برای رفع مشکل با پشتیبانی تماس بگیرید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:523
msgid "License validation failed. This user account is blocked."
msgstr "اعتبارسنجی لایسنس شکست خورد. این حساب کاربری بلاک شده است."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:523
-#, php-format
msgid "Please see %1$sthis guide%2$s for more info."
msgstr "برای کسب اطلاعات بیشتر%1$sراهنمایی%2$s را مطالعه کنید."
+#. Translators: %1$s = opening em tag, %2$s = closing em tag, %3$s = opening
+#. link tag, %4$s closing link tag.
#: inc/functions/options.php:530
-#, php-format
msgid ""
"Try clicking %1$sSave Changes%2$s below. If the error persists, follow "
"%3$sthis guide%4$s."
@@ -3748,21 +3550,25 @@ msgstr ""
"سعی کنید روی%1$sذخیره تغییرات%2$s در زیر کلیک کنید. اگر همچنان خطا وجود "
"داشت، %3$sراهنمایی%4$s را دنبال کنید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:543
msgid "Your license is not valid."
msgstr "لایسنس شما نامعتبر است."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:543
-#, php-format
msgid "Make sure you have an active %1$sWP Rocket license%2$s."
msgstr "مطمئن شوید که %1$sلایسنس موشک وردپرس%2$s فعال دارید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s =
+#. opening link tag.
#: inc/functions/options.php:545
msgid "You have added as many sites as your current license allows."
msgstr "شما به اندازه لایسنس فعلی سایت اضافه کرده اید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag, %3$s =
+#. opening link tag.
#: inc/functions/options.php:545
-#, php-format
msgid ""
"Upgrade your %1$saccount%2$s or %3$stransfer your license%2$s to this "
"domain."
@@ -3770,48 +3576,283 @@ msgstr ""
"حساب کاربری%1$sخودرا%2$sارتقاء دهید یا%3$sلایسنس خود را به دامنه فعلی %2$s "
"منتقل کنید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:547
msgid "This website is not allowed."
msgstr "این وب سایت مجاز نمی باشد."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:547
-#, php-format
msgid "Please %1$scontact support%2$s."
msgstr "با %1$sپشتیبانی%2$sتماس بگیرید."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:549
msgid "This license key is not recognized."
msgstr "این لایسنس شناسایی نشد."
+#. Translators: %1$s = opening link tag, %2$s = closing link tag.
#: inc/functions/options.php:549
-#, php-format
msgid "If the issue persists, please %1$scontact support%2$s."
msgstr "اگر مشکل همچنان برقرار بود با %1$sپشتیبانی%2$s تماس بگیرید."
+#. Translators: %s = error message returned.
#: inc/functions/options.php:555
-#, php-format
msgid "License validation failed: %s"
msgstr "اعتبارسنجی لایسنس شکست خورد: %s"
-#: inc/vendors/classes/class-imagify-partner.php:531
-msgid "Plugin installed successfully."
-msgstr "افزونه با موفقیت نصب شد."
+#: inc/Logger/Logger.php:260 inc/Logger/Logger.php:292
+msgid "The log file does not exist."
+msgstr "لاگ فایل موجود نیست."
+
+#: inc/Logger/Logger.php:266 inc/Logger/Logger.php:298
+msgid "The log file could not be read."
+msgstr "لاگ فایل قابل خواندن نیست."
+
+#: inc/Logger/Logger.php:285
+msgid "The logs are not saved into a file."
+msgstr "لاگ ها درون فایل ذخیره نشده است."
+
+#. Translators: %s = Hosting name.
+#: inc/ThirdParty/Hostings/Cloudways.php:82
+msgid ""
+"Varnish auto-purge will be automatically enabled once Varnish is enabled on "
+"your %s server."
+msgstr ""
+"هنگامی که Varnish روی دستگاه شما فعال می شود ، پاکسازی خودکار لاک به طور "
+"خودکار فعال می شود %s سرور."
+
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
+#: inc/ThirdParty/Hostings/Kinsta.php:158
+msgid ""
+"Your installation seems to be missing core Kinsta files managing Cache "
+"clearing, which will prevent your Kinsta installation and WP Rocket from "
+"working correctly. Please get in touch with Kinsta support through your "
+"%1$sMyKinsta%2$s account to resolve this issue."
+msgstr ""
+"به نظر می رسد نصب شما فاقد فایل های اصلی Kinsta است که حذف کش و CDN را "
+"مدیریت می کند، که از نصب Kinsta شما و کارکرد صحیح موشک وردپرس جلوگیری می "
+"کند. لطفا پشیبانی Kinsta از طرق حساب %1$sMyKinsta%2$s برایحل این مشکل در "
+"ارتباط باشید."
+
+#. translators: %1$s = plugin name.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:125
+msgid ""
+"%1$s: Cloudflare's HTTP/2 Server Push is incompatible with the features of "
+"Remove Unused CSS and Combine CSS files. We strongly recommend disabling it."
+msgstr ""
+"%1$s:Cloudflare's HTTP/2 Server Push هماهنگ نیست با ویژگی حذف فایل های "
+"Unused CSS و Combine CSS. پیشنهاد می شود غیرفعال کنید."
+
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:168
+msgid ""
+"Your site is using the official Cloudflare plugin. We have enabled "
+"Cloudflare auto-purge for compatibility. If you have APO activated, it is "
+"also compatible."
+msgstr ""
+"سایت شما از پلاگین رسمی کلادفلیر استفاده می کند. ما پاکسازی خودکار کلادفلیر "
+"را برای سازگاری فعال کرده ایم. اگر APO را فعال کرده اید، سازگار است."
+
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:169
+msgid ""
+"Cloudflare cache will be purged each time WP Rocket clears its cache to "
+"ensure content is always up-to-date."
+msgstr ""
+"کش کلادفلیر هر بار که موشک وردپرس کش خود را پاک می کند پاک می شود تا اطمینان"
+" حاصل شود که محتوا همیشه به روز است."
+
+#. Translators: %1$s = strong opening tag, %2$s = strong closing tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:213
+msgid ""
+"%1$sWP Rocket:%2$s You are using \"Dynamic Cookies Cache\". Cloudflare APO "
+"is not yet compatible with that feature."
+msgstr ""
+"%1$sموشک وردپرس:شما از \"Dynamic Cookies Cache\" استفاده می کنید. Cloudflare"
+" APO هنوز با این ویژگی سازگار نیست.%2$s"
+
+#. Translators:%1$s = opening tag, %2$s = closing tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:219
+msgid ""
+"You should either disable Cloudflare APO or check with the theme/plugin "
+"requiring the use of “Dynamic Cookies Cache” developers for an alternative "
+"way to be page-cache friendly. %1$sMore info%2$s"
+msgstr ""
+"باید Cloudflare APO را غیرفعال کنید یا قالب/افزونهای را بررسی کنید که به "
+"توسعهدهندگان «Dynamic Cookies Cache» نیاز دارد تا راهی جایگزین برای سازگاری"
+" با کش صفحه باشد.%1$sاطلاعات بیشتر%2$s"
+
+#. Translators: %1$s = strong opening tag, %2$s = strong closing tag, %3$s =
+#. opening tag, %4$s = closing tag, %5$s = opening tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:270
+msgid ""
+"%1$sWP Rocket:%2$s You are using \"Separate cache files for mobile "
+"devices\". You need to activate \"Cache by Device Type\" %3$ssetting%5$s on "
+"Cloudflare APO to serve the right version of the cache. %4$sMore info%5$s"
+msgstr ""
+"%1$sموشک وردپرس%2$sشما از \"فایل های کش جدا برای دستگاه های تلفن همراه\" "
+"استفاده می کنید. باید «Cache by Device Type» را فعال "
+"کنید%3$sتنظیمات%5$sCloudflare APO برای اینکه نسخه مناسب کش را ارائه "
+"دهید.%4$sاطلاعات بیشتر%5$s"
+
+#. Translators: %1$s = strong opening tag, %2$s = strong closing tag.
+#: inc/ThirdParty/Plugins/CDN/Cloudflare.php:291
+msgid ""
+"%1$sWP Rocket:%2$s You have \"Cache by Device Type\" enabled on Cloudflare "
+"APO. If you judge it necessary for the website to have a different cache on "
+"mobile and desktop, we suggest you enable our “Separate Cache Files for "
+"Mobiles Devices” to ensure the generated cache is accurate."
+msgstr ""
+"%1$sموشک وردپرس:%2$sشما «Cache by Device Type» را در Cloudflare APO فعال "
+"کردهاید. اگر فکر میکنید که لازم است وبسایت حافظه پنهان متفاوتی در تلفن "
+"همراه و دسکتاپ داشته باشد، پیشنهاد میکنیم «فایلهای کش جداگانه برای "
+"دستگاههای موبایل» را فعال کنید تا مطمئن شوید حافظه پنهان تولید شده دقیق "
+"است."
+
+#. translators: %1$s is WP Rocket plugin name, %2$s is opening tag, %3$s
+#. is closing tag.
+#: inc/ThirdParty/Plugins/ModPagespeed.php:102
+msgid ""
+"%1$s : Mod PageSpeed is not compatible with this plugin and "
+"may cause unexpected results. %2$sMore Info%3$s"
+msgstr ""
+"%1$s : حالت PageSpeed با این افزونه سازگار نیست و ممکن است "
+"باعث اتفاق غیرمنتظره شود.%2$s اطلاعات بیشتر%3$s"
+
+#. Translators: %1$s is an opening tag; %2$s is a closing
+#. tag
+#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:75
+msgid ""
+"%1$sWP Rocket: %2$sWe have detected that Autoptimize's JavaScript "
+"Aggregation feature is enabled. WP Rocket's Delay JavaScript Execution will "
+"not be applied to the file it creates. We suggest disabling %1$sJavaScript "
+"Aggregation%2$s to take full advantage of Delay JavaScript Execution."
+msgstr ""
+"%1$sموشک وردپرس:%2$sما متوجه شدهایم که ویژگی Autoptimize's JavaScript "
+"Aggregation فعال است. اجرای تاخیری جاوا اسکریپت WP Rocket روی فایلی که ایجاد"
+" می کند اعمال نخواهد شد.توصیه می کنیم%1$sJavaScript Aggregation%2$s را به "
+"طور کامل برای بهترین عملکرد افزونه غیرفعال کنید."
+
+#. Translators: %1$s is an opening tag; %2$s is a closing
+#. tag
+#: inc/ThirdParty/Plugins/Optimization/Autoptimize.php:130
+msgid ""
+"%1$sWP Rocket: %2$sWe have detected that Autoptimize's Aggregate Inline CSS "
+"feature is enabled. WP Rocket's Load CSS Asynchronously will not work "
+"correctly. We suggest disabling %1$sAggregate Inline CSS%2$s to take full "
+"advantage of Load CSS Asynchronously Execution."
+msgstr ""
+"%1$sموشک وردپرس: %2$sما متوجه شدهایم که ویژگی Autoptimize's Aggregate "
+"Inline CSS فعال است. WP Rocket's Load CSS Asynchronously به درستی کار نخواهد"
+" کرد.توصیه می کنیم%1$sAggregate Inline CSS%2$s را برای عملکرد بهتر افزونه "
+"غیرفعال کنید."
+
+#. translators: %1$s = opening tag, %2$s = closing tag.
+#: inc/ThirdParty/Plugins/Optimization/Ezoic.php:45
+msgid ""
+"This plugin blocks WP Rocket's caching and optimizations. Deactivate it and "
+"use %1$sEzoic's nameserver integration%2$s instead."
+msgstr ""
+"این افزونه از عملکرد صحیح افزونه موشک وردپرس جلوگیری می کند. غیرفعال کرده و "
+"به جای آن از %1$sEzoic's nameserver integration%2$s استفاده نمایید."
+
+#. Translators: %s = Plugin name.
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:78
+msgctxt "Hummingbird notice"
+msgid ""
+"Please deactivate the following %s option which conflicts with WP Rocket "
+"features:"
+msgid_plural ""
+"Please deactivate the following %s options which conflict with WP Rocket "
+"features:"
+msgstr[0] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:"
+msgstr[1] "لطفا گزینه %s را برای تداخل با ویژگی های موشک وردپرس غیرفعال کنید:"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:151
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sdisable emoji%3$s conflicts with WP Rockets %2$sdisable emoji%3$s"
+msgstr ""
+"%1$s %2$sغیرفعالسازی ایموجی%3$sتداخل با موشک وردپرس%2$sغیرفعالسازی "
+"ایموجی%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:187
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sGZIP compression%3$s conflicts with WP Rocket %2$sGZIP "
+"compression%3$s"
+msgstr ""
+"%1$s %2$sGZIP compression%3$s تداخل با موشک وردپرس %2$sGZIP compression%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:223
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sbrowser caching%3$s conflicts with WP Rocket %2$sbrowser "
+"caching%3$s"
+msgstr ""
+"%1$s %2$sbrowser caching%3$sتداخل با موشک وردپرس %2$sbrowser caching%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:255
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$spage caching%3$s conflicts with WP Rocket %2$spage caching%3$s"
+msgstr "%1$s %2$spage caching%3$s تداخل با موشک وردپرس %2$spage caching%3$s"
+
+#. Translators: %1$s = Plugin name, %2$s = , %3$s = .
+#: inc/ThirdParty/Plugins/Optimization/Hummingbird.php:289
+msgctxt "Hummingbird notice"
+msgid ""
+"%1$s %2$sasset optimization%3$s conflicts with WP Rocket %2$sfile "
+"optimization%3$s"
+msgstr ""
+"%1$s %2$sasset optimization%3$sتداخل با موشک وردپرس %2$sfile "
+"optimization%3$s"
+
+#: inc/ThirdParty/Plugins/Optimization/Perfmatters.php:38
+msgid ""
+"Remove Unused CSS is currently activated in Perfmatters. If you want to use "
+"WP Rocket's Remove Unused CSS feature, disable this option in Perfmatters."
+msgstr ""
+"حذف Unused CSS در حال حاضر در Perfmatters فعال است. اگر می خواهید از ویژگی "
+"در WP Rocket استفاده کنید، این گزینه را در Perfmatters غیرفعال کنید."
+
+#: inc/ThirdParty/Plugins/Optimization/RapidLoad.php:39
+msgid ""
+"Automated unused CSS removal is currently activated in RapidLoad Power-Up "
+"for Autoptimize. If you want to use WP Rocket's Remove Unused CSS feature, "
+"disable the RapidLoad Power-Up for Autoptimize plugin."
+msgstr ""
+"حذف خودکار CSS استفاده نشده در حال حاضر در RapidLoad Power-Up for "
+"Autoptimize فعال شده است. اگر می خواهید از ویژگی WP Rocket's Remove Unused "
+"CSS استفاده کنید، افزونه RapidLoad Power-Up for Autoptimize را غیرفعال کنید."
-#: inc/vendors/classes/class-imagify-partner.php:532
-msgid "Sorry, you are not allowed to install plugins on this site."
-msgstr "متاسفیم، شما اجازه نصب افزونه در این سایت ندارید."
+#. translators: %1$s = plugin name.
+#: inc/ThirdParty/Plugins/Optimization/WPMeteor.php:42
+msgid ""
+"Delay JS is currently activated in %1$s. If you want to use WP Rocket’s "
+"delay JS, disable %1$s"
+msgstr ""
+"تاخیر JS اکنون در %1$s فعال است. اگر می خواهید از تاخیر JS افزونه استفاده "
+"کنید، %1$s غیرفعال کنید"
-#: inc/vendors/classes/class-imagify-partner.php:533
-msgid "Sorry, you are not allowed to do that."
-msgstr "متاسفیم، شما اجازه این کار را ندارید."
+#: inc/ThirdParty/Plugins/Smush.php:108 inc/ThirdParty/Plugins/Smush.php:126
+msgid "Smush"
+msgstr "Smush"
-#: inc/vendors/classes/class-imagify-partner.php:534
-msgid "Plugin install failed."
-msgstr "نصب افزونه شکست خورد."
+#: inc/ThirdParty/Themes/Avada.php:116
+msgid "Avada"
+msgstr "Avada"
-#: inc/vendors/classes/class-imagify-partner.php:535
-msgid "Go back"
-msgstr "برگرد"
+#: inc/ThirdParty/Themes/Divi.php:315
+msgid ""
+"Your Divi template was updated. Clear the Used CSS if the layout, design or "
+"CSS styles were changed."
+msgstr ""
+"پوسته Divi بروزرسانی شده. پاکسازی CSS های بلا استفاده را انجام دهید. اگر "
+"استایل ها یا طرح ها به مشکل خورده است."
#: views/cpcss/activate-cpcss-mobile.php:13
msgid "Load CSS asynchronously for mobile"
@@ -3829,16 +3870,16 @@ msgstr ""
msgid "Click the button to enable mobile-specific CPCSS for your site."
msgstr "روی دکمه کلیک کنید تا CPCSS مخصوص موبایل برای سایت شما فعال شود."
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/activate-cpcss-mobile.php:20
#: views/settings/enable-google-fonts.php:19
-#, php-format
msgid ""
"This is a one-time action and this button will be removed afterwards. "
"%1$sMore info%2$s"
msgstr "این یکباره است و این دکمه بعد از آن حذف می شود.%1$sراهنمایی%2$s"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/activate-cpcss-mobile.php:30
-#, php-format
msgid ""
"Your site is now using mobile-specific critical path CSS. %1$sMore info%2$s"
msgstr ""
@@ -3853,13 +3894,13 @@ msgstr "ایجاد CPCSS مخصوص موبایل"
msgid "Critical Path CSS"
msgstr "بازسازی مسیر قطعی CSS"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/metabox/generate.php:23
-#, php-format
msgid "Generate specific Critical Path CSS for this post. %1$sMore info%2$s"
msgstr "CSS مسیر بحرانی ویژه را برای این نوشته ایجاد کنید.%1$sراهنمایی%2$s"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/cpcss/metabox/generate.php:33
-#, php-format
msgid "This post uses specific Critical Path CSS. %1$sMore info%2$s"
msgstr "این نوشته از CSS مسیر بحرانی مخصوص استفاده می کند. %1$sراهنمایی%2$s"
@@ -3879,8 +3920,8 @@ msgstr ""
"همیشه لازم نیست که WP Rocket را هنگام مواجهه با هر مشکلی غیرفعال کنید. "
"بسیاری از آنها را می توان تنها با غیرفعال کردن برخی از گزینه ها برطرف کرد."
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
#: views/deactivation-intent/form.php:29
-#, php-format
msgid ""
"Our advice? Instead of deactivating WP Rocket, use our %1$sSafe Mode%2$s to "
"quickly disable LazyLoad, File Optimization, and CDN options. Then check to "
@@ -3894,13 +3935,13 @@ msgstr ""
msgid "Do you want to use our Safe Mode to troubleshoot WP Rocket?"
msgstr "آیا می خواهید از حالت ایمن ما برای عیب یابی WP Rocket استفاده کنید؟"
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
#: views/deactivation-intent/form.php:55
-#, php-format
msgid "Yes, apply \"%1$sSafe Mode%2$s\""
msgstr "بله اعمال کنید\"%1$sSafe Mode%2$s\""
+#. translators: %1$s = opening strong tag, %2$s = closing strong tag.
#: views/deactivation-intent/form.php:68
-#, php-format
msgid ""
"and export WP Rocket settings %1$s(Recommended as current settings will be "
"deleted)%2$s"
@@ -3936,8 +3977,9 @@ msgstr "انصراف"
msgid "Confirm"
msgstr "تایید"
+#. translators: %1$s = , %2$s = plugin version, %3$s = , %4$s
+#. = , %5$s = , %6$s = .
#: views/plugins/update-renewal-expired-notice.php:27
-#, php-format
msgid ""
" %1$sWP Rocket %2$s%3$s is available. %4$sLearn more%5$s about the updates "
"and enhancements of this major version. You need an active license to use "
@@ -3951,8 +3993,8 @@ msgstr ""
msgid "Update Inclusion and Exclusion Lists"
msgstr "لیست های شامل و حذف را به روز کنید"
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/settings/dynamic-lists-update.php:19
-#, php-format
msgid ""
"Compatibility lists are downloaded automatically every week. Click the "
"button if you want to update them manually. %1$sMore info%2$s"
@@ -3976,8 +4018,8 @@ msgstr ""
"عملکرد فونت را بهبود می بخشد و چندین درخواست فونت را برای کاهش تعداد درخواست"
" های HTTP ترکیب می کند."
+#. translators: %1$s = opening link tag, %2$s = closing link tag.
#: views/settings/enable-google-fonts.php:29
-#, php-format
msgid ""
"Google Fonts Optimization is now enabled for your site. %1$sMore info%2$s"
msgstr ""
@@ -4024,11 +4066,12 @@ msgstr "تغییر تنظیمات"
msgid "CDN CNAME"
msgstr "CDN CNAME"
+#. translators: %s is a "Learn more" link.
#: views/settings/fields/rocket-cdn.php:62
-#, php-format
msgid "Purges RocketCDN cached resources for your website. %s"
msgstr "تخلیه منابع کش شده RocketCDN برای وب سایت شما.%s"
+#. translators: %s is a "Learn more" link.
#: views/settings/fields/rocket-cdn.php:63
#: views/settings/page-sections/cloudflare.php:36
#: views/settings/page-sections/sucuri.php:37
@@ -4043,12 +4086,13 @@ msgstr "حذف کامل فایل های کش شده RocketCDN"
msgid "Cloudflare Cache"
msgstr "کش Cloudflare"
+#. translators: %s is a "Learn more" link.
#: views/settings/page-sections/cloudflare.php:35
#: views/settings/page-sections/sucuri.php:36
-#, php-format
msgid "Purges cached resources for your website. %s"
msgstr "پاکسازی منابع کش شده برای وبسایت شما. %s"
+#. translators: %s is a "Learn more" link.
#: views/settings/page-sections/cloudflare.php:36
msgid "https://support.cloudflare.com/hc/en-us/articles/200169246"
msgstr "https://support.cloudflare.com/hc/en-us/articles/200169246"
@@ -4070,7 +4114,6 @@ msgid "Your website should be loading faster now!"
msgstr "وب سایت شما باید سریعتر بارگیری شود!"
#: views/settings/page-sections/dashboard.php:44
-#, php-format
msgid ""
"To guarantee fast websites, WP Rocket automatically applies 80% of web "
"performance best practices."
@@ -4157,8 +4200,9 @@ msgstr ""
msgid "Save Changes and Optimize"
msgstr "ذخیره تغییرات و بهینه سازی"
+#. Translators: %1$s = , %2$s = , %3$s = , %4$s = .
#: views/settings/page-sections/imagify.php:21
-#, php-format
msgid ""
"%1$sWP ROCKET%2$s created %3$sIMAGIFY%4$s %1$sfor best-in-class image "
"optimization.%2$s"
@@ -4196,13 +4240,14 @@ msgstr "نصب Imagify"
msgid "WP Rocket was not able to automatically validate your license."
msgstr "موشک وردپرس قادر به فعالسازی لایسنس شما به صورت خودکار نیست."
+#. translators: %1$s = tutorial URL, %2$s = support URL.
#: views/settings/page-sections/license.php:29
-#, php-format
msgid "Follow this %1$s, or contact %2$s to get the engine started."
msgstr "دنبال کنید %1$s یا ارتباط بگیرید%2$s برای شروع."
+#. translators: %1$s = , %4$s = .
#: views/settings/page-sections/license.php:32
-#, php-format
msgid "%1$s%2$s%3$stutorial%4$s"
msgstr "%1$s%2$s%3$sآموزش%4$s"
@@ -4214,8 +4259,9 @@ msgstr ""
"https://docs.wp-rocket.me/article/100-resolving-problems-with-license-"
"validation/?utm_source=wp_plugin&utm_medium=wp_rocket"
+#. translators: %1$s = , %4$s = .
#: views/settings/page-sections/license.php:40
-#, php-format
msgid "%1$s%2$s%3$ssupport%4$s"
msgstr "%1$s%2$s%3$sپشتیبانی%4$s"
@@ -4223,18 +4269,19 @@ msgstr "%1$s%2$s%3$sپشتیبانی%4$s"
msgid "Clear all Sucuri cache files"
msgstr "حذف همه فایل های کش Sucuri"
+#. translators: %1$s = formatted file size, %2$s = formatted number of entries
+#. (don't use %2$d).
#: views/settings/page-sections/tools.php:20
-#, php-format
msgid "Files size: %1$s. Number of entries: %2$s."
msgstr "اندازه فایل: %1$s.به تعداد ورودی ها:%2$s."
+#. translators: %1$s = opening tag, %2$s = closing tag.
#: views/settings/page-sections/tools.php:23
-#, php-format
msgid "%1$sDownload the file%2$s."
msgstr "%1$sدانلود فایل%2$s."
+#. translators: %1$s = opening tag, %2$s = closing tag.
#: views/settings/page-sections/tools.php:26
-#, php-format
msgid "%1$sDelete the file%2$s."
msgstr "%1$sحذف فایل%2$s."
@@ -4254,13 +4301,13 @@ msgstr "دانلود تنظیمات"
msgid "Rollback"
msgstr "عقبگرد"
+#. translators: %s = WP Rocket version number.
#: views/settings/page-sections/tools.php:64
-#, php-format
msgid "Has version %s caused an issue on your website?"
msgstr "نسخه %s باعث بروز مشکل در وبسایت شما شده است؟"
+#. translators: %s = .
#: views/settings/page-sections/tools.php:69
-#, php-format
msgid ""
"You can rollback to the previous major version here.%sThen send us a support"
" request."
@@ -4268,8 +4315,8 @@ msgstr ""
"در اینجا می توانید به نسخه اصلی قبلی بازگردید.%sآنگاه برای پشتیبانی تماس "
"بگیرید با نا."
+#. translators: %s = WP Rocket previous version.
#: views/settings/page-sections/tools.php:80
-#, php-format
msgid "Reinstall version %s"
msgstr "نصب دوباره نسخه %s"
@@ -4349,8 +4396,8 @@ msgstr "افزودنی Cloudflare راه اندازی کنید"
msgid "WP Rocket Settings"
msgstr "تنظیمات موشک وردپرس"
+#. translators: %s = Plugin version number.
#: views/settings/page.php:30
-#, php-format
msgid "version %s"
msgstr "نسخه %s"
@@ -4358,8 +4405,8 @@ msgstr "نسخه %s"
msgid "Show Sidebar"
msgstr "نمایش ناحیه کناری"
+#. translators: %1$s = , %2$s = .
#: views/settings/page.php:82
-#, php-format
msgid ""
"Below is a detailed view of all data WP Rocket will collect %1$sif granted "
"permission.%2$s"
diff --git a/wp-content/plugins/wp-rocket/languages/rocket-fr_FR.mo b/wp-content/plugins/wp-rocket/languages/rocket-fr_FR.mo
index e4ff14f0e1ae2defdffba2801dcd7695c23512c9..1e0f3df5fae00d99c6d9e754da490042cac59aae 100755
GIT binary patch
delta 4148
zcmYk;d2m+M8OQN+QVD_qgFvfIfEW!LLG}<5g|Lb2$PyDF$f9ftfdB!5$R+S1X*3HE
zWQU+2j3Y4uCZq%?mH|6}s7MP&86q7i?F{YE4wgz|zdxV%kIpdjInQ}>?>+aN=Xox5
z4Uu0qL{`Se1?`=4@!h
zLoo)&qwco|dth-m{yqMhxGu>D?jZ)ZnP`F0J-z!S#^WzA1>0h8bo|Rg-Ed;E|M|LH
zOeQYD&UhMQ@dtbcTlKR0jmP(ib8r>Lrg--tmZt>X-OHeciKh4ow#0Mz1lFS#5S8j(
z2kd|&Faxu24{G5NPkGk_TVX3~i`tp)sGaDCy3a%$ip%gtJRLC5*0g`xyT@??>P8{V
z#A1xZ>(~iz;-lE6w|70UKX$}C)b;OSZ#*B4oAt5zo?$29WPUHe91LzSn95*6ns?Lj
z7|zCozT^N~z7F-~RsFo%h2LQshWdNg7f<2@Y&5{T5Kh6d_&sjL)Pdgp0sn~mu>2YC
zTH}yGKObe_CNa<(F2?4#9HX%al?ywt4StOM@B+Sut)KO753WT$IC-!oZ7n`Vd=<50
z_YScmN=6;Q5Y!RR#I7#jEEwc7QGq{Vm!aNG!j8kdJBn{%e;hj8JI{_3p>m~UgxzQh
zDk&>axpXQVpGQ^E^>BRONK3v)uz>l!*pBDBE~D(tpToYylfrR1Dw{ttLk9sbC}|Ebh{rmdhYhF;=8m-mm7|WR
z9#yV?2^%rayK%&^sB+3doqZwd@2;R0{BP7wxODFxhDTBNACyl0M=@B;L<)v*G#T58!+}hO1FWGcdz`ABEbvEKI=JsOnjViCCRM{cED036))B
zrX^c6>Oq|_3DZ!GCKvU9{irHAj7rXg7i>!hpptYlR^U6Rof$pevi=p+f>)rPw>}6@
zY)6$*B`Qm!CU|!hJ7B%yENhuJQ4OZa#Big*8^qnQ4BNbDjpqRBjDLsP$!~EG-ZRO{
zcNl6uc$0zN=m4tRj^bwg3ga+)vL$B;D$94EdUqA-&Az}V@vo?=d2ot%Rk#GFVCSi}
zptYz4?L_TBEwaObJI^4MiL0m_hVP$8&P2X!
z{U8RluyWLWK0}@PbzF`urg^tQ^4wivE3`yDE43<;>1_I>xMJ&
zdEAOB+gqrG#>}>br=mJu2I__0K<(ICoQUP91vj9+miN!0{#9;i44%ccI0`RgCMITk
zmyRn@<#P$O)eWexUaPtGHEfS*#0yb7bO@CzCs5^g8C4}WP)E^to*6ff`d8ygVL}Zf
z3-tzzP_1+iF2D-xf$=%^;0%l-o`ou-LR5n(!`^rpwR5*o3rm`BaV}0KK7=}&)(Zk#
zY3c&+PBAeCWALGcc0m$OCtiq+unx~)Jt_zG=Xy5)KSlL}s6|%Bd8nPdh}oF1*jjcO
z>Zlt~RkkWvVlA^xo_EDeleLo2Jtvt
zg0Z?G3GE%fdX
z9>lx|%I{6v^6!fHZZqGg*vc{i^^M3xEwmWvW$tZ!iug{6!YJ$N^&)nAl6-*sJU
z4WtOmiK}rCX08jjOjMH9qO#hp_wIE_!{K-o^?TDYd*DdyOI(QB*)ynq@FnVKzr{^>
z8w2&^k_~poAK*0N)2IuceA|+(7ZwqRa3wyl(OUKfRQY|5E%9rN!kgjwA5o2~(IzYJ
zUa0CCgIY-TChA{Xv4#mH%{5fRiQa4##j$R$0ReFrWBcRPrTM
zhkwT&Tpyqs+aca!it7Io10`K*jkVBHEF>QLTWc&=kWS@>AF&3q6qUu-P~U`~P-WJr
z);`-&sPZhuJZyf{yZu;zO1hrMEO~RJ>OYTxk|7^;1f{62-(LLzR-%&XFh=7^R8?F=
zJ@`5{!P9
delta 4175
zcmYk;dvs1$8prXyQ%%Gru0h-;GOn#An#L_E32{j^p+*P|k(b0}Xk0Q%LUKqLsft0A
z#Jy;X!Gvk0p{dJqD`QO!9Ubi$6kSqXW6U3>!_<6#-R~b=%UYlP>^J9}efEBy=lIKy
zfnWU?SlKq*d(IdW5p7KbreI5)jlaYatY?kchsnfMFIjUL>%>?y4!^{P7~RvEfQ^WU
zV;jss-7g-?e*c>BJJJTDr6N6Fr@!>FBj2U>rW1y{h?qzGb;zZPqN^mT$
z#X$THBk>`2#18$f>4ihEI~Jg>-;4e6vOjJT=jLPmPR2}rUx{xJwSbzz{dr(JI
ziz?TD`K_O7O)7CGR5|6N&b|!wci*BGY)8AD2*wV?FQ67QVl?&NfWcxW`eG@L#Ix8L
z!^XIBN{!sOs5--SBuC^{9#)Xu#Ay36`p)PmnaJ#Vw;
zpLictM%Ab+4NbS^2FBn`#p7Mee1vK+O(!_J;637(aUFKfaE<3E>Wn`_?c`k?f(<9S
z@=Zm}d+QkJjgF$q?F?4n-!UBLXS(DpM`ig3sNQ`H^=8-b1^hRvYC8C=IgCrthkYiw
z1#LtvXg6vHP9r<)nJ*c{GI0-;105&3Gs{3dAP4op<*5F!19db9Q62Cks-gUV+L=aK
zt{-$nEo=|!K37p^{s0THb+$E&RsR(Xv;(cDxD|Fn9l=1ccPN+6ly`2Pz$+_
zy7B+;EOwdds_CDo+-f?_np4;tU&SXl2$QC>aMgb)gQd6=mtogmyGC&UhIsglXxDdV`+ig
z@<;e0acH46D{&~Q?ysPd(0lA3B(M{z%VnrDDo1VULDZXmfy40u24ehT*Dr?PRN@J^
z08e9gj9cRBeg^g+&ci6&i$Qn|DNoPbVxSu~F0$sKHKrx5Ca$;CeS9{dF8CVNA8z9f
zY`@H9{Zo8{xb1J<*{{F@#OH7t&R_15^ad)9EO86kfS&6A9D~jLko1-{TksC{!QvIx
ze2AZ5UI69yw%hXWO8IUxAF|4oWhCkw;X^HS1JcXPHta_nu-fH79BL=_qgwrS$@5L@
z8rMM9<96cXI0Sub{VfxfWT#PC9b9Hj0VZKGofb|9qWtw?iSQ
z@*aSyu5{Ew=9g3d+KSaoC~5Aa8ctY+`-BpM)ywN{
zbEaY$@pi0_G231FC7^O81J$YvQ7^CsL$K0gpc@@SWqtj3-5YJjABY2YShEeyPWKVn
zj#^OmF1O|9P&@ZEYU_jFbN}~ifgOkk;zi8D&oTOa*I}Rez?%8QUNi&s^u4GzKaP69
zRaEbe-R)ZMFw~iO_%YdCj;CYC*$3v?hQD?#GviD?hSk5#Gkm=sWBhRtYX4
z-iP{XMppTM#~7|JK{d7--omH)zsW#JmsssuXa%ky9)H9&mT!?xWkw%$4Wt;A#rIL)
zgu0)&G7G_C;!sq1R$v~stg&W4u0bVT{HHE?^QG#)h=Gz}1?mVYP+z}F{Q*{^lIjFD
z#*3(`xQ?pt2iOoFVFW&V%;iE?)O~uQsv^!m{|eS29)rbCqN<)m*|>m^tnBbfzR5GD
w&Yd+cCo8vVP_$jwrfpVs?$2k#6Gx3Q$-ex&wEfQW)1xYwNvwKOx_gEY6PX;?T)
zEq9Kz(#*8d+&Ob)j()HAeJ;Nb|BwIm_#U3;bI!T1an^N%eb3zXntjX5^;=<&`4-2k
z9F|oI^Ovx!mpLu#MJ<(D*8OIdbrK(7QQQ|wTRejc@ux7$T8xR!Eh_@OT3FUo?2f+J
zxus=sN-G|V;JY{s=OLeWSzfIyYZ(QZ*d3d+wyas0fuEqWjb)X_{a6t%VNcA})|@yR
zOA?R8LO37W;W`|L5AbtLqOcJ<+gny&?1kOAzO|D~J_jG}U|D6bbVqaNA>o$QkcM6H
zEu4+|;4wUe)jF9cd4N9=$8@F#`FumV;Tdtax9uM2Vp)ZW}y-gwhi{8z8?nSE_CTa
zH_3Qnr6{@;YoKnZ9*)N*xCM8hx-_0~nv8#93J&aH+Wm~G@5=bB#8db&rgGKBShzPm
zjNurDiM{E6U2qEpKKLaT!NaIA{T2Q23HqbYJ7zA_K(%X+YS$Ml;2123nV1K+pw7Po
zOW{6TfEQ77Wq2R@-Gejj(W9PKv&ZrA@
zL*|>6V8^?$DDn5`i&wB0zQ7CEeSo=PSG^d^V!2x_P*2td^W)ogd0*7f46y6d?D`3)
zIrARs$v?zm_%W`)FHmzRil?ZKeXs@2#L{>I>uUY~MMftm8)v#S5S_&Buq+Nnjoo{w
zCs~K;k-ey%I)+W~BI-u{2AZy}hK-0DV>29%d2u^xNcUnXt^admG?tH1%f~0)oTxmO
zBd%xL9i7BuZI@yq@mCmtRR>vCaqNI)Z~#`sN%$77L#Bas6&VGqWdbXS>sxEd=mrW5
zwoinb?Hy1z5RV$;_fRL!MD{4_Yg~hQhnO4Qic^Wd!3b>4-DwUi#9X)u)kE7+J$n#c
z4ai(2qpmEKWGVtt<(;q!PD6G57F5?A!t(e#R>qt|P0v)vK;n*A9min>T!*#sII>Av
zFEI+klj(o<3~P0=`QS^`GOLkdS^Y5`nW)xv)EKuPW_lnUoy2P}7!RSk_!ZW~kW|YW
zfrGIS{(-uYzi|@!rkSByoJRi_pkONnU2rdYV&UOtHI%^I#O2TjtD|Ob2zJC?*bdjB
zdg=jsU`ei?7t7jKLvP~xsPnZz&6SQWGX2TKU^P5|nhW<(7tA}-jGaH~Lgi6&Aqn&2
zBvj9QfV%K^s0)3M-S8r6i0Y0qJ<%JB5hq~>bWI`S{s3xHT(o_O^@vN4cCS;b3)Ub`
zN6q#ubmAFQk32zjb^0u3_W;`<%t?J1ss~%)hZu!=^6RJ@eTmhy{tHepUDO!WU;u{T
zXw(V5K$f_52-za6z=>uE=A)L?2F!!oP&c?6%ivk`#mA`C;?1>MVi2n9N21ECZ~2iA
zPobXt0_tV)5Ot!Q@0u*F!3g$|~+ZX^gJunB51&qB@qkFY3aV;~+!
zm)7ZXG8M7%WV7zWF@Sig?ONL-IDqn77>D6g%;e3&KEy?*nwLx}?jSya>VfoWmc?|k
zGO;NZPdC@;mQMe-r(hNZG59koZZh4nScz6TF2;XxHqM)2hNRp~GdJp@7v-%{t0ElL
zbJ4cLumtfW)DthkSUie!t`+zmKf9CJ@}3zxulLPt4nTdN8R~>XQ74*+nv@H%E^fr3
z_#2+U@LA?9=g-}8&sINdfYw$}m#w5oavoZLhF62aiY=nBUZpc!$
z5-$w?p4C{6*gM1AaBWN>Zikg|7Y5^H^u&_$%#AwHhqyYn&?tnE(Fxy0jr}6j
z`ur1h$B$7x@e=h!e)G+2u7}z;dSZ1Ph|TdMtcYi@06s^ZC+`B&zA)w?E{i^z1y#vp
zQqUOl;xBfCD|UPri%|Xy3#0c!vjI7=m_COd7=gO+ZdefGF%U;#HC&52|7q-p7qA%D
zw?Y<~C+vb6lcC6bvUXz$Y{L>Liv3YtHv;t%Nk?694tB$ps2h5UKce>%^HuB;s(kWN
zb7PCJIPrRPeMx37nKT@^%slBW^e29W8vByV%|_E0YY?ZP#(p`fYxkjs;s}n$GpGx8
zqFYrTi{6-MJJxnaCjGCmTR=f1ev90^Rs3Uq`@yZKG0d~VoUjCH2m(>%Vb}m8P&YOm
zb)oI38~E1t9BRz(qCWQz*27#Y>3?-a$V$^Skr+=LgB9=?>Vo&NJm&nwyaOs@9PtOJ
zCx3*#=vZaGtoosDr~&$64C)3ZpoVffYUq}^?93KiK*2uLop)btPMCyqiKn6Ve&01_
zS#?F7a2EE&1-AE5572(C*$+O)s>D~ZH5OcFmUk4EA$AQX<0O-T<#9Xe#OF|5bs6=+
z2dK%{aJ_jqw8JLELof)}VHo~`9ngP+`CL2(5N|>CB%<2?W
z7mcyw4^Uma5Y?5dQ771g+7C{ldh9RMWOaOMCS3q_B(92;aU|+InOF)x#oSu|N62WI
zoyO{T%eMF?({;_UHsy)f0+*vsa0#`}Um^3>DzMpHU^D7GyRaKxLr)CZLN8-;^v1L3
z{{8<7nFtE}KQlXEqHQ+DP@ZF}dEXDjLBv~eJo;@jd-(z!Kzs+oG2(N}nt_?9IaN7}
z_Xh64+E`_~>A9ZhYD>XzGK=tQ?1)icm{qX~)pfgYFkVI{hJR@;G}QJh%ujjVY}1pz
zSem#ts=O2GyuHy2*Q0v;vuyfb>--1>sTi=sbnQIUWZ8zAln1a9-oRW~aHrW)eNiWD
zjt&RCgp-In>@xep3Cv6EvD<9L1(AhhHAUUvpSv0Vfn*$CndLGFbt6l$3l{j=veZM-
z*b6se1@zowcFbxxfjAS@)ur~DUplieh4>Ek;KusyGm|s>8}ooaqaN&$i%bkyB`0k{D}
z(Ut#@nXTcd6OF-OT#lZ22GxbXqK4!e>O#-Z2ge*Xv-v&LjV(g0iqlvhFQIzQ_lWuJ
zHx>OdprpGv8iEqmwx3IGYc4!9sWo%is&FhW;na5Vl73
zP%_rU$*3XPit5qaCyk-llz23@(uK3h%*2H0GS{%UKoj$uosrZN%$!)!!6kM
zCo@N$q9&358Pl~BQDd5c-EcGJ#hhnNPZhvo#5K{=!7hsWi)*`|>G%vX-Oiam4BY(1
zoS@Np^E=xd+{6c+znVKgfi;NpUNFCS1Y<|yMYsa5VoOZFXgr2ph<$!DU%z8eLstEF
z^QW7r-|7D<6zr!!PktL?vB)20s~nBxh&Ny^ZuB^+XMVb5w(NV@fjIOsD+Xs_GFJQ3
ze4$x_y5L>ZT=2VMHlAVVK|IGrM$2p-j>9E55{qBuDR4GU#-i8EpHLT~X73NS=P^I=
zWz>z{L(TTW*UcQNjG8-5uoOn3+NYrAmTLkTt@{O78+V~U{)M?P*9|k41<{MRBdCOeb^DoXrc}ZMCd57EP?RX92iKpE`>hB;o=CZooGk21NMQD(YYj6p!
z#nAh_nD9Dkmaloh*DfshH=7b>Vp$yf(CqO`P+ff#HB9A+!k4`hO9qkUIhOp4T3FrR<+!n~}4UU5TQ->UncnG~I{J#ixH!r3?&^IH!0zAy^4jHaN<7o#rV!K-f?
zPRA7V&f&1;;Y4&{k(}o98R$d&F>36$qDx(Jl#C|F6T4~Kg$48jQF#psE*P;=rw
zYA*bP>+wI_i|bk3+QyoS2rwA>E&OYTW-hs(;MV0|8k`**i@
z@;cmG>&MuZ@;#{8nv2~+cU}~A!xd4JHq?$|Q4iprB>qfX%GZMwWR>PA{)9*o37*a!VE8541)UH$}h;oJqxjaR~=#K9Pi
z9Z~1s;v%C99z?CvQ3W0D4Py@KiFctI9>be>8H?a?A9KM!FduPvAu~ihu_bXo)KINP
z-QXtdiHA_vaTYc`>1s%(ECrF6ifKq2>l*5g|0&{d|2fUOsOf=1s4gsnIWZ7*qjl{1
z7N{GHK+Tz0J06T>h$rGnT#mW5{u7Hi+<&JZfx7e0P-FQB8)Kp3<^mm2<$bUgj>SOS
zh#Iu|p%15gi88$+=bYRJ-2H@pbLwLUhG(T4F9^J3=`<_UYDKk;DHiPBN^
zOHog_7Hi-x48rSJ75)6ojkQ3nhE&v0yg&_wM@e(TWl(<$wAzqqieqp%?!b{))8FC#
zlNI4#7b{~ORNTvs$Dk(LO4Kahi+%ADZpP5kX3X#6Vq!1;l`|4opi3LUBQl!R
z-fVMvLSHP0Zc)aM?e-j;p=4);IF
z#09Yat5L9q0yR8^5$IXYVfDu-)RSam7#1&YcD^1sns~o$NCngG3)GDlt>|$73KopP
z#4)J-WGU9cD>wsvE4fV9tf*vmyd9WH#ZA;!JEO8$UYR(6cq3{oy{niVuoxB~E`=J~
z>Zk{5g;AJ-F?bl8tG=qk{q`J+>hUxe8BMMUs1tpJ8iJLm6K=v-JcL>e)vK8?9*A1U
zGf*d5f$F)9s8#YDwPBU0ZZ2FAb^bxNqcDZol}@HAnWv}=2GlTP-30p+cedlLs1qJQ
zjrD0%mp((?So4}@`A)z}#NXQ9L?^LNpxMZRumW*ge5CcCL`Lg=KrM&$5Z7TVT*|iy
z^~5Fg#@nbH_!sr$xq^&kQ4bJ|TCUMp1}C6;Vi{`k?zHPqpnCi!7T5ZJMdl<0#p;+b
zzk=E*{zXm7{B_MF3PbIbV^BA^7_~M3j#Kdo4##ozO!=eJAWfJO%sXS!|8L%^dE3-6^EkcP9$n8pMfv%Kh$J@(aK@X!7x{Av&Ejq`xN-JF|*#$
z){K3A)NFU6=0HQ#H=r=o*uR6?sK%mh{6idudE1#)FdnsvmZJ8DwRZdz_28}??ak~g
zi@HE{jKzA`2Nz>Ie2UsI!aA7s`#G*7{u!&FtE0K0^{BaV2(>TVLiJe1aMPo0QE$!5
z$Q*N71v{CoG#m?3(G@jTvDh0Yq7%1Viy4YQOM`FmVyo
zJEJQ$z!O+l)70Z_a|6DpWmN_>hBZ)K+YI+&H`IDA*2Q#b0BWD8fx4llsQn-cH8e?B
z5#L8GyKShU+l@N^S#jFsG)6x>DV3hx!-!R{?+9ky-imaMs;Ns)K(daRk16+
zgA;KZ{)$>wv)?g8=F!J=d12J&YNMXKB{IpZDAa3t9{S*3)cQZwhxM-u-lRZdECQif{{26urCjCthN1}#oFlu#t;3A_j
zK8jkWS5Y6hkD4U8qfM9l<3{2JsC9b@HQQg|E({o8-t!kw8(G;HGyD5tG;t#8hEAeZ
zL7iBK`_FT(PsxN)a0&Zk`8f0bo{D;neu|n4-=W?GS5Q4wc%XTrQmAEG7u6GUP+h$W
z+u=!UjwRwv+#7okufa}Q|F6hs(u5B(T|XW*Sw6t_n2EZ~gz&C+dsKIn;Tq!TQd~w9Z4OKJg&b2QyK#b1Ujb&Z3^^8n(hhLyX-~
zFQety5wBnr1|^yuat3NBH=`!)LDXCtm1I6Y3x{i2{XoVO+YEJBUtl=uMsg;bmqjtu
z81}+Q{0i0OJ}KsRz(myg{skvt^I_)q{{yIfq-Uy`lt)nKshj4oR^fbf?I+V{xOsWJ
zM8?D#HNs&z@epbZuj5t>8fh+g8MQNZ9%WWR9BMhvLG65Aqs?zr6>P_&hUh2Mkles3
z=rM-%ugO(&jJZ%7^dg>%YPbmd;dXo%i;gw3em-h-?7;GP3^hdeQ1APa^!q<(O=Ga3*TqH=g3KR^kX3nNd0TO=PNBUUSmT6Ml_aZhv4MEHK^7
zkuWUJleEFQlnMcfpl1KD*=Ea~iCXtdQ0*QftI1{M
z{lNUuDFW4n*{GeZ^c*uZp{Qlk9`&y1XO}0To@^9qa;?S!xC6DvAI2_t4g;|Ihh{$s
z#{tBPu#ndOb223;@SbZXRVCD8EVTsgI%%20*Cw0@JXmH_giRA
zR1wuv%~4Mnhq}S(wu>>G_*2wA@C-GX2Q6|~f8!Z+y-()IVu$|K|b_qb!J>5*_$
z7Y{`BNQNCRMP2X+p2u7G6CPYI{b+A`Uutf
z4^k_Rilk%i9Isr;Rx$1&BppW$mLG8tdCd{^+Uuh-nXc3=BK4rI3(ld8-S~gU2jo5{
z{cM*sqb^4d)?YFit>asydv>K@Dp-9uk&bZk!%1C9A5qqyvNo#V=s;O%%6i#t)y-d%
zXHL4mFKltQ;@d9vrhG2tH%ZOOk9OG~x=cZJ8jK`n@>?(M@~xBw6EktGBjhh(J$!v=
zs7}+i3*|jgTlLo@eKFZgtk=6XBOP^Vqu2Qb%9F_J(EelnryusQhRRoVeiHc;q$$KD
zFcTZtb=~a~>>*}{bsvpsqoWOuz(mRqldnKxA-VrLa*gtqcKhfYTz>?W`6%eDPja*%
zUPWAzd^z%4NZO=wQKs#5J@HENPw`KDLef!|xC(i8Wd_##mlNm7FD0)dn|vziZ#zEh
zE_FXY-)5;`^RoI=`6(&eU1@&Qqr4Z{=cI7z9^h8ghQfwv|AZhkT;V#m@
z)V+DMCpbfTiy5<9cSo7uWTUK>#{cP(GXDf@~t2c9PB
z{hgSZ}&?~*Iop<;D0D^uL9ZWoD{;{T3+?feD1B$N85cG+9xbqv<{
z>piWbj9uBogjR?hJ80}rIz;(h{Kfuo3A>%pSL&stRO-sBfFqeS);`B9^4`=f!Mv2c
zjql*cT7O5V(3|Tg3YuX!Nk7QSmKTLpObGy
zSy8-C`|hM3q`ssW%5Lg|v7~=Ud>wOtGrdjaeBw8c=G5J_3+lXCLB162E8t~P1M)wT
zd`ag?IzGgCI1BaV38z4kH+=~+u%QTUUhlwi=>nPp7O8XsC$R92;#kVn>*wikZzIwrLG%EM;z%WZ4PSu
z=abn-gBa|Lm2d_P{=^QLld`jT0Cmi!{Pi(_vPZ829Af8-;ut&s#Fk$ztUaV@#MiJ0
z9^v;7>mI>uf=+hBsa#+#`SO%sB`qg;5SKz7&v80!o{@6dH**V5P?r<$yIV17v8w%<
z`S=I%TNq9H-2U7j`u;bLiqUq%B;vxvrASZ6e~(je6+WWPWV>B)Y(%O?osM}p*<{^6
zAKLB85>=({3KmAET^>a~o8+3ok4~g>G?
z4JYDt%Kc3fYc=tH(p>6vTqWfoEE@mOp`>Ps6}
zL4N#4x=z79k|tz(l8(12KaUGA&|UKX|Cm8t2fKY|tWI2(q$AWe1vgN4!xUSS@QkT*
zS?`nCZJ$8(g~-24`iAnEq(kKA*!3-_zfGC1%1L!8UqqRoKKRD5z|Ie(zBXwnX#?$-
zUK@{7Tu$;P
z-;TO8(kFJCew4pH9+3Z?@(CLM1cLko^)a1vmUM-9G3qE|TLi1y`S#Suldp)ckDu+j
zz7$lVJdpGSc~8nWks1;QVG;W?%c*l6B;7`#FDmWPCaA$f~*X{WEfHb7t+|8k#ffan|E{j`~@5Zshc+t}8pkoZ$&W69y*4
zMDJg>e^s(GE^YY!mCoql2_vJOLzA6J$w_fThbL#0zSDAH?e-3TpRf_blT(H#BqfZE
z3#?eDLR!|n+bhdtug&L3DYWodsv}=^!7`2;K9$0Bf>dWpbZWFSI?a8raYNIbv2o6U
z+$?8`byVN9-)X6)^NroMyI94
zxf`nMRFj;vfAi3UP$??t}xOO6#9Q7XM%SC
delta 17055
zcmZA72YgRg+{f{IjTng$d&Xbvy@Mk5-a>2=Nu(i5BDVgm+It11v^F(UrFKiv)~MAg
zYL!lkqG)NK&-b32=ka>(tH=BN&OLXXb#Ic+`OW9@eIM_QJeihQZ2x7jtYVn2kY#1b
zWLbXIRccw~n^@LatbqCO1^$aUnp)O!^lN5WU2p?F$LClOA2zovPGx0jVOe?6gTt^k
zrs4)%X<1$?xTR(Fq~IFP##*f`>q9(>#WA9_WtG8+*c&&ZPHeZatRh$h{jmm4ks9u=NqBdpTV95@tD5PyYw
zk_DYC>k?+{Ov`cn6?{qjjOK7!psQu&AsWO{EQ@PcV^Amf5_N*C-Oc_G^d(+~d2k)-!h2oMx&DlODE|+uVxJ!7Iy2ClnSv8!
zvfyd-!Am#}ui6F^3+*i>tTpSPc7mBy-=3qvp)MxY)n
z4vS$5F2#kYF;k&G?Vp28gZ`#sTg*z_6?0-AEQB%0Ls^qhC%%rl@K31YZAO;r=R#W9
z3P9apGVa7_s2i&{(6mGwRM$m&-Apo`ra-aotV5V(MdAQd#bc&g+!WN9SdO&5wF|GK-yn0t-e1XNq~HbW$zGu!`b3!Wyr?cJh}vHswZA6n
zh8m-uyd~zx?zjerpvICfPf-c;U~>${;y4LwY5uPvqZ3?0HR+G&!GEy?mWVQa*BJFA
z{ZK739Mw`2umLVa-RN0VQ{Tk;_z)Xog~67U9b-^kIvk5}eQORGU3d#>8hwE}(G?8D
zUtRs8&5c!a?SirFABH9I1{Of;ZPUjEu?%4lHo|_$FtAo2yXs&PdjWIWH44o5U
zQOd0$<_3zP22*1Uzz__^Bpi>sume^bYFX=X9O?lAxw|P?3%lSx)R@Q?X9jx!dR4J3
z88vlX48oqMrk(4SuW`$dVtLA+qq@QqZ|mmLl$o&4CH1Y4<*c;R|GZTD^yvK0kM17YhY%af*SoZF)J>{+_(xgnzy66;54?y
z!dy))6@i&>HfF~Kt}8JI@kTEhop2B81`cBwUdDl{o
zL0e|DX^GaT6GveI9Emq^F4n{NF}%odBR0|eA2!y^=iR6$IPCg0>I7FX4?aW<(hTEF
ziv(g};zn-V6LS$KxlY22#0ya^w-o2&M$`k>W9s;8{&ymyrVc|j%`8-fG;D}pqE6uR
zj+ws&F`9S;vNTvXP+icHbE#{3qsB@&YF!zM0XP*4;(F9)}l_7hHCN)s2hBW8VfZT$#rlnR>NJW8@Y{L@ORW;ZaB$|{$}XSM?o|h
z&C_wHdAb#~a(#zE_!>)M?a9Va*HJi#@)a1RdKiWgtUCSiIQGH7cUgRJJgNnPraI%(
z>NJ)152oM*1-ek?Y32*3Ax02SbK~EU8EOShHy@o_a1L>c8K!G4pvK6L=!1Wuy5u#g
z<@{$FOJX778mI?uHm`$&%+h)0Nj^Yz$!^rTa1x8+H>fANk0Ve+
zIT1#p2H7vD^JHAWs~K~m;-;wm9ncq}F$*SRD0;_|=|JWJYJQejXj-Hf>d6n`7`%oh
zFm#cb9V1YEIU56U9ja+hqHgRKmcy=#&5}GCGZXK^+_)EM8LxGUj85dY#Poe>%tM@j
z{x}JB$BR)du@dz}`>-@#L_d6il`!*C%W8%-unZ2zoVWsYp3SKGyD*zN{V*Bb(J6c%
zzehFQs8ln3CZpmxm=~9!Ztx@20(1oP35zQRhp;>vP*3<6)g?KWvlw9?EQCK{KKu`L!}(U2F;WI~!K&B;o1o6O6ffdOxCSS@XUa>i
zG&fcky#?6On#?CS0FyEQD)Xc>P&c#+)%Txb9sC|EV=kIYecuq(v;$F18;zrIIO;|o
zxcf7%HVd4uYvI+jzg{-wC{W+k!4M2b9@5%_y|D8d(}$Z-C)|tbf-|VTy@f&e5Orf^
zKQI>xLDdg;9f{e9=b(;D{lIJ9Y8xm}OI$yJe+0o7tNu>`KcEO-<<;3+JJ`9Ct}X@t)Ae>*a|Ks0Ka
zC1NF<;kpMa5Z}h?=)29V=?zhRJOMRkRv`o3+J=7EVY@j`Z|p(*E@sASxCn1!4#uCA
zvcrtt$=HQ>Kej{Po&3;%p%{T_*cJ=!a(>3J!f_n&R~U+|cbnJo``D4#PP44(*xB_8
z#t?^pY#!um^s4Dzk!gbk_prKQ7dH+QpY`>5GSH*7o%sd~8NyNudO5J%aU#Lywxb;e71HjoF`>!P)0?^MGT#Wb|aISRN0cp5!jl
zt=8{Y8&@4;O~4DN7OQ#Oysq10PvR-4^IS)siJxN4Y?^>-$wL^7S5XgG_=FiN-VS7%
zP_P3v>K~y_RP3Z#V47fN;!&6#-@!aM19hR5m>Y|oGD~h1tVi4cH7kZ=9h`!Fa6b;f
z{9iiL*lP_ZlZ}G8s1q$iU)=1L@4?cbX#`5?p
zs)h2LH9vfoL3L3G*2S%^KVq;hSo9np1=t5?;2QMBir<*ma1g4`+hIYBz??W1b)z$}
zHLk!Iyo3F*!+B>ISX*!capDDj8p6le5T{(^fpw>!ktvCn&-BZxoNuW
z>`mG~mV%cQsP6{fGEY7aBZ)u3>R9x)`O@itS-8;zRLhLKW0vfN*q-=DT!qzsqz<0J
z5NveUTyOzuEF8q*n9qC9d^Fa?%oNncu{r=p;HNkhtN&zv^|}||B7W;Sr
z-^D;&i0YC(m>0i7jh!1<4F5va_vZb@3@#6Mc9^l=TTi(^lzphrs5W0T>wVjunmCg2AX%y_vW;;K#4bE;m3&mz^
zL-{GxDD`KN(47aM`mh>mu(osKcvQ>GKt0H6*MnGq_qd$(v!Z;6OakE=qAg8%-dDH{6!hF~h!!g!N
zMi)4Xy5K$3JWb7IJ1>iv$tVuswdGh6PXE@=6iK8{0m)o5&iUR0MIN8R9Q
z?2SL6uH$Wz$24g#EI~msCgCEaj^&fr+;O3Nww00cDySByfw?f)E$@W7(QfYk2+T{I
zh`OOEZafnMh~GzEfL`kmnXDAd&Tl)POiNIAeh$@_`3l(1idO@5fml@ec&vsiuqu9q
z>bjSx3j`LlowsCDRFikXCK!e4vJIG9^J5>Gjud=}S~v<8vYnMK0riAquqe(%ooIu*
z{{ZRdIO@r2@z=(3*bNnrapUEvQT`cfl;1?HbarvuT7lhh06xTR*onV-dNl}Mky(!U
zSmr`-J8FT*;4!1TC}t-vgMnBbb)zAu7FdX7a052P)7SvBl{7cn64gR+s0UqvwNPf!9rdYbPSrG^0DB|<3?aG*X$51yO
zSk`tva$90u;$dZ(|5|7^Q&1EC#OYY3oS7cmu{!Yyd>@~q7Mi8y&2;++2NCZ>^=;7#
zW@RjeIf*Nxrd@s11BGBHzJn2X*-NIGDpa(c*XcOa!ZHyx*k++lv