Real Media Library: Media Library Folder & File Manager - Version 4.18.23

Version Description

Download this release

Release Info

Developer devowl
Plugin Icon wp plugin Real Media Library: Media Library Folder & File Manager
Version 4.18.23
Comparing to
See all releases

Code changes from version 4.18.22 to 4.18.23

Files changed (33) hide show
  1. CHANGELOG.md +11 -0
  2. README.txt +1 -1
  3. inc/base/others/cachebuster-lib.php +1 -1
  4. inc/base/others/cachebuster.php +1 -1
  5. inc/comp/ExImport.php +1 -1
  6. inc/comp/WPML.php +1 -1
  7. index.php +1 -1
  8. vendor/autoload.php +1 -1
  9. vendor/composer/autoload_classmap.php +2 -0
  10. vendor/composer/autoload_real.php +7 -7
  11. vendor/composer/autoload_static.php +6 -4
  12. vendor/composer/installed.php +1 -1
  13. vendor/devowl-wp/real-product-manager-wp-client/CHANGELOG.md +18 -0
  14. vendor/devowl-wp/real-product-manager-wp-client/dist/index.js +1 -1
  15. vendor/devowl-wp/real-product-manager-wp-client/dist/index.js.map +1 -1
  16. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_AT-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  17. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  18. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH_informal-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  19. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  20. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE_formal-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  21. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-hu_HU-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  22. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-ru_RU-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  23. vendor/devowl-wp/real-product-manager-wp-client/package.json +1 -1
  24. vendor/devowl-wp/real-product-manager-wp-client/src/AbstractInitiator.php +9 -0
  25. vendor/devowl-wp/real-product-manager-wp-client/src/PluginUpdate.php +0 -2
  26. vendor/devowl-wp/real-product-manager-wp-client/src/Utils.php +19 -0
  27. vendor/devowl-wp/real-product-manager-wp-client/src/client/TelemetryData.php +73 -0
  28. vendor/devowl-wp/real-product-manager-wp-client/src/license/License.php +55 -14
  29. vendor/devowl-wp/real-product-manager-wp-client/src/license/LicenseActivation.php +78 -0
  30. vendor/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateChecker.php +1 -3
  31. vendor/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateLicensePool.php +3 -19
  32. vendor/devowl-wp/real-product-manager-wp-client/src/license/TelemetryData.php +119 -0
  33. vendor/devowl-wp/real-product-manager-wp-client/src/rest/PluginUpdate.php +35 -0
CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
6
  ## 4.18.22 (2022-11-18)
7
 
8
 
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 4.18.23 (2022-12-01)
7
+
8
+
9
+ ### fix
10
+
11
+ * import from FileBird was not shown in Import tab (CU-34gack1)
12
+
13
+
14
+
15
+
16
+
17
  ## 4.18.22 (2022-11-18)
18
 
19
 
README.txt CHANGED
@@ -1,7 +1,7 @@
1
  === Real Media Library: Media Library Folder & File Manager ===
2
  Contributors: devowl, mguenter, jankarres, mrguenter, styx
3
  Tags: wordpress media library folders, media library folders, file manager, media folder, media library folder, media library category, media library categories, media category, subfolders, file manager, directories, folder, folders, organize, media library, enhanced Media, enhanced media library, media management, media directory, folder manager, wordpress, media library wizard, folders manager, media library folder, media folders, media directories, media categories, wordpress media library folders, wordpress media folder, wordpress media folders, wordpress media library
4
- Stable tag: 4.18.22
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.1
1
  === Real Media Library: Media Library Folder & File Manager ===
2
  Contributors: devowl, mguenter, jankarres, mrguenter, styx
3
  Tags: wordpress media library folders, media library folders, file manager, media folder, media library folder, media library category, media library categories, media category, subfolders, file manager, directories, folder, folders, organize, media library, enhanced Media, enhanced media library, media management, media directory, folder manager, wordpress, media library wizard, folders manager, media library folder, media folders, media directories, media categories, wordpress media library folders, wordpress media folder, wordpress media folders, wordpress media library
4
+ Stable tag: 4.18.23
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.1
inc/base/others/cachebuster-lib.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Nov 18 2022 12:12:41 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'i18n-react' => '0.7.0',
5
  'mobx' => '4.15.7',
1
  <?php
2
+ /* This file was automatically generated (Thu Dec 01 2022 09:30:56 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'i18n-react' => '0.7.0',
5
  'mobx' => '4.15.7',
inc/base/others/cachebuster.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Nov 18 2022 12:12:41 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/rml_gutenberg.lite.js' => 'ec037dfb6f4518134e33bc6a33d2e466',
5
  'src/public/dist/rml_gutenberg.pro.js' => '6a34186dde43c12b236b2fd5c0c947df',
1
  <?php
2
+ /* This file was automatically generated (Thu Dec 01 2022 09:30:56 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/rml_gutenberg.lite.js' => 'ec037dfb6f4518134e33bc6a33d2e466',
5
  'src/public/dist/rml_gutenberg.pro.js' => '6a34186dde43c12b236b2fd5c0c947df',
inc/comp/ExImport.php CHANGED
@@ -285,7 +285,7 @@ class ExImport implements \MatthiasWeb\RealMediaLibrary\overrides\interfce\comp\
285
  $table_name = $wpdb->prefix . self::FILE_BIRD_TABLE_NAME_POSTS;
286
  $exists = $wpdb->get_var("SHOW TABLES LIKE '{$table_name}'") === $table_name;
287
  // phpcs:enable WordPress.DB.PreparedSQL
288
- return 0 === $exists;
289
  }
290
  /**
291
  * Get instance.
285
  $table_name = $wpdb->prefix . self::FILE_BIRD_TABLE_NAME_POSTS;
286
  $exists = $wpdb->get_var("SHOW TABLES LIKE '{$table_name}'") === $table_name;
287
  // phpcs:enable WordPress.DB.PreparedSQL
288
+ return $exists;
289
  }
290
  /**
291
  * Get instance.
inc/comp/WPML.php CHANGED
@@ -108,7 +108,7 @@ class WPML implements \MatthiasWeb\RealMediaLibrary\overrides\interfce\comp\IOve
108
  // phpcs:disable WordPress.DB.PreparedSQL
109
  $exists = $wpdb->get_var("SHOW TABLES LIKE '{$table_name}'") === $table_name;
110
  // phpcs:enable WordPress.DB.PreparedSQL
111
- if (0 !== $exists) {
112
  $this->dbDeltaCountCache();
113
  }
114
  $joins[] = "LEFT JOIN {$table_name} AS rmlicl ON tn.id = rmlicl.fid";
108
  // phpcs:disable WordPress.DB.PreparedSQL
109
  $exists = $wpdb->get_var("SHOW TABLES LIKE '{$table_name}'") === $table_name;
110
  // phpcs:enable WordPress.DB.PreparedSQL
111
+ if (!$exists) {
112
  $this->dbDeltaCountCache();
113
  }
114
  $joins[] = "LEFT JOIN {$table_name} AS rmlicl ON tn.id = rmlicl.fid";
index.php CHANGED
@@ -8,7 +8,7 @@
8
  * Description: Organize uploaded media in folders, collections and galleries: A file manager for WordPress. Media management made easy!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
- * Version: 4.18.22
12
  * Text Domain: real-media-library
13
  * Domain Path: /languages
14
  */
8
  * Description: Organize uploaded media in folders, collections and galleries: A file manager for WordPress. Media management made easy!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
+ * Version: 4.18.23
12
  * Text Domain: real-media-library
13
  * Domain Path: /languages
14
  */
vendor/autoload.php CHANGED
@@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
22
 
23
  require_once __DIR__ . '/composer/autoload_real.php';
24
 
25
- return ComposerAutoloaderInit420974b95e49455d8493a87c561481f8::getLoader();
22
 
23
  require_once __DIR__ . '/composer/autoload_real.php';
24
 
25
+ return ComposerAutoloaderInita5170a7d55a1a66897e6dc4b1305e766::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -34,10 +34,12 @@ return array(
34
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\ClientUtils' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/ClientUtils.php',
35
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\Feedback' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/Feedback.php',
36
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\LicenseActivation' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/LicenseActivation.php',
 
37
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\License' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/License.php',
38
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\LicenseActivation' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/LicenseActivation.php',
39
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateChecker' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateChecker.php',
40
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateLicensePool' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateLicensePool.php',
 
41
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Announcement' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/rest/Announcement.php',
42
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Feedback' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/rest/Feedback.php',
43
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\PluginUpdate' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/rest/PluginUpdate.php',
34
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\ClientUtils' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/ClientUtils.php',
35
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\Feedback' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/Feedback.php',
36
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\LicenseActivation' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/LicenseActivation.php',
37
+ 'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\TelemetryData' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/client/TelemetryData.php',
38
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\License' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/License.php',
39
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\LicenseActivation' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/LicenseActivation.php',
40
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateChecker' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateChecker.php',
41
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateLicensePool' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateLicensePool.php',
42
+ 'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\TelemetryData' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/license/TelemetryData.php',
43
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Announcement' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/rest/Announcement.php',
44
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Feedback' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/rest/Feedback.php',
45
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\PluginUpdate' => $vendorDir . '/devowl-wp/real-product-manager-wp-client/src/rest/PluginUpdate.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit420974b95e49455d8493a87c561481f8
6
  {
7
  private static $loader;
8
 
@@ -22,19 +22,19 @@ class ComposerAutoloaderInit420974b95e49455d8493a87c561481f8
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit420974b95e49455d8493a87c561481f8', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27
- spl_autoload_unregister(array('ComposerAutoloaderInit420974b95e49455d8493a87c561481f8', 'loadClassLoader'));
28
 
29
  require __DIR__ . '/autoload_static.php';
30
- call_user_func(\Composer\Autoload\ComposerStaticInit420974b95e49455d8493a87c561481f8::getInitializer($loader));
31
 
32
  $loader->setClassMapAuthoritative(true);
33
  $loader->register(true);
34
 
35
- $includeFiles = \Composer\Autoload\ComposerStaticInit420974b95e49455d8493a87c561481f8::$files;
36
  foreach ($includeFiles as $fileIdentifier => $file) {
37
- composerRequire420974b95e49455d8493a87c561481f8($fileIdentifier, $file);
38
  }
39
 
40
  return $loader;
@@ -46,7 +46,7 @@ class ComposerAutoloaderInit420974b95e49455d8493a87c561481f8
46
  * @param string $file
47
  * @return void
48
  */
49
- function composerRequire420974b95e49455d8493a87c561481f8($fileIdentifier, $file)
50
  {
51
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
52
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInita5170a7d55a1a66897e6dc4b1305e766
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInita5170a7d55a1a66897e6dc4b1305e766', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27
+ spl_autoload_unregister(array('ComposerAutoloaderInita5170a7d55a1a66897e6dc4b1305e766', 'loadClassLoader'));
28
 
29
  require __DIR__ . '/autoload_static.php';
30
+ call_user_func(\Composer\Autoload\ComposerStaticInita5170a7d55a1a66897e6dc4b1305e766::getInitializer($loader));
31
 
32
  $loader->setClassMapAuthoritative(true);
33
  $loader->register(true);
34
 
35
+ $includeFiles = \Composer\Autoload\ComposerStaticInita5170a7d55a1a66897e6dc4b1305e766::$files;
36
  foreach ($includeFiles as $fileIdentifier => $file) {
37
+ composerRequirea5170a7d55a1a66897e6dc4b1305e766($fileIdentifier, $file);
38
  }
39
 
40
  return $loader;
46
  * @param string $file
47
  * @return void
48
  */
49
+ function composerRequirea5170a7d55a1a66897e6dc4b1305e766($fileIdentifier, $file)
50
  {
51
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
52
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit420974b95e49455d8493a87c561481f8
8
  {
9
  public static $files = array (
10
  'cd48e99dc39649f6529395d65373ee16' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/autoload.php',
@@ -75,10 +75,12 @@ class ComposerStaticInit420974b95e49455d8493a87c561481f8
75
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\ClientUtils' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/ClientUtils.php',
76
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\Feedback' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/Feedback.php',
77
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\LicenseActivation' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/LicenseActivation.php',
 
78
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\License' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/License.php',
79
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\LicenseActivation' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/LicenseActivation.php',
80
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateChecker' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateChecker.php',
81
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateLicensePool' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateLicensePool.php',
 
82
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Announcement' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/rest/Announcement.php',
83
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Feedback' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/rest/Feedback.php',
84
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\PluginUpdate' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/rest/PluginUpdate.php',
@@ -175,9 +177,9 @@ class ComposerStaticInit420974b95e49455d8493a87c561481f8
175
  public static function getInitializer(ClassLoader $loader)
176
  {
177
  return \Closure::bind(function () use ($loader) {
178
- $loader->prefixLengthsPsr4 = ComposerStaticInit420974b95e49455d8493a87c561481f8::$prefixLengthsPsr4;
179
- $loader->prefixDirsPsr4 = ComposerStaticInit420974b95e49455d8493a87c561481f8::$prefixDirsPsr4;
180
- $loader->classMap = ComposerStaticInit420974b95e49455d8493a87c561481f8::$classMap;
181
 
182
  }, null, ClassLoader::class);
183
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInita5170a7d55a1a66897e6dc4b1305e766
8
  {
9
  public static $files = array (
10
  'cd48e99dc39649f6529395d65373ee16' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/autoload.php',
75
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\ClientUtils' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/ClientUtils.php',
76
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\Feedback' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/Feedback.php',
77
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\LicenseActivation' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/LicenseActivation.php',
78
+ 'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\client\\TelemetryData' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/client/TelemetryData.php',
79
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\License' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/License.php',
80
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\LicenseActivation' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/LicenseActivation.php',
81
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateChecker' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateChecker.php',
82
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\PluginUpdateLicensePool' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateLicensePool.php',
83
+ 'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\license\\TelemetryData' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/license/TelemetryData.php',
84
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Announcement' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/rest/Announcement.php',
85
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\Feedback' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/rest/Feedback.php',
86
  'MatthiasWeb\\RealMediaLibrary\\Vendor\\DevOwl\\RealProductManagerWpClient\\rest\\PluginUpdate' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/rest/PluginUpdate.php',
177
  public static function getInitializer(ClassLoader $loader)
178
  {
179
  return \Closure::bind(function () use ($loader) {
180
+ $loader->prefixLengthsPsr4 = ComposerStaticInita5170a7d55a1a66897e6dc4b1305e766::$prefixLengthsPsr4;
181
+ $loader->prefixDirsPsr4 = ComposerStaticInita5170a7d55a1a66897e6dc4b1305e766::$prefixDirsPsr4;
182
+ $loader->classMap = ComposerStaticInita5170a7d55a1a66897e6dc4b1305e766::$classMap;
183
 
184
  }, null, ClassLoader::class);
185
  }
vendor/composer/installed.php CHANGED
@@ -2,4 +2,4 @@
2
 
3
  namespace MatthiasWeb\RealMediaLibrary\Vendor;
4
 
5
- return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'b1cb3aca3d4855e64596320bd8c7c03ef34c2530', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'b1cb3aca3d4855e64596320bd8c7c03ef34c2530', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/freemium' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => 'a6f7fa5938b077d07d390d5a6729e1b48e0c178b', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/freemium', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-product-manager-wp-client' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '20cb702cfdf8371d48750463c30f8551c1753410', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-product-manager-wp-client', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '48f380da0e61910f07cecb52dc58cf8e24b8f5e1', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-utils', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '4f4a98962be8e2e5a3404e76233f744ca5346477', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/utils', 'aliases' => array(), 'dev_requirement' => \false), 'yahnis-elsts/plugin-update-checker' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '56c78cc6da7b071e58ec4a4cc04f2a2dcae05a13', 'type' => 'library', 'install_path' => __DIR__ . '/../yahnis-elsts/plugin-update-checker', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false)));
2
 
3
  namespace MatthiasWeb\RealMediaLibrary\Vendor;
4
 
5
+ return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '875b52ab2e3f85a16731c57375661a7ff09fe099', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '875b52ab2e3f85a16731c57375661a7ff09fe099', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/freemium' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => 'a6f7fa5938b077d07d390d5a6729e1b48e0c178b', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/freemium', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-product-manager-wp-client' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '20cb702cfdf8371d48750463c30f8551c1753410', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-product-manager-wp-client', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '48f380da0e61910f07cecb52dc58cf8e24b8f5e1', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-utils', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '4f4a98962be8e2e5a3404e76233f744ca5346477', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/utils', 'aliases' => array(), 'dev_requirement' => \false), 'yahnis-elsts/plugin-update-checker' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '56c78cc6da7b071e58ec4a4cc04f2a2dcae05a13', 'type' => 'library', 'install_path' => __DIR__ . '/../yahnis-elsts/plugin-update-checker', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false)));
vendor/devowl-wp/real-product-manager-wp-client/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  ## 1.13.16 (2022-11-18)
7
 
8
  **Note:** This package (@devowl-wp/real-product-manager-wp-client) has been updated because a dependency, which is also shipped with this package, has changed.
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 1.13.17 (2022-12-01)
7
+
8
+
9
+ ### chore
10
+
11
+ * adjust telemetry data collection (CU-2ufnyc2)
12
+ * execute deferred telemetry data transmit (CU-2ufnyc2)
13
+
14
+
15
+ ### fix
16
+
17
+ * decouple license activation from plugin update mechanism (CU-2ufrate)
18
+ * do not automatically deactivate license for compute.amazonaws.com (CU-30ch2z7)
19
+
20
+
21
+
22
+
23
+
24
  ## 1.13.16 (2022-11-18)
25
 
26
  **Note:** This package (@devowl-wp/real-product-manager-wp-client) has been updated because a dependency, which is also shipped with this package, has changed.
vendor/devowl-wp/real-product-manager-wp-client/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var devowlWp_realProductManagerWpClient;(()=>{"use strict";var e,t={8428:(e,t,a)=>{a.r(t),a.d(t,{Avatar:()=>i.C,CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE:()=>Te,Card:()=>o.Z,FeedbackModal:()=>Ie,Form:()=>s.Z,HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX:()=>Ae,LearnMoreTag:()=>Xe,OptionStore:()=>b,PLUGIN_UPDATE_FORM_LAYOUT:()=>We,PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM:()=>Ke,PluginUpdateEmbed:()=>Ye,PluginUpdateErrorNotice:()=>Je,PluginUpdateForm:()=>qe,PluginUpdateLicenseList:()=>Ge,PluginUpdateModal:()=>$e,PluginUpdateStore:()=>ue,PluginUpdateTermFields:()=>De,Provider:()=>me,RootStore:()=>de,Space:()=>c.Z,listenHashPluginUpdate:()=>_e,listenPluginDeactivation:()=>Ne,listenPluginUpdateLinkClick:()=>Fe,locationRestAnnouncementActive:()=>v,locationRestLicenseDelete:()=>P,locationRestLicenseRetry:()=>Z,locationRestPluginFeedbackPost:()=>Ue,locationRestPluginUpdateGet:()=>le,locationRestPluginUpdatePatch:()=>f,locationRestPluginUpdateSkipPost:()=>w,useStores:()=>pe});var n=a(1533),l=a(5585),r=a(9464),i=a(5191),o=a(5851),s=a(4549),c=a(8157),u=a(7465),d=a(7821);const p=devowlWp_utils;var m,h,g=a(6921),y=a(9888);let b=(m=class extends p.BaseOptions{constructor(e){super(),(0,g.Z)(this,"others",h,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.rootStore=e,this.pureSlug=p.BaseOptions.getPureSlug("real-product-manager-wp-client"),this.pureSlugCamelCased=p.BaseOptions.getPureSlug("real-product-manager-wp-client",!0),(0,d.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}},h=(0,y.Z)(m.prototype,"others",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m);const v={path:"/announcement/:slug/active",method:p.RouteHttpVerb.POST},f={path:"/plugin-update/:slug",method:p.RouteHttpVerb.PATCH},w={path:"/plugin-update/:slug/skip",method:p.RouteHttpVerb.POST};let E;const R=(...e)=>(E||(E=(0,p.createRequestFactory)(window[p.BaseOptions.getPureSlug("real-product-manager-wp-client",!0)]))).request(...e),Z={path:"/plugin-update/:slug/license/:blogId/retry",method:p.RouteHttpVerb.POST},P={path:"/plugin-update/:slug/license/:blogId",method:p.RouteHttpVerb.DELETE};var k,U,S,O,I,N,T,F,A,_,C;let z=(k=class{constructor(e,t){(0,g.Z)(this,"busy",U,this),(0,g.Z)(this,"blog",S,this),(0,g.Z)(this,"host",O,this),(0,g.Z)(this,"programmatically",I,this),(0,g.Z)(this,"blogName",N,this),(0,g.Z)(this,"installationType",T,this),(0,g.Z)(this,"code",F,this),(0,g.Z)(this,"hint",A,this),(0,g.Z)(this,"remote",_,this),(0,g.Z)(this,"noUsage",C,this),this.store=void 0,this.retry=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:Z,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.deactivate=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:P,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,d.runInAction)((()=>(0,d.set)(this,e))),this.store=t}},U=(0,y.Z)(k.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),S=(0,y.Z)(k.prototype,"blog",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,y.Z)(k.prototype,"host",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,y.Z)(k.prototype,"programmatically",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,y.Z)(k.prototype,"blogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,y.Z)(k.prototype,"installationType",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,y.Z)(k.prototype,"code",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,y.Z)(k.prototype,"hint",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,y.Z)(k.prototype,"remote",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,y.Z)(k.prototype,"noUsage",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k);var L,D,M,x,X,W,K,q,B,V,j,H,G,J,Y,$,Q,ee,te,ae;let ne=(L=class{get licensedEntries(){return this.licenses.filter((({code:e})=>e))}get unlicensedEntries(){return this.licenses.filter((({code:e})=>!e))}get noUsageEntries(){return this.unlicensedEntries.filter((({noUsage:e})=>e))}get modifiableEntries(){return this.unlicensedEntries.filter((({programmatically:e})=>!e))}get isLicensed(){return 0===this.unlicensedEntries.length}constructor(e,t){(0,g.Z)(this,"busy",D,this),(0,g.Z)(this,"slug",M,this),(0,g.Z)(this,"licenses",x,this),(0,g.Z)(this,"hasInteractedWithFormOnce",X,this),(0,g.Z)(this,"name",W,this),(0,g.Z)(this,"needsLicenseKeys",K,this),(0,g.Z)(this,"announcementsActive",q,this),(0,g.Z)(this,"allowsAutoUpdates",B,this),(0,g.Z)(this,"allowsTelemetry",V,this),(0,g.Z)(this,"allowsNewsletter",j,this),(0,g.Z)(this,"potentialNewsletterUser",H,this),(0,g.Z)(this,"privacyProvider",G,this),(0,g.Z)(this,"privacyPolicy",J,this),(0,g.Z)(this,"accountSiteUrl",Y,this),(0,g.Z)(this,"licenseKeyHelpUrl",$,this),(0,g.Z)(this,"checkUpdateLink",Q,this),(0,g.Z)(this,"invalidKeysError",ee,this),(0,g.Z)(this,"showBlogName",te,this),(0,g.Z)(this,"showNetworkWideUpdateIssueNotice",ae,this),this.store=void 0,this.setAnnouncementActive=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:v,params:{slug:this.slug},request:{state:e}});return t.success&&(this.announcementsActive=e),t.success}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.update=(0,d.flow)((function*(e){this.busy=!0,this.invalidKeysError=void 0;try{const t=yield R({location:f,params:{slug:this.slug},request:e});this.fromResponse(t)}catch(e){var t,a;throw console.log(e),null!==(t=e.responseJSON)&&void 0!==t&&null!==(a=t.data)&&void 0!==a&&a.invalidKeys&&(this.invalidKeysError=e.responseJSON.data.invalidKeys),e}finally{this.busy=!1}})),this.skip=(0,d.flow)((function*(){this.busy=!0;try{yield R({location:w,params:{slug:this.slug}})}catch(a){var e,t;throw console.log(a),null!==(e=a.responseJSON)&&void 0!==e&&null!==(t=e.data)&&void 0!==t&&t.invalidKeys&&(this.invalidKeysError=a.responseJSON.data.invalidKeysError),a}finally{this.busy=!1}})),this.fromResponse(e),this.store=t}fromResponse({licenses:e,...t}){(0,d.set)(this,t),this.licenses=[],null==e||e.forEach((e=>{this.licenses.push(new z(e,this))}))}},D=(0,y.Z)(L.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M=(0,y.Z)(L.prototype,"slug",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,y.Z)(L.prototype,"licenses",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,y.Z)(L.prototype,"hasInteractedWithFormOnce",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,y.Z)(L.prototype,"name",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,y.Z)(L.prototype,"needsLicenseKeys",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,y.Z)(L.prototype,"announcementsActive",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,y.Z)(L.prototype,"allowsAutoUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,y.Z)(L.prototype,"allowsTelemetry",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,y.Z)(L.prototype,"allowsNewsletter",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,y.Z)(L.prototype,"potentialNewsletterUser",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,y.Z)(L.prototype,"privacyProvider",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,y.Z)(L.prototype,"privacyPolicy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,y.Z)(L.prototype,"accountSiteUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,y.Z)(L.prototype,"licenseKeyHelpUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,y.Z)(L.prototype,"checkUpdateLink",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,y.Z)(L.prototype,"invalidKeysError",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,y.Z)(L.prototype,"showBlogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ae=(0,y.Z)(L.prototype,"showNetworkWideUpdateIssueNotice",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,y.Z)(L.prototype,"licensedEntries",[d.computed],Object.getOwnPropertyDescriptor(L.prototype,"licensedEntries"),L.prototype),(0,y.Z)(L.prototype,"unlicensedEntries",[d.computed],Object.getOwnPropertyDescriptor(L.prototype,"unlicensedEntries"),L.prototype),(0,y.Z)(L.prototype,"noUsageEntries",[d.computed],Object.getOwnPropertyDescriptor(L.prototype,"noUsageEntries"),L.prototype),(0,y.Z)(L.prototype,"modifiableEntries",[d.computed],Object.getOwnPropertyDescriptor(L.prototype,"modifiableEntries"),L.prototype),(0,y.Z)(L.prototype,"isLicensed",[d.computed],Object.getOwnPropertyDescriptor(L.prototype,"isLicensed"),L.prototype),(0,y.Z)(L.prototype,"fromResponse",[d.action],Object.getOwnPropertyDescriptor(L.prototype,"fromResponse"),L.prototype),L);const le={path:"/plugin-update/:slug",method:p.RouteHttpVerb.GET};var re,ie,oe,se,ce;let ue=(re=class{constructor(e){(0,g.Z)(this,"busy",ie,this),(0,g.Z)(this,"modalPlugin",oe,this),(0,g.Z)(this,"pluginUpdates",se,this),(0,g.Z)(this,"pluginUpdateFetchErrors",ce,this),this.rootStore=void 0,this.showInModal=(0,d.flow)((function*(e){this.modalPlugin=e;try{yield this.fetchPluginUpdate(e)}catch(e){throw console.log(e),e}})),this.fetchPluginUpdate=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:le,params:{slug:e}}),a=new ne(t,this);return this.pluginUpdates.set(e,a),this.pluginUpdateFetchErrors.delete(e),a}catch(t){throw console.log(t),this.pluginUpdateFetchErrors.set(e,t),t}finally{this.busy=!1}})),this.rootStore=e}hideModal(){this.modalPlugin=void 0}},ie=(0,y.Z)(re.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oe=(0,y.Z)(re.prototype,"modalPlugin",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),se=(0,y.Z)(re.prototype,"pluginUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),ce=(0,y.Z)(re.prototype,"pluginUpdateFetchErrors",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,y.Z)(re.prototype,"hideModal",[d.action],Object.getOwnPropertyDescriptor(re.prototype,"hideModal"),re.prototype),re);(0,d.configure)({enforceActions:"always"});class de{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,p.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.pluginUpdateStore=void 0,this.contextMemo=void 0,this.optionStore=new b(this),this.pluginUpdateStore=new ue(this)}static get StoreProvider(){return de.get.context.StoreProvider}static get get(){return de.me?de.me:de.me=new de}}de.me=void 0;const pe=()=>de.get.context.useStores(),me=({children:e})=>React.createElement(l.ZP,{prefixCls:"rpm-wpc-antd"},React.createElement(de.StoreProvider,null,e));var he=a(7363),ge=a(3557),ye=a(5493),be=a(4648),ve=a(3685),fe=a(3550),we=a(7418);let Ee;function Re(){return Ee||(Ee=(0,p.createLocalizationFactory)("".concat("devowl-wp","-").concat("real-product-manager-wp-client")))}const Ze=(...e)=>Re().__(...e),Pe=(...e)=>Re()._i(...e);var ke=a(8974);const Ue={path:"/feedback/:slug",method:p.RouteHttpVerb.POST},Se={labelCol:{span:24},wrapperCol:{span:24}},Oe={marginBottom:8},Ie=({initialValues:e={},plugin:t,name:a,privacyPolicy:n,privacyProvider:l,onClose:i,onDeactivate:o})=>{const c=(0,he.useMemo)((()=>({"upgrade-to-pro":Ze("Upgrade to PRO Version"),"not-working":Ze("Plugin does not work"),"missing-features":Ze("Not the features I want"),incompatible:Ze("Incompatible with themes/plugins"),"missing-doc":Ze("Lack of documentation"),"found-better-plugin":Ze("Found a better plugin"),temp:Ze("Temporary deactivation"),other:Ze("Other")})),[]),[d]=s.Z.useForm(),p="license-form-".concat(t),[m,h]=(0,he.useState)(!0),[g,y]=(0,he.useState)(!1),b=(0,he.useCallback)((()=>{window.confirm(Ze("Are you sure you want to leave the feedback form?"))&&h(!1)}),[]),v=(0,he.useCallback)((async e=>{const{reason:a="other",note:n="",email:l="",name:i=""}=e;try{y(!0),await R({location:Ue,params:{slug:t},request:{reason:a,note:n,email:l,name:l?i:""}}),null==o||o()}catch(e){var s,c,u;const{responseJSON:t}=e,a=null==t||null===(s=t.data)||void 0===s||null===(c=s.body)||void 0===c||null===(u=c[0])||void 0===u?void 0:u.code;if(["DeactivationFeedbackAlreadyGiven","DeactivationFeedbackMightBeSpam"].indexOf(a)>-1||!a)return void(null==o||o());var d,p,m;r.ZP.error(null==t||null===(d=t.data)||void 0===d||null===(p=d.body)||void 0===p||null===(m=p[0])||void 0===m?void 0:m.message)}finally{y(!1)}}),[d,t]);return React.createElement(ge.Z,{afterClose:i,onCancel:b,visible:m,footer:[React.createElement(ye.Z,{key:"skip",type:"default",onClick:o,className:"alignleft",disabled:g},React.createElement("b",null,Ze("Skip & Deactivate"))),React.createElement(ye.Z,{key:"submit",type:"primary",htmlType:"submit",form:p,disabled:g},Ze("Deactivate"))],title:React.createElement(React.Fragment,null,React.createElement(ke.Z,{twoToneColor:"#eb2f96"})," ",Ze("Too bad you are leaving"))},React.createElement(be.Z,{spinning:g},React.createElement(s.Z,(0,u.Z)({name:p,id:p,form:d},Se,{onFinish:v,initialValues:e}),React.createElement(s.Z.Item,{name:"reason",label:React.createElement(React.Fragment,null,Ze("Please give us feedback why you deactivate %s.",a)),style:Oe,required:!0,rules:[{required:!0,message:Ze("Please provide a reason!")}]},React.createElement(ve.ZP.Group,null,Object.keys(c).map((e=>React.createElement(ve.ZP,{key:e,value:e,style:{width:"calc(50% - 8px)",float:"left"}},c[e]))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.reason!==t.reason},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Ze("What could we do better?"),name:"note",style:Oe},React.createElement(fe.Z.TextArea,{autoSize:{minRows:3}})),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{name:"email",label:Ze("Email for answer/solution"),style:Oe,rules:[{type:"email",required:e("answerTerms"),message:Ze("Please provide a valid e-mail address!")}]},React.createElement(fe.Z,null)),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.email!==t.email},(({getFieldValue:e})=>React.createElement(React.Fragment,null,!!e("email")&&React.createElement(s.Z.Item,{name:"name",label:Ze("Name"),required:!0,style:Oe,rules:[{required:!0,message:Ze("Please provide a name!")}]},React.createElement(fe.Z,null)),React.createElement(s.Z.Item,{name:"answerTerms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!!e("email"),transform:e=>e||void 0,message:Ze("Please confirm that you have checked the privacy policy.")}],style:Oe},React.createElement(we.Z,{style:{zoom:.8}},Pe(Ze("I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.",l),{a:React.createElement("a",{href:n,target:"_blank",rel:"noreferrer"})})))))))))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.note!==t.note||e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>{const t=e("answerTerms")||!1,a=e("note")||"";return t?null:a.split(" ").length>=5?React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Ze("Allow us to reply to you by email and we will get back to you as soon as possible!"))):React.createElement("p",{className:"description",style:{marginTop:5}},Pe(Ze("Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}."),{a:React.createElement("a",{href:Ze("https://devowl.io/support/"),target:"_blank",rel:"noreferrer"})}))})))))};function Ne(){document.addEventListener("click",(e=>{const{names:t,currentUserFullName:a}=de.get.optionStore.others,l=null==e?void 0:e.target;for(const r in t){const{plugin:i}=t[r];if(l.matches('tr[data-plugin="'.concat(i,'"] a[href*="action=deactivate"]'))){const i=document.createElement("div");document.body.appendChild(i),(0,n.render)(React.createElement(me,null,React.createElement(Ie,(0,u.Z)({},t[r],{initialValues:{name:a},plugin:r,onClose:()=>{(0,n.unmountComponentAtNode)(i)},onDeactivate:()=>{window.location.href=l.href}}))),i),e.preventDefault(),e.stopImmediatePropagation();break}}}),!0)}const Te="data-rpm-wp-client-plugin-update";function Fe(){document.addEventListener("click",(e=>{var t;const a=null===(t=e.target)||void 0===t?void 0:t.getAttribute(Te);a&&(de.get.pluginUpdateStore.showInModal(a),e.preventDefault())}))}const Ae="rpm-wp-client-plugin-update-";function _e(){const{hash:e}=window.location;if(e.startsWith("#".concat(Ae))){const t=e.substr(Ae.length+1);de.get.pluginUpdateStore.showInModal(t),window.location.hash=""}}var Ce=a(3867),ze=a(6519),Le=a(2764);const De=(0,Ce.Pi)((({pluginUpdate:e})=>{const{privacyProvider:t,privacyPolicy:a,allowsTelemetry:n,allowsAutoUpdates:l,allowsNewsletter:r}=e;return React.createElement(React.Fragment,null,l&&React.createElement(s.Z.Item,{name:"autoUpdates",valuePropName:"checked",style:Ke},React.createElement(we.Z,{style:{zoom:.8}},Pe(Ze("Updates containing bug fixes and new features will be downloaded and installed automatically."),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{name:"terms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:e=>e||void 0,message:Ze("Please confirm that you have read the privacy policy!")}],style:Ke},React.createElement(we.Z,{style:{zoom:.8}},Pe(Ze("I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),n&&React.createElement(s.Z.Item,{name:"telemetry",valuePropName:"checked",style:Ke},React.createElement(we.Z,{style:{zoom:.8}},Pe(Ze("I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),r&&React.createElement(s.Z.Item,{name:"newsletter",valuePropName:"checked",style:Ke},React.createElement(we.Z,{style:{zoom:.8}},Pe(Ze("I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.newsletter!==t.newsletter},(({getFieldValue:e})=>e("newsletter")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Ze("First name"),name:"firstName",style:Ke,required:!0,rules:[{required:!0,message:Ze("Please enter your first name!")}]},React.createElement(fe.Z,null)),React.createElement(s.Z.Item,{label:Ze("Email"),name:"email",style:Ke,required:!0,rules:[{type:"email",required:!0,message:Ze("Please enter your email address!")}]},React.createElement(fe.Z,null)),React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Ze("Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.")))))))}));var Me=a(8965),xe=a(4759);const Xe=({url:e,style:t,label:a=Ze("Learn more")})=>{const n={cursor:"pointer",...t};return React.createElement(Me.Z,{style:n,onClick:()=>window.open(e,"_blank")},React.createElement(xe.Z,null)," ",a)},We={labelCol:{span:24},wrapperCol:{span:24}},Ke={marginBottom:8},qe=(0,Ce.Pi)((({onSave:e,onFailure:t,footer:a,pluginUpdate:n})=>{const[l,i]=(0,he.useState)(!1),{busy:o,slug:c,allowsAutoUpdates:d,needsLicenseKeys:p,licenses:m,unlicensedEntries:h,noUsageEntries:g,modifiableEntries:y,invalidKeysError:b,accountSiteUrl:v,licenseKeyHelpUrl:f,name:w,potentialNewsletterUser:{firstName:E,email:R},showBlogName:Z,showNetworkWideUpdateIssueNotice:P}=n,k=m.length>1,U={licenses:m.map((({blog:e,code:t,installationType:a,hint:n,noUsage:l})=>{var r;return{blog:e,code:t||(n?null===(r=n.help.match(/(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})|(\w{32})/))||void 0===r?void 0:r[0]:"")||"",installationType:a||"",noUsage:l}})),autoUpdates:d,terms:!1,telemetry:!1,newsletter:!1,firstName:E,email:R},[S]=s.Z.useForm(),[O,I]=(0,he.useState)(g.length!==h.length),N=(0,he.useCallback)((async a=>{const{licenses:l,...i}=a,o={...i,licenses:JSON.stringify(p?l.filter((({blog:e})=>{const[t]=m.filter((t=>t.blog===e));return h.indexOf(t)>-1})):void 0)};try{await n.update(o),S.setFieldsValue({terms:!1,telemetry:!1,newsletter:!1}),r.ZP.success(Ze("Your license has been activated!")),null==e||e()}catch(e){throw n.invalidKeysError||r.ZP.error(e.responseJSON.message),null==t||t(),e}}),[n,e,m,h,p]),T=(0,he.useCallback)((async e=>{try{await N(e)}catch(e){}finally{i(!1)}}),[S,N,i]),F=(0,he.useCallback)((()=>{i(!0),I(!0)}),[]);return React.createElement(be.Z,{spinning:o},h.length>0&&React.createElement(React.Fragment,null,React.createElement("p",{className:"description",style:{marginBottom:15}},p?Ze("Activate your %s PRO license to receive regular updates and support.",w):Pe(Ze("To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).",w),{strong:React.createElement("strong",null)})),P&&React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Ze("You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.",w)),React.createElement("p",null,Ze("Please enable %s network-wide or take care of regular updates manually! ",w))),React.createElement(s.Z,(0,u.Z)({name:"license-form-".concat(c),id:"license-form-".concat(c),form:S},We,{initialValues:U,onFinish:T,onFinishFailed:F,onChange:()=>{I(!0)}}),p&&React.createElement(React.Fragment,null,React.createElement(s.Z.List,{name:"licenses"},(e=>e.map(((e,t)=>{const{blog:a}=S.getFieldValue(["licenses",e.name]),[n]=m.filter((e=>e.blog===a));if(-1===h.indexOf(n))return null;const{busy:i,blogName:o,programmatically:c,host:d}=n,p=null==b?void 0:b[a],g=l?{}:p||n.hint,y=!(null==p||!p.debug.errors.LicenseMaxUsagesReached);let w;return"boolean"!=typeof g&&y&&(w=React.createElement("span",null,g.help," ",React.createElement(Xe,{url:Ze("https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/")}))),React.createElement(be.Z,{spinning:i,key:e.key},React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(t,a)=>t.licenses[e.key].noUsage!==a.licenses[e.key].noUsage},(({getFieldValue:a})=>{const n=a(["licenses",e.key,"noUsage"]);return React.createElement(s.Z.Item,(0,u.Z)({label:React.createElement("span",null,h.length>1||Z?Pe(Ze("Installation type and license key for {{strong}}%s{{/strong}}",o),{strong:React.createElement("strong",null)}):Ze("Installation type and license key")," ",React.createElement(Xe,{url:f})),help:w},g,{required:!0,style:Ke}),!n&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"code"],name:[e.name,"code"],noStyle:!0,rules:[{pattern:/(^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$)|(^\w{32}$)/,required:!0,message:Ze("Please enter a valid license key!")}]},React.createElement(fe.Z,{placeholder:c?c.code:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",disabled:!!c,addonBefore:React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"installationType"],name:[e.name,"installationType"],noStyle:!0,rules:[{required:!0,message:Ze("Please choose an installation type!")}]},React.createElement(Le.Z,{placeholder:Ze("Installation type"),disabled:!!c},React.createElement(Le.Z.Option,{value:"",disabled:!0},c?"development"===c.type?Ze("Development"):Ze("Production"):Ze("Select installation type…")),React.createElement(Le.Z.Option,{value:"production"},Ze("Production")),React.createElement(Le.Z.Option,{value:"development"},Ze("Development"))))})),0===t&&React.createElement("p",{className:"description",style:{marginTop:5}},React.createElement("strong",null,Ze("What is an installation type?"))," ",Ze("You can use each license in both production and development environments.")," ",Pe(Ze('Generally speaking, you use "{{strong}}Development{{/strong}}" when your site is not yet live, or it is a staging environment of your site. "{{strong}}Production{{/strong}}" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'),{strong:React.createElement("strong",null)}))),k&&React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"noUsage"],name:[e.name,"noUsage"],valuePropName:"checked",style:{marginTop:n?-25:0===t?-8:0,marginBottom:0}},React.createElement(we.Z,null,Ze("I do not want to license and use the plugin for this site within my multisite."))))})),c&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Pe(Ze("This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.",d,a),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})," ","•"," ",React.createElement("a",{className:"button-link",onClick:async()=>{try{await n.retry(),n.hint&&r.ZP.error(n.hint.help)}catch(e){r.ZP.error(e.responseJSON.message)}}},Ze("Retry activation")))),y&&React.createElement("a",{href:v,target:"_blank",rel:"noreferrer",className:"button button-primary"},Ze("Manage licenses in the customer center")))})))),React.createElement(ze.Z,{type:"horizontal",style:{margin:"10px 0"}})),y.length>0&&React.createElement(React.Fragment,null,React.createElement("div",{style:{display:O?"block":"none"}},React.createElement(De,{pluginUpdate:n})),a))))}));var Be=a(5799),Ve=a(3897),je=a(811),He=a(7847);const Ge=(0,Ce.Pi)((({onDeactivate:e,pluginUpdate:t})=>{const{licensedEntries:a,needsLicenseKeys:n}=t;return React.createElement(React.Fragment,null,React.createElement(Be.ZP,{itemLayout:"vertical",size:"small",dataSource:a,renderItem:t=>{const{busy:a,installationType:l,blogName:i,code:o,remote:s,programmatically:u,host:d,blog:p}=t;return React.createElement(be.Z,{spinning:a},React.createElement(Be.ZP.Item,{style:{paddingLeft:0,paddingRight:0},actions:[n&&React.createElement(c.Z,{key:"installationType"},React.createElement(Ve.Z,null),"production"===l?Ze("Production"):"development"===l?Ze("Development"):"n/a"),s&&React.createElement(c.Z,{key:"activatedAt"},React.createElement(je.Z,null),Ze("Activated %s",new Date(s.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))),s&&React.createElement(c.Z,{key:"telemetryDataSharingOptIn"},React.createElement(He.Z,null),s.licenseActivation.telemetryDataSharingOptIn?Ze("Telemetry data sharing enabled"):Ze("Telemetry data sharing disabled")),!u&&React.createElement("a",{key:"deactivate",className:"button-link",onClick:async()=>{try{await t.deactivate()}catch(e){r.ZP.error(e.responseJSON.message)}null==e||e(t)}},Ze("Deactivate"))].filter(Boolean)},React.createElement(Be.ZP.Item.Meta,{title:i,description:n?React.createElement(React.Fragment,null,Ze("Your license key"),": ",React.createElement("code",null,o)):React.createElement(React.Fragment,null,Ze("Your installation is fully activated."),React.createElement("div",{style:{marginTop:15}},React.createElement("a",{rel:"noreferrer",href:Ze("https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/"),className:"button",target:"_blank"},Ze("Enter license key to unlock PRO features"))))}),u&&React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Pe(Ze("This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!",d,p),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})))))}}),React.createElement("p",{style:{textAlign:"right"}},React.createElement(we.Z,{disabled:t.busy,checked:t.announcementsActive,onChange:e=>t.setAnnouncementActive(e.target.checked)},Ze("Show announcements for this plugin"))))})),Je=(0,Ce.Pi)((({slug:e})=>{var t;const a=pe().pluginUpdateStore.pluginUpdateFetchErrors.get(e),n=null==a||null===(t=a.responseJSON)||void 0===t?void 0:t.message;return React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"20px 0"}},React.createElement("p",null,Pe(Ze("Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.",n?" (".concat(n,")"):""),{a:React.createElement("a",{href:Ze("https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"),target:"_blank",rel:"noreferrer"})})))})),Ye=(0,Ce.Pi)((({formProps:e={},listProps:t={},slug:a})=>{const{pluginUpdateStore:n}=pe(),{busy:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=n,o=r.get(a),s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0;return(0,he.useEffect)((()=>{try{n.fetchPluginUpdate(a)}catch(e){}}),[a]),i.get(a)?React.createElement(Je,{slug:a}):l||!o?React.createElement(be.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(ze.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Ze("Not yet licensed")),React.createElement(qe,(0,u.Z)({},e,{pluginUpdate:o})),s&&React.createElement(ze.Z,{type:"horizontal",orientation:"left"},Ze("Already licensed")),o.licensedEntries.length>0&&React.createElement(Ge,(0,u.Z)({},t,{pluginUpdate:o})))})),$e=(0,Ce.Pi)((()=>{const[e,t]=(0,he.useState)(!1),{pluginUpdateStore:a}=pe(),{busy:n,modalPlugin:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=a,o=l?r.get(l):void 0,s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0,c=(0,he.useCallback)((()=>{if(e){const{checkUpdateLink:e}=o;e?window.location.href=e:window.location.reload()}else a.hideModal()}),[e,a,o]),u=(0,he.useCallback)((()=>t(!0)),[t]),d=i.get(l);return(0,he.useEffect)((()=>{document.body.classList[l?"add":"remove"]("rpm-wpc-antd-modal-open")}),[l]),l?React.createElement(ge.Z,{visible:!0,okButtonProps:{form:"license-form-".concat(null==o?void 0:o.slug),htmlType:"submit",style:{display:0===(null==o?void 0:o.unlicensedEntries.length)||d?"none":void 0}},cancelButtonProps:{style:{display:"none"}},onCancel:c,okText:Ze("Save"),title:o?React.createElement("span",{style:{fontWeight:"normal"}},React.createElement("strong",null,o.name,":")," ",Ze("License settings")):"",width:800},d?React.createElement(Je,{slug:l}):n||!o?React.createElement(be.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(ze.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Ze("Not yet licensed")),React.createElement(qe,{onSave:u,pluginUpdate:o}),s&&React.createElement(ze.Z,{type:"horizontal",orientation:"left"},Ze("Already licensed")),o.licensedEntries.length>0&&React.createElement(Ge,{onDeactivate:u,pluginUpdate:o}))):null}));l.ZP.config({prefixCls:"rpm-wpc-antd"}),r.ZP.config({top:50}),Ne(),((e,t="complete")=>{new Promise((a=>{document.readyState===t?(null==e||e(),a()):document.addEventListener("readystatechange",(()=>{document.readyState===t&&(null==e||e(),a())}))}))})((()=>{const e=document.createElement("div");document.body.appendChild(e),(0,n.render)(React.createElement(me,null,React.createElement($e,null)),e),Fe(),_e()}))},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},7821:e=>{e.exports=mobx}},a={};function n(e){var l=a[e];if(void 0!==l)return l.exports;var r=a[e]={id:e,loaded:!1,exports:{}};return t[e](r,r.exports,n),r.loaded=!0,r.exports}n.m=t,e=[],n.O=(t,a,l,r)=>{if(!a){var i=1/0;for(u=0;u<e.length;u++){for(var[a,l,r]=e[u],o=!0,s=0;s<a.length;s++)(!1&r||i>=r)&&Object.keys(n.O).every((e=>n.O[e](a[s])))?a.splice(s--,1):(o=!1,r<i&&(i=r));if(o){e.splice(u--,1);var c=l();void 0!==c&&(t=c)}}return t}r=r||0;for(var u=e.length;u>0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[a,l,r]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={826:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var l,r,[i,o,s]=a,c=0;if(i.some((t=>0!==e[t]))){for(l in o)n.o(o,l)&&(n.m[l]=o[l]);if(s)var u=s(n)}for(t&&t(a);c<i.length;c++)r=i[c],n.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return n.O(u)},a=self.webpackChunkdevowlWp_realProductManagerWpClient=self.webpackChunkdevowlWp_realProductManagerWpClient||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})();var l=n.O(void 0,[764],(()=>n(8428)));l=n.O(l),devowlWp_realProductManagerWpClient=l})();
2
  //# sourceMappingURL=index.js.map
1
+ var devowlWp_realProductManagerWpClient;(()=>{"use strict";var e,t={1489:(e,t,a)=>{a.r(t),a.d(t,{Avatar:()=>i.C,CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE:()=>Ce,Card:()=>o.Z,FeedbackModal:()=>De,Form:()=>s.Z,HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX:()=>_e,LearnMoreTag:()=>Be,OptionStore:()=>b,PLUGIN_UPDATE_FORM_LAYOUT:()=>Ve,PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM:()=>je,PluginUpdateEmbed:()=>at,PluginUpdateErrorNotice:()=>tt,PluginUpdateForm:()=>He,PluginUpdateLicenseList:()=>et,PluginUpdateLicenseListItem:()=>Qe,PluginUpdateLicenseTelemetryDataModal:()=>Xe,PluginUpdateModal:()=>nt,PluginUpdateStore:()=>pe,PluginUpdateTermFields:()=>We,Provider:()=>ye,RootStore:()=>he,Space:()=>c.Z,listenHashPluginUpdate:()=>ze,listenPluginDeactivation:()=>Fe,listenPluginUpdateLinkClick:()=>Ae,locationRestAnnouncementActive:()=>v,locationRestLicenseDelete:()=>P,locationRestLicenseRetry:()=>Z,locationRestLicenseTelemetryGet:()=>k,locationRestPluginFeedbackPost:()=>Ie,locationRestPluginUpdateGet:()=>oe,locationRestPluginUpdatePatch:()=>f,locationRestPluginUpdateSkipPost:()=>w,useStores:()=>ge});var n=a(1533),l=a(5585),r=a(9464),i=a(5191),o=a(5851),s=a(4549),c=a(8157),u=a(7465),d=a(7821);const m=devowlWp_utils;var p,h,g=a(6921),y=a(9888);let b=(p=class extends m.BaseOptions{constructor(e){super(),(0,g.Z)(this,"others",h,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.rootStore=e,this.pureSlug=m.BaseOptions.getPureSlug("real-product-manager-wp-client"),this.pureSlugCamelCased=m.BaseOptions.getPureSlug("real-product-manager-wp-client",!0),(0,d.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}},h=(0,y.Z)(p.prototype,"others",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p);const v={path:"/announcement/:slug/active",method:m.RouteHttpVerb.POST},f={path:"/plugin-update/:slug",method:m.RouteHttpVerb.PATCH},w={path:"/plugin-update/:slug/skip",method:m.RouteHttpVerb.POST};let E;const R=(...e)=>(E||(E=(0,m.createRequestFactory)(window[m.BaseOptions.getPureSlug("real-product-manager-wp-client",!0)]))).request(...e),Z={path:"/plugin-update/:slug/license/:blogId/retry",method:m.RouteHttpVerb.POST},P={path:"/plugin-update/:slug/license/:blogId",method:m.RouteHttpVerb.DELETE},k={path:"/plugin-update/:slug/telemetry/:blogId",method:m.RouteHttpVerb.GET};var U,S,O,I,T,N,D,F,C,A,_,z,L;let x=(U=class{constructor(e,t){(0,g.Z)(this,"busy",S,this),(0,g.Z)(this,"blog",O,this),(0,g.Z)(this,"host",I,this),(0,g.Z)(this,"programmatically",T,this),(0,g.Z)(this,"blogName",N,this),(0,g.Z)(this,"installationType",D,this),(0,g.Z)(this,"telemetryDataSharingOptIn",F,this),(0,g.Z)(this,"code",C,this),(0,g.Z)(this,"hint",A,this),(0,g.Z)(this,"remote",_,this),(0,g.Z)(this,"noUsage",z,this),(0,g.Z)(this,"telemetryData",L,this),this.store=void 0,this.retry=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:Z,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.deactivate=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:P,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.fetchTelemetryData=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:k,params:{slug:this.store.slug,blogId:this.blog}});this.telemetryData=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,d.runInAction)((()=>(0,d.set)(this,e))),this.store=t}},S=(0,y.Z)(U.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),O=(0,y.Z)(U.prototype,"blog",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,y.Z)(U.prototype,"host",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,y.Z)(U.prototype,"programmatically",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,y.Z)(U.prototype,"blogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,y.Z)(U.prototype,"installationType",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,y.Z)(U.prototype,"telemetryDataSharingOptIn",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,y.Z)(U.prototype,"code",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,y.Z)(U.prototype,"hint",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,y.Z)(U.prototype,"remote",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,y.Z)(U.prototype,"noUsage",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,y.Z)(U.prototype,"telemetryData",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U);var M,X,W,K,q,B,V,j,H,G,J,Y,$,Q,ee,te,ae,ne,le,re;let ie=(M=class{get licensedEntries(){return this.licenses.filter((({code:e})=>e))}get unlicensedEntries(){return this.licenses.filter((({code:e})=>!e))}get noUsageEntries(){return this.unlicensedEntries.filter((({noUsage:e})=>e))}get modifiableEntries(){return this.unlicensedEntries.filter((({programmatically:e})=>!e))}get isLicensed(){return 0===this.unlicensedEntries.length}constructor(e,t){(0,g.Z)(this,"busy",X,this),(0,g.Z)(this,"slug",W,this),(0,g.Z)(this,"licenses",K,this),(0,g.Z)(this,"hasInteractedWithFormOnce",q,this),(0,g.Z)(this,"name",B,this),(0,g.Z)(this,"needsLicenseKeys",V,this),(0,g.Z)(this,"announcementsActive",j,this),(0,g.Z)(this,"allowsAutoUpdates",H,this),(0,g.Z)(this,"allowsTelemetry",G,this),(0,g.Z)(this,"allowsNewsletter",J,this),(0,g.Z)(this,"potentialNewsletterUser",Y,this),(0,g.Z)(this,"privacyProvider",$,this),(0,g.Z)(this,"privacyPolicy",Q,this),(0,g.Z)(this,"accountSiteUrl",ee,this),(0,g.Z)(this,"licenseKeyHelpUrl",te,this),(0,g.Z)(this,"checkUpdateLink",ae,this),(0,g.Z)(this,"invalidKeysError",ne,this),(0,g.Z)(this,"showBlogName",le,this),(0,g.Z)(this,"showNetworkWideUpdateIssueNotice",re,this),this.store=void 0,this.setAnnouncementActive=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:v,params:{slug:this.slug},request:{state:e}});return t.success&&(this.announcementsActive=e),t.success}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.update=(0,d.flow)((function*(e){this.busy=!0,this.invalidKeysError=void 0;try{const t=yield R({location:f,params:{slug:this.slug},request:e});this.fromResponse(t)}catch(e){var t,a;throw console.log(e),null!==(t=e.responseJSON)&&void 0!==t&&null!==(a=t.data)&&void 0!==a&&a.invalidKeys&&(this.invalidKeysError=e.responseJSON.data.invalidKeys),e}finally{this.busy=!1}})),this.skip=(0,d.flow)((function*(){this.busy=!0;try{yield R({location:w,params:{slug:this.slug}})}catch(a){var e,t;throw console.log(a),null!==(e=a.responseJSON)&&void 0!==e&&null!==(t=e.data)&&void 0!==t&&t.invalidKeys&&(this.invalidKeysError=a.responseJSON.data.invalidKeysError),a}finally{this.busy=!1}})),this.fromResponse(e),this.store=t}fromResponse({licenses:e,...t}){(0,d.set)(this,t),this.licenses=[],null==e||e.forEach((e=>{this.licenses.push(new x(e,this))}))}},X=(0,y.Z)(M.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),W=(0,y.Z)(M.prototype,"slug",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,y.Z)(M.prototype,"licenses",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,y.Z)(M.prototype,"hasInteractedWithFormOnce",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,y.Z)(M.prototype,"name",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,y.Z)(M.prototype,"needsLicenseKeys",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,y.Z)(M.prototype,"announcementsActive",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,y.Z)(M.prototype,"allowsAutoUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,y.Z)(M.prototype,"allowsTelemetry",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,y.Z)(M.prototype,"allowsNewsletter",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,y.Z)(M.prototype,"potentialNewsletterUser",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,y.Z)(M.prototype,"privacyProvider",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,y.Z)(M.prototype,"privacyPolicy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,y.Z)(M.prototype,"accountSiteUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,y.Z)(M.prototype,"licenseKeyHelpUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae=(0,y.Z)(M.prototype,"checkUpdateLink",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=(0,y.Z)(M.prototype,"invalidKeysError",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),le=(0,y.Z)(M.prototype,"showBlogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),re=(0,y.Z)(M.prototype,"showNetworkWideUpdateIssueNotice",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,y.Z)(M.prototype,"licensedEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"licensedEntries"),M.prototype),(0,y.Z)(M.prototype,"unlicensedEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"unlicensedEntries"),M.prototype),(0,y.Z)(M.prototype,"noUsageEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"noUsageEntries"),M.prototype),(0,y.Z)(M.prototype,"modifiableEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"modifiableEntries"),M.prototype),(0,y.Z)(M.prototype,"isLicensed",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"isLicensed"),M.prototype),(0,y.Z)(M.prototype,"fromResponse",[d.action],Object.getOwnPropertyDescriptor(M.prototype,"fromResponse"),M.prototype),M);const oe={path:"/plugin-update/:slug",method:m.RouteHttpVerb.GET};var se,ce,ue,de,me;let pe=(se=class{constructor(e){(0,g.Z)(this,"busy",ce,this),(0,g.Z)(this,"modalPlugin",ue,this),(0,g.Z)(this,"pluginUpdates",de,this),(0,g.Z)(this,"pluginUpdateFetchErrors",me,this),this.rootStore=void 0,this.showInModal=(0,d.flow)((function*(e){this.modalPlugin=e;try{yield this.fetchPluginUpdate(e)}catch(e){throw console.log(e),e}})),this.fetchPluginUpdate=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:oe,params:{slug:e}}),a=new ie(t,this);return this.pluginUpdates.set(e,a),this.pluginUpdateFetchErrors.delete(e),a}catch(t){throw console.log(t),this.pluginUpdateFetchErrors.set(e,t),t}finally{this.busy=!1}})),this.rootStore=e}hideModal(){this.modalPlugin=void 0}},ce=(0,y.Z)(se.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ue=(0,y.Z)(se.prototype,"modalPlugin",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),de=(0,y.Z)(se.prototype,"pluginUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),me=(0,y.Z)(se.prototype,"pluginUpdateFetchErrors",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,y.Z)(se.prototype,"hideModal",[d.action],Object.getOwnPropertyDescriptor(se.prototype,"hideModal"),se.prototype),se);(0,d.configure)({enforceActions:"always"});class he{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,m.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.pluginUpdateStore=void 0,this.contextMemo=void 0,this.optionStore=new b(this),this.pluginUpdateStore=new pe(this)}static get StoreProvider(){return he.get.context.StoreProvider}static get get(){return he.me?he.me:he.me=new he}}he.me=void 0;const ge=()=>he.get.context.useStores(),ye=({children:e})=>React.createElement(l.ZP,{prefixCls:"rpm-wpc-antd"},React.createElement(he.StoreProvider,null,e));var be=a(7363),ve=a(3557),fe=a(5493),we=a(4648),Ee=a(3685),Re=a(3550),Ze=a(7418);let Pe;function ke(){return Pe||(Pe=(0,m.createLocalizationFactory)("".concat("devowl-wp","-").concat("real-product-manager-wp-client")))}const Ue=(...e)=>ke().__(...e),Se=(...e)=>ke()._i(...e);var Oe=a(8974);const Ie={path:"/feedback/:slug",method:m.RouteHttpVerb.POST},Te={labelCol:{span:24},wrapperCol:{span:24}},Ne={marginBottom:8},De=({initialValues:e={},plugin:t,name:a,privacyPolicy:n,privacyProvider:l,onClose:i,onDeactivate:o})=>{const c=(0,be.useMemo)((()=>({"upgrade-to-pro":Ue("Upgrade to PRO Version"),"not-working":Ue("Plugin does not work"),"missing-features":Ue("Not the features I want"),incompatible:Ue("Incompatible with themes/plugins"),"missing-doc":Ue("Lack of documentation"),"found-better-plugin":Ue("Found a better plugin"),temp:Ue("Temporary deactivation"),other:Ue("Other")})),[]),[d]=s.Z.useForm(),m="license-form-".concat(t),[p,h]=(0,be.useState)(!0),[g,y]=(0,be.useState)(!1),b=(0,be.useCallback)((()=>{window.confirm(Ue("Are you sure you want to leave the feedback form?"))&&h(!1)}),[]),v=(0,be.useCallback)((async e=>{const{reason:a="other",note:n="",email:l="",name:i=""}=e;try{y(!0),await R({location:Ie,params:{slug:t},request:{reason:a,note:n,email:l,name:l?i:""}}),null==o||o()}catch(e){var s,c,u;const{responseJSON:t}=e,a=null==t||null===(s=t.data)||void 0===s||null===(c=s.body)||void 0===c||null===(u=c[0])||void 0===u?void 0:u.code;if(["DeactivationFeedbackAlreadyGiven","DeactivationFeedbackMightBeSpam"].indexOf(a)>-1||!a)return void(null==o||o());var d,m,p;r.ZP.error(null==t||null===(d=t.data)||void 0===d||null===(m=d.body)||void 0===m||null===(p=m[0])||void 0===p?void 0:p.message)}finally{y(!1)}}),[d,t]);return React.createElement(ve.Z,{afterClose:i,onCancel:b,visible:p,footer:[React.createElement(fe.Z,{key:"skip",type:"default",onClick:o,className:"alignleft",disabled:g},React.createElement("b",null,Ue("Skip & Deactivate"))),React.createElement(fe.Z,{key:"submit",type:"primary",htmlType:"submit",form:m,disabled:g},Ue("Deactivate"))],title:React.createElement(React.Fragment,null,React.createElement(Oe.Z,{twoToneColor:"#eb2f96"})," ",Ue("Too bad you are leaving"))},React.createElement(we.Z,{spinning:g},React.createElement(s.Z,(0,u.Z)({name:m,id:m,form:d},Te,{onFinish:v,initialValues:e}),React.createElement(s.Z.Item,{name:"reason",label:React.createElement(React.Fragment,null,Ue("Please give us feedback why you deactivate %s.",a)),style:Ne,required:!0,rules:[{required:!0,message:Ue("Please provide a reason!")}]},React.createElement(Ee.ZP.Group,null,Object.keys(c).map((e=>React.createElement(Ee.ZP,{key:e,value:e,style:{width:"calc(50% - 8px)",float:"left"}},c[e]))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.reason!==t.reason},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Ue("What could we do better?"),name:"note",style:Ne},React.createElement(Re.Z.TextArea,{autoSize:{minRows:3}})),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{name:"email",label:Ue("Email for answer/solution"),style:Ne,rules:[{type:"email",required:e("answerTerms"),message:Ue("Please provide a valid e-mail address!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.email!==t.email},(({getFieldValue:e})=>React.createElement(React.Fragment,null,!!e("email")&&React.createElement(s.Z.Item,{name:"name",label:Ue("Name"),required:!0,style:Ne,rules:[{required:!0,message:Ue("Please provide a name!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{name:"answerTerms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!!e("email"),transform:e=>e||void 0,message:Ue("Please confirm that you have checked the privacy policy.")}],style:Ne},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.",l),{a:React.createElement("a",{href:n,target:"_blank",rel:"noreferrer"})})))))))))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.note!==t.note||e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>{const t=e("answerTerms")||!1,a=e("note")||"";return t?null:a.split(" ").length>=5?React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Ue("Allow us to reply to you by email and we will get back to you as soon as possible!"))):React.createElement("p",{className:"description",style:{marginTop:5}},Se(Ue("Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}."),{a:React.createElement("a",{href:Ue("https://devowl.io/support/"),target:"_blank",rel:"noreferrer"})}))})))))};function Fe(){document.addEventListener("click",(e=>{const{names:t,currentUserFullName:a}=he.get.optionStore.others,l=null==e?void 0:e.target;for(const r in t){const{plugin:i}=t[r];if(l.matches('tr[data-plugin="'.concat(i,'"] a[href*="action=deactivate"]'))){const i=document.createElement("div");document.body.appendChild(i),(0,n.render)(React.createElement(ye,null,React.createElement(De,(0,u.Z)({},t[r],{initialValues:{name:a},plugin:r,onClose:()=>{(0,n.unmountComponentAtNode)(i)},onDeactivate:()=>{window.location.href=l.href}}))),i),e.preventDefault(),e.stopImmediatePropagation();break}}}),!0)}const Ce="data-rpm-wp-client-plugin-update";function Ae(){document.addEventListener("click",(e=>{var t;const a=null===(t=e.target)||void 0===t?void 0:t.getAttribute(Ce);a&&(he.get.pluginUpdateStore.showInModal(a),e.preventDefault())}))}const _e="rpm-wp-client-plugin-update-";function ze(){const{hash:e}=window.location;if(e.startsWith("#".concat(_e))){const t=e.substr(_e.length+1);he.get.pluginUpdateStore.showInModal(t),window.location.hash=""}}var Le=a(3867),xe=a(6519),Me=a(2764);const Xe=(0,Le.Pi)((({license:e,linkWrapper:t,disabled:a,children:n})=>{const{busy:l,telemetryData:r,telemetryDataSharingOptIn:i}=e,[o,s]=(0,be.useState)(!1);return(0,be.useEffect)((()=>{o&&!r&&e.fetchTelemetryData()}),[o,r,e]),React.createElement(React.Fragment,null,React.createElement(ve.Z,{title:Ue("Telemetry data preview"),visible:o&&!a,onCancel:()=>s(!1),cancelText:Ue("Close"),okButtonProps:{style:{display:"none"}}},i&&React.createElement("p",{style:{marginTop:0,marginBottom:10}},Ue("At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.")),React.createElement("p",{style:{marginTop:0}},Ue("The following data (raw) will be sent to our server:")),React.createElement(we.Z,{spinning:l},React.createElement("textarea",{readOnly:!0,style:{width:"100%",height:300},value:r?JSON.stringify(r,null,4):""}))),React.createElement("span",{onClick:()=>!a&&s(!0)},t?React.createElement("a",{style:{textDecoration:"underline",cursor:"pointer"}},n):n))})),We=(0,Le.Pi)((({pluginUpdate:e})=>{const{privacyProvider:t,privacyPolicy:a,allowsTelemetry:n,allowsAutoUpdates:l,allowsNewsletter:r,licenses:[i]}=e;return React.createElement(React.Fragment,null,l&&React.createElement(s.Z.Item,{name:"autoUpdates",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("Updates containing bug fixes and new features will be downloaded and installed automatically."),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{name:"terms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:e=>e||void 0,message:Ue("Please confirm that you have read the privacy policy!")}],style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),n&&React.createElement(s.Z.Item,{name:"telemetry",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"}),aDataExample:React.createElement(Xe,{license:i,linkWrapper:!0})}))),r&&React.createElement(s.Z.Item,{name:"newsletter",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.newsletter!==t.newsletter},(({getFieldValue:e})=>e("newsletter")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Ue("First name"),name:"firstName",style:je,required:!0,rules:[{required:!0,message:Ue("Please enter your first name!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{label:Ue("Email"),name:"email",style:je,required:!0,rules:[{type:"email",required:!0,message:Ue("Please enter your email address!")}]},React.createElement(Re.Z,null)),React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Ue("Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.")))))))}));var Ke=a(8965),qe=a(4759);const Be=({url:e,style:t,label:a=Ue("Learn more")})=>{const n={cursor:"pointer",...t};return React.createElement(Ke.Z,{style:n,onClick:()=>window.open(e,"_blank")},React.createElement(qe.Z,null)," ",a)},Ve={labelCol:{span:24},wrapperCol:{span:24}},je={marginBottom:8},He=(0,Le.Pi)((({onSave:e,onFailure:t,footer:a,pluginUpdate:n})=>{const[l,i]=(0,be.useState)(!1),{busy:o,slug:c,allowsAutoUpdates:d,needsLicenseKeys:m,licenses:p,unlicensedEntries:h,noUsageEntries:g,modifiableEntries:y,invalidKeysError:b,accountSiteUrl:v,licenseKeyHelpUrl:f,name:w,potentialNewsletterUser:{firstName:E,email:R},showBlogName:Z,showNetworkWideUpdateIssueNotice:P}=n,k=p.length>1,U={licenses:p.map((({blog:e,code:t,installationType:a,hint:n,noUsage:l})=>{var r;return{blog:e,code:t||(n?null===(r=n.help.match(/(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})|(\w{32})/))||void 0===r?void 0:r[0]:"")||"",installationType:a||"",noUsage:l}})),autoUpdates:d,terms:!1,telemetry:!1,newsletter:!1,firstName:E,email:R},[S]=s.Z.useForm(),[O,I]=(0,be.useState)(g.length!==h.length),T=(0,be.useCallback)((async a=>{const{licenses:l,...i}=a,o={...i,licenses:JSON.stringify(m?l.filter((({blog:e})=>{const[t]=p.filter((t=>t.blog===e));return h.indexOf(t)>-1})):void 0)};try{await n.update(o),S.setFieldsValue({terms:!1,telemetry:!1,newsletter:!1}),r.ZP.success(Ue("Your license has been activated!")),null==e||e()}catch(e){throw n.invalidKeysError||r.ZP.error(e.responseJSON.message),null==t||t(),e}}),[n,e,p,h,m]),N=(0,be.useCallback)((async e=>{try{await T(e)}catch(e){}finally{i(!1)}}),[S,T,i]),D=(0,be.useCallback)((()=>{i(!0),I(!0)}),[]);return React.createElement(we.Z,{spinning:o},h.length>0&&React.createElement(React.Fragment,null,React.createElement("p",{className:"description",style:{marginBottom:15}},m?Ue("Activate your %s PRO license to receive regular updates and support.",w):Se(Ue("To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).",w),{strong:React.createElement("strong",null)})),P&&React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Ue("You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.",w)),React.createElement("p",null,Ue("Please enable %s network-wide or take care of regular updates manually! ",w))),React.createElement(s.Z,(0,u.Z)({name:"license-form-".concat(c),id:"license-form-".concat(c),form:S},Ve,{initialValues:U,onFinish:N,onFinishFailed:D,onChange:()=>{I(!0)}}),m&&React.createElement(React.Fragment,null,React.createElement(s.Z.List,{name:"licenses"},(e=>e.map(((e,t)=>{const{blog:a}=S.getFieldValue(["licenses",e.name]),[n]=p.filter((e=>e.blog===a));if(-1===h.indexOf(n))return null;const{busy:i,blogName:o,programmatically:c,host:d}=n,m=null==b?void 0:b[a],g=l?{}:m||n.hint,y=!(null==m||!m.debug.errors.LicenseMaxUsagesReached);let w;return"boolean"!=typeof g&&y&&(w=React.createElement("span",null,g.help," ",React.createElement(Be,{url:Ue("https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/")}))),React.createElement(we.Z,{spinning:i,key:e.key},React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(t,a)=>t.licenses[e.key].noUsage!==a.licenses[e.key].noUsage},(({getFieldValue:a})=>{const n=a(["licenses",e.key,"noUsage"]);return React.createElement(s.Z.Item,(0,u.Z)({label:React.createElement("span",null,h.length>1||Z?Se(Ue("Installation type and license key for {{strong}}%s{{/strong}}",o),{strong:React.createElement("strong",null)}):Ue("Installation type and license key")," ",React.createElement(Be,{url:f})),help:w},g,{required:!0,style:je}),!n&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"code"],name:[e.name,"code"],noStyle:!0,rules:[{pattern:/(^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$)|(^\w{32}$)/,required:!0,message:Ue("Please enter a valid license key!")}]},React.createElement(Re.Z,{placeholder:c?c.code:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",disabled:!!c,addonBefore:React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"installationType"],name:[e.name,"installationType"],noStyle:!0,rules:[{required:!0,message:Ue("Please choose an installation type!")}]},React.createElement(Me.Z,{placeholder:Ue("Installation type"),disabled:!!c},React.createElement(Me.Z.Option,{value:"",disabled:!0},c?"development"===c.type?Ue("Development"):Ue("Production"):Ue("Select installation type…")),React.createElement(Me.Z.Option,{value:"production"},Ue("Production")),React.createElement(Me.Z.Option,{value:"development"},Ue("Development"))))})),0===t&&React.createElement("p",{className:"description",style:{marginTop:5}},React.createElement("strong",null,Ue("What is an installation type?"))," ",Ue("You can use each license in both production and development environments.")," ",Se(Ue('Generally speaking, you use "{{strong}}Development{{/strong}}" when your site is not yet live, or it is a staging environment of your site. "{{strong}}Production{{/strong}}" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'),{strong:React.createElement("strong",null)}))),k&&React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"noUsage"],name:[e.name,"noUsage"],valuePropName:"checked",style:{marginTop:n?-25:0===t?-8:0,marginBottom:0}},React.createElement(Ze.Z,null,Ue("I do not want to license and use the plugin for this site within my multisite."))))})),c&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Se(Ue("This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.",d,a),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})," ","•"," ",React.createElement("a",{className:"button-link",onClick:async()=>{try{await n.retry(),n.hint&&r.ZP.error(n.hint.help)}catch(e){r.ZP.error(e.responseJSON.message)}}},Ue("Retry activation")))),y&&React.createElement("a",{href:v,target:"_blank",rel:"noreferrer",className:"button button-primary"},Ue("Manage licenses in the customer center")))})))),React.createElement(xe.Z,{type:"horizontal",style:{margin:"10px 0"}})),y.length>0&&React.createElement(React.Fragment,null,React.createElement("div",{style:{display:O?"block":"none"}},React.createElement(We,{pluginUpdate:n})),a))))}));var Ge=a(5799),Je=a(3897),Ye=a(811),$e=a(7847);const Qe=(0,Le.Pi)((({license:e,onDeactivate:t})=>{const{busy:a,installationType:n,telemetryDataSharingOptIn:l,blogName:i,code:o,remote:s,programmatically:u,host:d,blog:m,store:{needsLicenseKeys:p}}=e;return React.createElement(we.Z,{spinning:a},React.createElement(Ge.ZP.Item,{style:{paddingLeft:0,paddingRight:0},actions:[p&&React.createElement(c.Z,{key:"installationType"},React.createElement(Je.Z,null),"production"===n?Ue("Production"):"development"===n?Ue("Development"):"n/a"),s&&React.createElement(c.Z,{key:"activatedAt"},React.createElement(Ye.Z,null),Ue("Activated %s",new Date(s.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))),React.createElement(Xe,{key:"telemetryModal",license:e,disabled:!l},React.createElement(c.Z,{key:"telemetryDataSharingOptIn",style:{cursor:"pointer"}},React.createElement($e.Z,null),Ue(l?"Telemetry data sharing enabled":"Telemetry data sharing disabled"))),!u&&React.createElement("a",{key:"deactivate",className:"button-link",onClick:async()=>{try{await e.deactivate()}catch(e){r.ZP.error(e.responseJSON.message)}null==t||t(e)}},Ue("Deactivate"))].filter(Boolean)},React.createElement(Ge.ZP.Item.Meta,{title:i,description:p?React.createElement(React.Fragment,null,Ue("Your license key"),": ",React.createElement("code",null,o)):React.createElement(React.Fragment,null,Ue("Your installation is fully activated."),React.createElement("div",{style:{marginTop:15}},React.createElement("a",{rel:"noreferrer",href:Ue("https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/"),className:"button",target:"_blank"},Ue("Enter license key to unlock PRO features"))))}),u&&React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Se(Ue("This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!",d,m),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})))))})),et=(0,Le.Pi)((({onDeactivate:e,pluginUpdate:t})=>{const{licensedEntries:a}=t;return React.createElement(React.Fragment,null,React.createElement(Ge.ZP,{itemLayout:"vertical",size:"small",dataSource:a,renderItem:t=>React.createElement(Qe,{license:t,onDeactivate:e})}),React.createElement("p",{style:{textAlign:"right"}},React.createElement(Ze.Z,{disabled:t.busy,checked:t.announcementsActive,onChange:e=>t.setAnnouncementActive(e.target.checked)},Ue("Show announcements for this plugin"))))})),tt=(0,Le.Pi)((({slug:e})=>{var t;const a=ge().pluginUpdateStore.pluginUpdateFetchErrors.get(e),n=null==a||null===(t=a.responseJSON)||void 0===t?void 0:t.message;return React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"20px 0"}},React.createElement("p",null,Se(Ue("Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.",n?" (".concat(n,")"):""),{a:React.createElement("a",{href:Ue("https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"),target:"_blank",rel:"noreferrer"})})))})),at=(0,Le.Pi)((({formProps:e={},listProps:t={},slug:a})=>{const{pluginUpdateStore:n}=ge(),{busy:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=n,o=r.get(a),s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0;return(0,be.useEffect)((()=>{try{n.fetchPluginUpdate(a)}catch(e){}}),[a]),i.get(a)?React.createElement(tt,{slug:a}):l||!o?React.createElement(we.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Ue("Not yet licensed")),React.createElement(He,(0,u.Z)({},e,{pluginUpdate:o})),s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left"},Ue("Already licensed")),o.licensedEntries.length>0&&React.createElement(et,(0,u.Z)({},t,{pluginUpdate:o})))})),nt=(0,Le.Pi)((()=>{const[e,t]=(0,be.useState)(!1),{pluginUpdateStore:a}=ge(),{busy:n,modalPlugin:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=a,o=l?r.get(l):void 0,s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0,c=(0,be.useCallback)((()=>{if(e){const{checkUpdateLink:e}=o;e?window.location.href=e:window.location.reload()}else a.hideModal()}),[e,a,o]),u=(0,be.useCallback)((()=>t(!0)),[t]),d=i.get(l);return(0,be.useEffect)((()=>{document.body.classList[l?"add":"remove"]("rpm-wpc-antd-modal-open")}),[l]),l?React.createElement(ve.Z,{visible:!0,okButtonProps:{form:"license-form-".concat(null==o?void 0:o.slug),htmlType:"submit",style:{display:0===(null==o?void 0:o.unlicensedEntries.length)||d?"none":void 0}},cancelButtonProps:{style:{display:"none"}},onCancel:c,okText:Ue("Save"),title:o?React.createElement("span",{style:{fontWeight:"normal"}},React.createElement("strong",null,o.name,":")," ",Ue("License settings")):"",width:800},d?React.createElement(tt,{slug:l}):n||!o?React.createElement(we.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Ue("Not yet licensed")),React.createElement(He,{onSave:u,pluginUpdate:o}),s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left"},Ue("Already licensed")),o.licensedEntries.length>0&&React.createElement(et,{onDeactivate:u,pluginUpdate:o}))):null}));l.ZP.config({prefixCls:"rpm-wpc-antd"}),r.ZP.config({top:50}),Fe(),((e,t="complete")=>{new Promise((a=>{document.readyState===t?(null==e||e(),a()):document.addEventListener("readystatechange",(()=>{document.readyState===t&&(null==e||e(),a())}))}))})((()=>{const e=document.createElement("div");document.body.appendChild(e),(0,n.render)(React.createElement(ye,null,React.createElement(nt,null)),e),Ae(),ze()}))},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},7821:e=>{e.exports=mobx}},a={};function n(e){var l=a[e];if(void 0!==l)return l.exports;var r=a[e]={id:e,loaded:!1,exports:{}};return t[e](r,r.exports,n),r.loaded=!0,r.exports}n.m=t,e=[],n.O=(t,a,l,r)=>{if(!a){var i=1/0;for(u=0;u<e.length;u++){for(var[a,l,r]=e[u],o=!0,s=0;s<a.length;s++)(!1&r||i>=r)&&Object.keys(n.O).every((e=>n.O[e](a[s])))?a.splice(s--,1):(o=!1,r<i&&(i=r));if(o){e.splice(u--,1);var c=l();void 0!==c&&(t=c)}}return t}r=r||0;for(var u=e.length;u>0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[a,l,r]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={826:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var l,r,[i,o,s]=a,c=0;if(i.some((t=>0!==e[t]))){for(l in o)n.o(o,l)&&(n.m[l]=o[l]);if(s)var u=s(n)}for(t&&t(a);c<i.length;c++)r=i[c],n.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return n.O(u)},a=self.webpackChunkdevowlWp_realProductManagerWpClient=self.webpackChunkdevowlWp_realProductManagerWpClient||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})();var l=n.O(void 0,[764],(()=>n(1489)));l=n.O(l),devowlWp_realProductManagerWpClient=l})();
2
  //# sourceMappingURL=index.js.map
vendor/devowl-wp/real-product-manager-wp-client/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///external var \"devowlWp_utils\"","webpack:///./lib/store/option.tsx","webpack:///./lib/wp-api/announcementActive.post.tsx","webpack:///./lib/wp-api/pluginUpdate.patch.tsx","webpack:///./lib/wp-api/pluginUpdateSkip.post.tsx","webpack:///./lib/utils/request.tsx","webpack:///./lib/wp-api/licenseRetry.post.tsx","webpack:///./lib/wp-api/license.delete.tsx","webpack:///./lib/models/license.tsx","webpack:///./lib/models/pluginUpdate.tsx","webpack:///./lib/wp-api/pluginUpdate.get.tsx","webpack:///./lib/store/pluginUpdateStore.tsx","webpack:///./lib/store/stores.tsx","webpack:///./lib/components/provider.tsx","webpack:///./lib/utils/i18n.tsx","webpack:///./lib/wp-api/feedback.post.tsx","webpack:///./lib/components/feedback/modal.tsx","webpack:///./lib/others/listenPluginDeactivation.tsx","webpack:///./lib/others/listenPluginUpdateLinkClick.tsx","webpack:///./lib/others/listenHashPluginUpdate.tsx","webpack:///./lib/components/pluginUpdate/form/terms.tsx","webpack:///./lib/components/learnMoreTag.tsx","webpack:///./lib/components/pluginUpdate/form/form.tsx","webpack:///./lib/components/pluginUpdate/licenseList.tsx","webpack:///./lib/components/pluginUpdate/embed.tsx","webpack:///./lib/components/pluginUpdate/modal.tsx","webpack:///./lib/index.tsx","webpack:///./lib/utils/ready.tsx","webpack:///external var \"React\"","webpack:///external var \"ReactDOM\"","webpack:///external var \"mobx\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const __WEBPACK_NAMESPACE_OBJECT__ = devowlWp_utils;","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { observable, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nlet OptionStore = (_class = class OptionStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"others\", _descriptor, this);\n\n this.pureSlug = void 0;\n this.pureSlugCamelCased = void 0;\n this.rootStore = void 0;\n this.rootStore = rootStore;\n this.pureSlug = BaseOptions.getPureSlug(process.env.slug);\n this.pureSlugCamelCased = BaseOptions.getPureSlug(process.env.slug, true); // Use the localized WP object to fill this object values.\n\n runInAction(() => Object.assign(this, window[this.pureSlugCamelCased]));\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"others\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { OptionStore };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestAnnouncementActive = {\n path: \"/announcement/:slug/active\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdatePatch = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.PATCH\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateSkipPost = {\n path: \"/plugin-update/:slug/skip\",\n method: RouteHttpVerb.POST\n};","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createRequestFactory, BaseOptions } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createRequestFactory(window[BaseOptions.getPureSlug(process.env.slug, true)]);\n}\n\nconst urlBuilder = (...args) => get().urlBuilder(...args);\n\nconst request = (...args) => get().request(...args);\n\nexport { urlBuilder, request };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseRetry = {\n path: \"/plugin-update/:slug/license/:blogId/retry\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseDelete = {\n path: \"/plugin-update/:slug/license/:blogId\",\n method: RouteHttpVerb.DELETE\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10;\n\nimport { observable, set, runInAction, flow } from \"mobx\";\nimport { locationRestLicenseDelete, locationRestLicenseRetry } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet License = (_class = class License {\n constructor(license, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"blog\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"host\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"programmatically\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"blogName\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"installationType\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"code\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"hint\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"remote\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"noUsage\", _descriptor10, this);\n\n this.store = void 0;\n this.retry = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseRetry,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.deactivate = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseDelete,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => set(this, license));\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"blog\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"host\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"programmatically\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"blogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"installationType\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"code\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"hint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"remote\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"noUsage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { License };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;\n\nimport { observable, set, flow, computed, action } from \"mobx\";\nimport { locationRestPluginUpdatePatch, locationRestPluginUpdateSkipPost, locationRestAnnouncementActive } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { License } from \".\";\nlet PluginUpdate = (_class = class PluginUpdate {\n get licensedEntries() {\n return this.licenses.filter(({\n code\n }) => code);\n }\n\n get unlicensedEntries() {\n return this.licenses.filter(({\n code\n }) => !code);\n }\n\n get noUsageEntries() {\n return this.unlicensedEntries.filter(({\n noUsage\n }) => noUsage);\n }\n\n get modifiableEntries() {\n return this.unlicensedEntries.filter(({\n programmatically\n }) => !programmatically);\n }\n\n get isLicensed() {\n return this.unlicensedEntries.length === 0;\n }\n\n constructor(pluginUpdate, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"slug\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"licenses\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"hasInteractedWithFormOnce\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"needsLicenseKeys\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"announcementsActive\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"allowsAutoUpdates\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"allowsTelemetry\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"allowsNewsletter\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"potentialNewsletterUser\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"privacyProvider\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"privacyPolicy\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"accountSiteUrl\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"licenseKeyHelpUrl\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"checkUpdateLink\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"invalidKeysError\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"showBlogName\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"showNetworkWideUpdateIssueNotice\", _descriptor19, this);\n\n this.store = void 0;\n this.setAnnouncementActive = flow(function* (state) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestAnnouncementActive,\n params: {\n slug: this.slug\n },\n request: {\n state\n }\n });\n\n if (result.success) {\n this.announcementsActive = state;\n }\n\n return result.success;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.update = flow(function* (data) {\n this.busy = true;\n this.invalidKeysError = undefined;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdatePatch,\n params: {\n slug: this.slug\n },\n request: data\n });\n this.fromResponse(result);\n } catch (e) {\n var _e$responseJSON, _e$responseJSON$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON = e.responseJSON) !== null && _e$responseJSON !== void 0 && (_e$responseJSON$data = _e$responseJSON.data) !== null && _e$responseJSON$data !== void 0 && _e$responseJSON$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeys;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.skip = flow(function* () {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestPluginUpdateSkipPost,\n params: {\n slug: this.slug\n }\n });\n } catch (e) {\n var _e$responseJSON2, _e$responseJSON2$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON2 = e.responseJSON) !== null && _e$responseJSON2 !== void 0 && (_e$responseJSON2$data = _e$responseJSON2.data) !== null && _e$responseJSON2$data !== void 0 && _e$responseJSON2$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeysError;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fromResponse(pluginUpdate);\n this.store = store;\n }\n\n fromResponse({\n licenses,\n ...pluginUpdate\n }) {\n set(this, pluginUpdate);\n this.licenses = [];\n licenses === null || licenses === void 0 ? void 0 : licenses.forEach(license => {\n this.licenses.push(new License(license, this));\n });\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"slug\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"licenses\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"hasInteractedWithFormOnce\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"needsLicenseKeys\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"announcementsActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"allowsAutoUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"allowsTelemetry\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"allowsNewsletter\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"potentialNewsletterUser\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"privacyProvider\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"accountSiteUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"licenseKeyHelpUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"checkUpdateLink\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"invalidKeysError\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"showBlogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"showNetworkWideUpdateIssueNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"licensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"licensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"unlicensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"unlicensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"noUsageEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"noUsageEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"modifiableEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"modifiableEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"isLicensed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"isLicensed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"fromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"fromResponse\"), _class.prototype)), _class);\nexport { PluginUpdate };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateGet = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nimport { observable, flow, action } from \"mobx\";\nimport { PluginUpdate } from \"../models\";\nimport { request } from \"../utils\";\nimport { locationRestPluginUpdateGet } from \"../wp-api\";\nlet PluginUpdateStore = (_class = class PluginUpdateStore {\n constructor(rootStore) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"modalPlugin\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"pluginUpdates\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"pluginUpdateFetchErrors\", _descriptor4, this);\n\n this.rootStore = void 0;\n this.showInModal = flow(function* (slug) {\n this.modalPlugin = slug;\n\n try {\n yield this.fetchPluginUpdate(slug);\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchPluginUpdate = flow(function* (slug) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdateGet,\n params: {\n slug\n }\n });\n const pluginUpdate = new PluginUpdate(result, this);\n this.pluginUpdates.set(slug, pluginUpdate);\n this.pluginUpdateFetchErrors.delete(slug);\n return pluginUpdate;\n } catch (e) {\n console.log(e);\n this.pluginUpdateFetchErrors.set(slug, e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.rootStore = rootStore;\n }\n\n hideModal() {\n this.modalPlugin = undefined;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"modalPlugin\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdateFetchErrors\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"hideModal\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"hideModal\"), _class.prototype)), _class);\nexport { PluginUpdateStore };","import { configure } from \"mobx\";\nimport { createContextFactory } from \"@devowl-wp/utils\";\nimport { OptionStore, PluginUpdateStore } from \".\";\nconfigure({\n enforceActions: \"always\"\n});\n/**\n * A collection of all available stores which gets available\n * through the custom hook useStores in your function components.\n *\n * @see https://mobx.js.org/best/store.html#combining-multiple-stores\n */\n\nclass RootStore {\n get context() {\n return this.contextMemo ? this.contextMemo : this.contextMemo = createContextFactory(this);\n }\n\n constructor() {\n this.optionStore = void 0;\n this.pluginUpdateStore = void 0;\n this.contextMemo = void 0;\n this.optionStore = new OptionStore(this);\n this.pluginUpdateStore = new PluginUpdateStore(this);\n }\n\n static get StoreProvider() {\n return RootStore.get.context.StoreProvider;\n }\n\n static get get() {\n return RootStore.me ? RootStore.me : RootStore.me = new RootStore();\n }\n\n}\n\nRootStore.me = void 0;\n\nconst useStores = () => RootStore.get.context.useStores();\n\nexport { RootStore, useStores };","import { ConfigProvider } from \"antd\";\nimport { RootStore } from \"../store\";\n\nconst Provider = ({\n children\n}) => /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX\n}, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, children));\n\nexport { Provider };","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createLocalizationFactory } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createLocalizationFactory(\"\".concat(process.env.rootSlug, \"-\").concat(process.env.slug));\n}\n\nconst _n = (...args) => get()._n(...args);\n\nconst _nx = (...args) => get()._nx(...args);\n\nconst _x = (...args) => get()._x(...args);\n\nconst __ = (...args) => get().__(...args);\n\nconst _i = (...args) => get()._i(...args);\n\nexport { _n, _nx, _x, __, _i };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginFeedbackPost = {\n path: \"/feedback/:slug\",\n method: RouteHttpVerb.POST\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState, useMemo } from \"react\";\nimport { Button, Modal, Form, Spin, Input, Checkbox, Radio, message } from \"antd\";\nimport { request, _i, __ } from \"../../utils\";\nimport { HeartTwoTone } from \"@ant-design/icons\";\nimport { locationRestPluginFeedbackPost } from \"../../wp-api\";\nconst FEEDBACK_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\n\nconst FeedbackModal = ({\n initialValues = {},\n plugin,\n name,\n privacyPolicy,\n privacyProvider,\n onClose,\n onDeactivate\n}) => {\n const reasons = useMemo(() => ({\n \"upgrade-to-pro\": __(\"Upgrade to PRO Version\"),\n \"not-working\": __(\"Plugin does not work\"),\n \"missing-features\": __(\"Not the features I want\"),\n incompatible: __(\"Incompatible with themes/plugins\"),\n \"missing-doc\": __(\"Lack of documentation\"),\n \"found-better-plugin\": __(\"Found a better plugin\"),\n temp: __(\"Temporary deactivation\"),\n other: __(\"Other\")\n }), []);\n const [form] = Form.useForm();\n const formName = \"license-form-\".concat(plugin);\n const [visible, setVisible] = useState(true);\n const [busy, setBusy] = useState(false);\n const handleClose = useCallback(() => {\n if (window.confirm(__(\"Are you sure you want to leave the feedback form?\"))) {\n setVisible(false);\n }\n }, []);\n const handleFinish = useCallback(async store => {\n const {\n reason = \"other\",\n note = \"\",\n email = \"\",\n name = \"\"\n } = store;\n\n try {\n setBusy(true);\n await request({\n location: locationRestPluginFeedbackPost,\n params: {\n slug: plugin\n },\n request: {\n reason,\n note,\n email,\n name: email ? name : \"\" // Only send the name when an email got entered, too\n\n }\n });\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n } catch (e) {\n var _responseJSON$data, _responseJSON$data$bo, _responseJSON$data$bo2;\n\n const {\n responseJSON\n } = e;\n const code = responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data = responseJSON.data) === null || _responseJSON$data === void 0 ? void 0 : (_responseJSON$data$bo = _responseJSON$data.body) === null || _responseJSON$data$bo === void 0 ? void 0 : (_responseJSON$data$bo2 = _responseJSON$data$bo[0]) === null || _responseJSON$data$bo2 === void 0 ? void 0 : _responseJSON$data$bo2.code;\n\n if ([\"DeactivationFeedbackAlreadyGiven\", \"DeactivationFeedbackMightBeSpam\"].indexOf(code) > -1 || !code) {\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n return;\n } else {\n var _responseJSON$data2, _responseJSON$data2$b, _responseJSON$data2$b2;\n\n message.error(responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data2 = responseJSON.data) === null || _responseJSON$data2 === void 0 ? void 0 : (_responseJSON$data2$b = _responseJSON$data2.body) === null || _responseJSON$data2$b === void 0 ? void 0 : (_responseJSON$data2$b2 = _responseJSON$data2$b[0]) === null || _responseJSON$data2$b2 === void 0 ? void 0 : _responseJSON$data2$b2.message);\n }\n } finally {\n setBusy(false);\n }\n }, [form, plugin]);\n return /*#__PURE__*/React.createElement(Modal, {\n afterClose: onClose,\n onCancel: handleClose,\n visible: visible,\n footer: [/*#__PURE__*/React.createElement(Button, {\n key: \"skip\",\n type: \"default\",\n onClick: onDeactivate,\n className: \"alignleft\",\n disabled: busy\n }, /*#__PURE__*/React.createElement(\"b\", null, __(\"Skip & Deactivate\"))), /*#__PURE__*/React.createElement(Button, {\n key: \"submit\",\n type: \"primary\",\n htmlType: \"submit\",\n form: formName,\n disabled: busy\n }, __(\"Deactivate\"))],\n title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeartTwoTone, {\n twoToneColor: \"#eb2f96\"\n }), \" \", __(\"Too bad you are leaving\"))\n }, /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(Form, _extends({\n name: formName,\n id: formName,\n form: form\n }, FEEDBACK_FORM_LAYOUT, {\n onFinish: handleFinish,\n initialValues: initialValues\n }), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"reason\",\n label: /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Please give us feedback why you deactivate %s.\", name)),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please provide a reason!\")\n }]\n }, /*#__PURE__*/React.createElement(Radio.Group, null, Object.keys(reasons).map(choice => /*#__PURE__*/React.createElement(Radio, {\n key: choice,\n value: choice,\n style: {\n width: \"calc(50% - 8px)\",\n float: \"left\"\n }\n }, reasons[choice])))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.reason !== nextValues.reason\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"What could we do better?\"),\n name: \"note\",\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n name: \"email\",\n label: __(\"Email for answer/solution\"),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n type: \"email\",\n required: getFieldValue(\"answerTerms\"),\n message: __(\"Please provide a valid e-mail address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.email !== nextValues.email\n }, ({\n getFieldValue\n }) => /*#__PURE__*/React.createElement(React.Fragment, null, !!getFieldValue(\"email\") && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"name\",\n label: __(\"Name\"),\n required: true,\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"answerTerms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: !!getFieldValue(\"email\"),\n transform: value => value || undefined,\n message: __(\"Please confirm that you have checked the privacy policy.\")\n }],\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))))))))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.note !== nextValues.note || prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => {\n const answerTerms = getFieldValue(\"answerTerms\") || false;\n const note = getFieldValue(\"note\") || \"\";\n\n if (answerTerms) {\n return null;\n }\n\n return note.split(\" \").length >= 5 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Allow us to reply to you by email and we will get back to you as soon as possible!\"))) : /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, _i(__(\"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }));\n }))));\n};\n\nexport { FeedbackModal };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport { FeedbackModal, Provider } from \"../components\";\nimport { RootStore } from \"../store\";\n\nfunction listenPluginDeactivation() {\n document.addEventListener(\"click\", e => {\n const {\n names,\n currentUserFullName\n } = RootStore.get.optionStore.others;\n const link = e === null || e === void 0 ? void 0 : e.target;\n\n for (const slug in names) {\n const {\n plugin\n } = names[slug];\n\n if (link.matches(\"tr[data-plugin=\\\"\".concat(plugin, \"\\\"] a[href*=\\\"action=deactivate\\\"]\"))) {\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(FeedbackModal, _extends({}, names[slug], {\n initialValues: {\n name: currentUserFullName\n },\n plugin: slug,\n onClose: () => {\n unmountComponentAtNode(node);\n },\n onDeactivate: () => {\n window.location.href = link.href;\n }\n }))), node);\n e.preventDefault(); // Stop `real-utils` functionality\n\n e.stopImmediatePropagation();\n break;\n }\n }\n }, true);\n}\n\nexport { listenPluginDeactivation };","import { RootStore } from \"../store\";\nconst CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE = \"data-rpm-wp-client-plugin-update\";\n/**\n * Listen to clicks on `<a data-rpm-wp-client-license=\"\"` links and open the license modal.\n */\n\nfunction listenPluginUpdateLinkClick() {\n document.addEventListener(\"click\", e => {\n var _e$target;\n\n const plugin = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.getAttribute(CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE);\n\n if (plugin) {\n RootStore.get.pluginUpdateStore.showInModal(plugin);\n e.preventDefault();\n }\n });\n}\n\nexport { listenPluginUpdateLinkClick, CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE };","import { RootStore } from \"../store\";\nconst HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX = \"rpm-wp-client-plugin-update-\";\n/**\n * Listen to window hash links and open the license modal.\n */\n\nfunction listenHashPluginUpdate() {\n const {\n hash\n } = window.location;\n\n if (hash.startsWith(\"#\".concat(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX))) {\n const slug = hash.substr(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX.length + 1);\n RootStore.get.pluginUpdateStore.showInModal(slug); // Reset, should not be visible in URL\n\n window.location.hash = \"\";\n }\n}\n\nexport { listenHashPluginUpdate, HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX };","import { Form, Input, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM } from \".\";\nconst PluginUpdateTermFields = observer(({\n pluginUpdate\n}) => {\n const {\n privacyProvider,\n privacyPolicy,\n allowsTelemetry,\n allowsAutoUpdates,\n allowsNewsletter\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, allowsAutoUpdates && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"autoUpdates\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"Updates containing bug fixes and new features will be downloaded and installed automatically.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"terms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: value => value || undefined,\n message: __(\"Please confirm that you have read the privacy policy!\")\n }],\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), allowsTelemetry && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"telemetry\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), allowsNewsletter && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"newsletter\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.newsletter !== nextValues.newsletter\n }, ({\n getFieldValue\n }) => getFieldValue(\"newsletter\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"First name\"),\n name: \"firstName\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please enter your first name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"Email\"),\n name: \"email\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n type: \"email\",\n required: true,\n message: __(\"Please enter your email address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.\"))))));\n});\nexport { PluginUpdateTermFields };","import { Tag } from \"antd\";\nimport { QuestionCircleFilled } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\n\nconst LearnMoreTag = ({\n url,\n style = undefined,\n label = __(\"Learn more\")\n}) => {\n const useStyle = {\n cursor: \"pointer\",\n ...style\n };\n return /*#__PURE__*/React.createElement(Tag, {\n style: useStyle,\n onClick: () => window.open(url, \"_blank\")\n }, /*#__PURE__*/React.createElement(QuestionCircleFilled, null), \" \", label);\n};\n\nexport { LearnMoreTag };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState } from \"react\";\nimport { Form, Input, Select, Divider, Spin, message, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PluginUpdateTermFields } from \".\";\nimport { LearnMoreTag } from \"../..\";\nconst PLUGIN_UPDATE_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\nconst PluginUpdateForm = observer(({\n onSave,\n onFailure,\n footer,\n pluginUpdate\n}) => {\n const [forceFormValidateStatus, setForceFormValidateStatus] = useState(false);\n const {\n busy,\n slug,\n allowsAutoUpdates,\n needsLicenseKeys,\n licenses,\n unlicensedEntries,\n noUsageEntries,\n modifiableEntries,\n invalidKeysError,\n accountSiteUrl,\n licenseKeyHelpUrl,\n name,\n potentialNewsletterUser: {\n firstName,\n email\n },\n showBlogName,\n showNetworkWideUpdateIssueNotice\n } = pluginUpdate;\n const allowNoUsage = licenses.length > 1; // only allow \"No usage\" within multisite\n\n const initialValues = {\n licenses: licenses.map(({\n blog,\n code,\n installationType,\n hint,\n noUsage\n }) => {\n var _hint$help$match;\n\n return {\n blog,\n code: code || ( // Read a code from the hint\n hint ? (_hint$help$match = hint.help.match(/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})|(\\w{32})/)) === null || _hint$help$match === void 0 ? void 0 : _hint$help$match[0] : \"\") || \"\",\n installationType: installationType || \"\",\n noUsage\n };\n }),\n autoUpdates: allowsAutoUpdates,\n terms: false,\n telemetry: false,\n newsletter: false,\n firstName,\n email\n };\n const [form] = Form.useForm();\n const [showTermFields, setShowTermFields] = useState(noUsageEntries.length !== unlicensedEntries.length);\n const handleSave = useCallback(async values => {\n const {\n licenses: formLicenses,\n ...meta\n } = values;\n const newMeta = { ...meta,\n licenses: JSON.stringify(needsLicenseKeys ? // Remove all entries which are already licensed\n formLicenses.filter(({\n blog\n }) => {\n const [foundLicense] = licenses.filter(k => k.blog === blog);\n return unlicensedEntries.indexOf(foundLicense) > -1;\n }) : // The free version does not show any inputs for license keys and license activation is done by backend\n undefined)\n };\n\n try {\n await pluginUpdate.update(newMeta);\n form.setFieldsValue({\n terms: false,\n telemetry: false,\n newsletter: false\n });\n message.success(__(\"Your license has been activated!\"));\n onSave === null || onSave === void 0 ? void 0 : onSave();\n } catch (e) {\n if (!pluginUpdate.invalidKeysError) {\n message.error(e.responseJSON.message);\n } // No error needed cause it is catch trough `invalidKeysError`\n\n\n onFailure === null || onFailure === void 0 ? void 0 : onFailure();\n throw e;\n }\n }, [pluginUpdate, onSave, licenses, unlicensedEntries, needsLicenseKeys]);\n const onFinish = useCallback(async values => {\n try {\n await handleSave(values);\n } catch (e) {// Silence is golden.\n } finally {\n setForceFormValidateStatus(false);\n }\n }, [form, handleSave, setForceFormValidateStatus]);\n const onFinishFailed = useCallback(() => {\n setForceFormValidateStatus(true);\n setShowTermFields(true);\n }, []);\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, unlicensedEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginBottom: 15\n }\n }, needsLicenseKeys ? __(\"Activate your %s PRO license to receive regular updates and support.\", name) : _i(__(\"To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).\", name), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), showNetworkWideUpdateIssueNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.\", name)), /*#__PURE__*/React.createElement(\"p\", null, __(\"Please enable %s network-wide or take care of regular updates manually! \", name))), /*#__PURE__*/React.createElement(Form, _extends({\n name: \"license-form-\".concat(slug),\n id: \"license-form-\".concat(slug),\n form: form\n }, PLUGIN_UPDATE_FORM_LAYOUT, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onChange: () => {\n setShowTermFields(true);\n }\n }), needsLicenseKeys && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.List, {\n name: \"licenses\"\n }, fields => fields.map((field, index) => {\n const {\n blog\n } = form.getFieldValue([\"licenses\", field.name]);\n const [foundLicense] = licenses.filter(k => k.blog === blog); // Already licensed, do not show in form again\n\n if (unlicensedEntries.indexOf(foundLicense) === -1) {\n return null;\n }\n\n const {\n busy: licenseBusy,\n blogName,\n programmatically,\n host\n } = foundLicense;\n const lastBlogPutError = invalidKeysError === null || invalidKeysError === void 0 ? void 0 : invalidKeysError[blog]; // Hints priority: Form handling, POST-Request, Hint coming from license deactivation\n\n const useHint = forceFormValidateStatus ? {} : lastBlogPutError || foundLicense.hint;\n const isLicenseMaxUsagesReached = !!(lastBlogPutError !== null && lastBlogPutError !== void 0 && lastBlogPutError.debug.errors[\"LicenseMaxUsagesReached\"]); // Modify hint for LicenseMaxUsagesReached error and show a \"Learn more tag\"\n\n let customHelp;\n\n if (typeof useHint !== \"boolean\" && isLicenseMaxUsagesReached) {\n customHelp = /*#__PURE__*/React.createElement(\"span\", null, useHint.help, \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/\")\n }));\n }\n\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: licenseBusy,\n key: field.key\n }, /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.licenses[field.key].noUsage !== nextValues.licenses[field.key].noUsage\n }, ({\n getFieldValue\n }) => {\n const noUsage = getFieldValue([\"licenses\", field.key, \"noUsage\"]);\n return /*#__PURE__*/React.createElement(Form.Item, _extends({\n label: /*#__PURE__*/React.createElement(\"span\", null, unlicensedEntries.length > 1 || showBlogName ? _i(__(\"Installation type and license key for {{strong}}%s{{/strong}}\", blogName), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }) : __(\"Installation type and license key\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: licenseKeyHelpUrl\n })),\n help: customHelp\n }, useHint, {\n required: true,\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }), !noUsage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"code\"],\n name: [field.name, \"code\"],\n noStyle: true,\n rules: [{\n // Allow UUID format and additionally a custom 32-length string\n pattern: /(^\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12}$)|(^\\w{32}$)/,\n required: true,\n message: __(\"Please enter a valid license key!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, {\n placeholder: programmatically ? programmatically.code : \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n disabled: !!programmatically,\n addonBefore: /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"installationType\"],\n name: [field.name, \"installationType\"],\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an installation type!\")\n }]\n }, /*#__PURE__*/React.createElement(Select, {\n placeholder: __(\"Installation type\"),\n disabled: !!programmatically\n }, /*#__PURE__*/React.createElement(Select.Option, {\n value: \"\",\n disabled: true\n }, programmatically ? programmatically.type === \"development\" ? __(\"Development\") : __(\"Production\") : __(\"Select installation type…\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"production\"\n }, __(\"Production\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"development\"\n }, __(\"Development\"))))\n })), index === 0 && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, __(\"What is an installation type?\")), \" \", __(\"You can use each license in both production and development environments.\"), \" \", _i(__('Generally speaking, you use \"{{strong}}Development{{/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }))), allowNoUsage && /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"noUsage\"],\n name: [field.name, \"noUsage\"],\n valuePropName: \"checked\",\n style: {\n marginTop: noUsage ? -25 : index === 0 ? -8 : 0,\n marginBottom: 0\n }\n }, /*#__PURE__*/React.createElement(Checkbox, null, __(\"I do not want to license and use the plugin for this site within my multisite.\"))));\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n className: \"button-link\",\n onClick: async () => {\n try {\n await foundLicense.retry();\n\n if (foundLicense.hint) {\n message.error(foundLicense.hint.help);\n }\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n }\n }, __(\"Retry activation\")))), isLicenseMaxUsagesReached && /*#__PURE__*/React.createElement(\"a\", {\n href: accountSiteUrl,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button button-primary\"\n }, __(\"Manage licenses in the customer center\")));\n })), /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n style: {\n margin: \"10px 0\"\n }\n })), modifiableEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: showTermFields ? \"block\" : \"none\"\n }\n }, /*#__PURE__*/React.createElement(PluginUpdateTermFields, {\n pluginUpdate: pluginUpdate\n })), footer))));\n});\nexport { PluginUpdateForm, PLUGIN_UPDATE_FORM_LAYOUT, PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { List, Space, Spin, message, Checkbox } from \"antd\";\nimport { ClockCircleOutlined, CloudServerOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\nconst PluginUpdateLicenseList = observer(({\n onDeactivate,\n pluginUpdate\n}) => {\n const {\n licensedEntries,\n needsLicenseKeys\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(List, {\n itemLayout: \"vertical\",\n size: \"small\",\n dataSource: licensedEntries,\n renderItem: item => {\n const {\n busy,\n installationType,\n blogName,\n code,\n remote,\n programmatically,\n host,\n blog\n } = item;\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(List.Item, {\n style: {\n paddingLeft: 0,\n paddingRight: 0\n },\n actions: [needsLicenseKeys && /*#__PURE__*/React.createElement(Space, {\n key: \"installationType\"\n }, /*#__PURE__*/React.createElement(CloudServerOutlined, null), installationType === \"production\" ? __(\"Production\") : installationType === \"development\" ? __(\"Development\") : \"n/a\"), remote && /*#__PURE__*/React.createElement(Space, {\n key: \"activatedAt\"\n }, /*#__PURE__*/React.createElement(ClockCircleOutlined, null), __(\"Activated %s\", new Date(remote.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))), remote && /*#__PURE__*/React.createElement(Space, {\n key: \"telemetryDataSharingOptIn\"\n }, /*#__PURE__*/React.createElement(CloudUploadOutlined, null), remote.licenseActivation.telemetryDataSharingOptIn ? __(\"Telemetry data sharing enabled\") : __(\"Telemetry data sharing disabled\")), !programmatically && /*#__PURE__*/React.createElement(\"a\", {\n key: \"deactivate\",\n className: \"button-link\",\n onClick: async () => {\n try {\n await item.deactivate();\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate(item);\n }\n }, __(\"Deactivate\"))].filter(Boolean)\n }, /*#__PURE__*/React.createElement(List.Item.Meta, {\n title: blogName,\n description: needsLicenseKeys ? /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your license key\"), \": \", /*#__PURE__*/React.createElement(\"code\", null, code)) : /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your installation is fully activated.\"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: 15\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n rel: \"noreferrer\",\n href: __(\"https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/\"),\n className: \"button\",\n target: \"_blank\"\n }, __(\"Enter license key to unlock PRO features\"))))\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })))));\n }\n }), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n textAlign: \"right\"\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n disabled: pluginUpdate.busy,\n checked: pluginUpdate.announcementsActive,\n onChange: e => pluginUpdate.setAnnouncementActive(e.target.checked)\n }, __(\"Show announcements for this plugin\"))));\n});\nexport { PluginUpdateLicenseList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Spin } from \"antd\";\nimport { PluginUpdateForm, PluginUpdateLicenseList } from \".\";\nimport { _i, __ } from \"../../utils\";\nconst PluginUpdateErrorNotice = observer(({\n slug\n}) => {\n var _error$responseJSON;\n\n const error = useStores().pluginUpdateStore.pluginUpdateFetchErrors.get(slug);\n const errorMessage = error === null || error === void 0 ? void 0 : (_error$responseJSON = error.responseJSON) === null || _error$responseJSON === void 0 ? void 0 : _error$responseJSON.message;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"20px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.\", errorMessage ? \" (\".concat(errorMessage, \")\") : \"\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })));\n});\n/**\n * Embed the license form and list of activated licenses into your app.\n * Please consider, that this embed does not provide any buttons, please provide\n * them yourself with `<button form=\"license-form-$slug\"`>\n */\n\nconst PluginUpdateEmbed = observer(({\n formProps = {},\n listProps = {},\n slug\n}) => {\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = pluginUpdates.get(slug);\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n useEffect(() => {\n try {\n pluginUpdateStore.fetchPluginUpdate(slug);\n } catch (e) {// Silence is golden.\n }\n }, [slug]);\n return pluginUpdateFetchErrors.get(slug) ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: slug\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, _extends({}, formProps, {\n pluginUpdate: pluginUpdate\n })), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, _extends({}, listProps, {\n pluginUpdate: pluginUpdate\n })));\n});\nexport { PluginUpdateErrorNotice, PluginUpdateEmbed };","import { useCallback, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Modal, Spin } from \"antd\";\nimport { __ } from \"../../utils\";\nimport { PluginUpdateForm, PluginUpdateLicenseList, PluginUpdateErrorNotice } from \".\";\nconst PluginUpdateModal = observer(() => {\n const [doReloadAfterClose, setDoReloadAfterClose] = useState(false);\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n modalPlugin,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = modalPlugin ? pluginUpdates.get(modalPlugin) : undefined;\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n const handleCancel = useCallback(() => {\n if (doReloadAfterClose) {\n const {\n checkUpdateLink\n } = pluginUpdate;\n\n if (checkUpdateLink) {\n window.location.href = checkUpdateLink;\n } else {\n window.location.reload();\n }\n } else {\n pluginUpdateStore.hideModal();\n }\n }, [doReloadAfterClose, pluginUpdateStore, pluginUpdate]);\n const handleChange = useCallback(() => setDoReloadAfterClose(true), [setDoReloadAfterClose]);\n const error = pluginUpdateFetchErrors.get(modalPlugin);\n useEffect(() => {\n document.body.classList[modalPlugin ? \"add\" : \"remove\"](\"rpm-wpc-antd-modal-open\");\n }, [modalPlugin]);\n return modalPlugin ? /*#__PURE__*/React.createElement(Modal, {\n visible: true,\n okButtonProps: {\n form: \"license-form-\".concat(pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.slug),\n htmlType: \"submit\",\n style: {\n display: (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) === 0 || error ? \"none\" : undefined\n }\n },\n cancelButtonProps: {\n style: {\n display: \"none\"\n }\n },\n onCancel: handleCancel,\n okText: __(\"Save\"),\n title: pluginUpdate ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: \"normal\"\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, pluginUpdate.name, \":\"), \" \", __(\"License settings\")) : \"\",\n width: 800\n }, error ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: modalPlugin\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, {\n onSave: handleChange,\n pluginUpdate: pluginUpdate\n }), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, {\n onDeactivate: handleChange,\n pluginUpdate: pluginUpdate\n }))) : null;\n});\nexport { PluginUpdateModal };","/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource.\n */\nimport { render } from \"react-dom\";\nimport { message, ConfigProvider, Avatar, Card, Form, Space } from \"antd\";\nimport \"./style/antd.less\";\nimport { listenHashPluginUpdate, listenPluginDeactivation, listenPluginUpdateLinkClick } from \"./others\";\nimport { PluginUpdateModal, Provider } from \"./components\";\nimport { ready } from \"./utils\"; // Configure prefix for root (https://bit.ly/3wb2pv9)\n\nConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\nmessage.config({\n top: 50\n});\nlistenPluginDeactivation();\nready(() => {\n // Create main component for all available features (e.g. license modal)\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(PluginUpdateModal, null)), node);\n listenPluginUpdateLinkClick();\n listenHashPluginUpdate();\n});\nexport * from \"./others\";\nexport * from \"./components\";\nexport * from \"./wp-api\";\nexport * from \"./store\"; // Provide some UI elements so other plugins can use the same antd class prefix e.g. extending the update modal form\n// Currently only used for Real Media Library as it does not yet use an own class prefix\n\nexport { Avatar, Card, Form, Space };","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nconst ready = (fn, state = \"complete\") => {\n return new Promise(resolve => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n } else {\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n }\n });\n }\n });\n};\n\nexport { ready };","module.exports = React;","module.exports = ReactDOM;","module.exports = mobx;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [764], () => (__webpack_require__(8428)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","devowlWp_utils","_class","_descriptor","OptionStore","BaseOptions","constructor","rootStore","super","this","pureSlug","pureSlugCamelCased","runInAction","Object","assign","window","prototype","observable","configurable","enumerable","writable","initializer","locationRestAnnouncementActive","path","method","RouteHttpVerb","locationRestPluginUpdatePatch","locationRestPluginUpdateSkipPost","FACTORY_MEMO","request","args","createRequestFactory","locationRestLicenseRetry","locationRestLicenseDelete","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","License","license","store","retry","flow","busy","result","location","params","slug","blogId","blog","set","e","console","log","deactivate","_descriptor11","_descriptor12","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","PluginUpdate","licensedEntries","licenses","filter","code","unlicensedEntries","noUsageEntries","noUsage","modifiableEntries","programmatically","isLicensed","length","pluginUpdate","setAnnouncementActive","state","success","announcementsActive","update","data","invalidKeysError","undefined","fromResponse","_e$responseJSON","_e$responseJSON$data","responseJSON","invalidKeys","skip","_e$responseJSON2","_e$responseJSON2$data","forEach","push","computed","getOwnPropertyDescriptor","action","locationRestPluginUpdateGet","PluginUpdateStore","showInModal","modalPlugin","fetchPluginUpdate","pluginUpdates","pluginUpdateFetchErrors","delete","hideModal","Map","configure","enforceActions","RootStore","context","contextMemo","createContextFactory","optionStore","pluginUpdateStore","StoreProvider","get","me","useStores","Provider","children","React","createElement","prefixCls","createLocalizationFactory","concat","__","_i","locationRestPluginFeedbackPost","FEEDBACK_FORM_LAYOUT","labelCol","span","wrapperCol","FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM","marginBottom","FeedbackModal","initialValues","plugin","name","privacyPolicy","privacyProvider","onClose","onDeactivate","reasons","useMemo","incompatible","temp","other","form","formName","visible","setVisible","useState","setBusy","handleClose","useCallback","confirm","handleFinish","async","reason","note","email","_responseJSON$data","_responseJSON$data$bo","_responseJSON$data$bo2","body","indexOf","_responseJSON$data2","_responseJSON$data2$b","_responseJSON$data2$b2","message","afterClose","onCancel","footer","key","type","onClick","className","disabled","htmlType","title","Fragment","HeartTwoTone","twoToneColor","spinning","id","onFinish","label","style","required","rules","keys","map","choice","value","width","float","noStyle","shouldUpdate","prevValues","nextValues","getFieldValue","autoSize","minRows","answerTerms","valuePropName","transform","zoom","a","href","target","rel","split","margin","marginTop","listenPluginDeactivation","document","addEventListener","names","currentUserFullName","others","link","matches","node","appendChild","render","unmountComponentAtNode","preventDefault","stopImmediatePropagation","CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE","listenPluginUpdateLinkClick","_e$target","getAttribute","HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX","listenHashPluginUpdate","hash","startsWith","substr","PluginUpdateTermFields","allowsTelemetry","allowsAutoUpdates","allowsNewsletter","PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM","newsletter","LearnMoreTag","url","useStyle","cursor","open","QuestionCircleFilled","PLUGIN_UPDATE_FORM_LAYOUT","PluginUpdateForm","onSave","onFailure","forceFormValidateStatus","setForceFormValidateStatus","needsLicenseKeys","accountSiteUrl","licenseKeyHelpUrl","potentialNewsletterUser","firstName","showBlogName","showNetworkWideUpdateIssueNotice","allowNoUsage","installationType","hint","_hint$help$match","help","match","autoUpdates","terms","telemetry","showTermFields","setShowTermFields","handleSave","formLicenses","meta","values","newMeta","JSON","stringify","foundLicense","k","setFieldsValue","onFinishFailed","strong","onChange","fields","field","index","licenseBusy","blogName","host","lastBlogPutError","useHint","isLicenseMaxUsagesReached","debug","errors","customHelp","fieldKey","pattern","placeholder","addonBefore","display","PluginUpdateLicenseList","itemLayout","size","dataSource","renderItem","item","remote","paddingLeft","paddingRight","actions","CloudServerOutlined","ClockCircleOutlined","Date","licenseActivation","activatedAt","toLocaleString","documentElement","lang","CloudUploadOutlined","telemetryDataSharingOptIn","Boolean","description","textAlign","checked","PluginUpdateErrorNotice","_error$responseJSON","error","errorMessage","PluginUpdateEmbed","formProps","listProps","showHeadline","useEffect","orientation","PluginUpdateModal","doReloadAfterClose","setDoReloadAfterClose","handleCancel","checkUpdateLink","reload","handleChange","classList","okButtonProps","cancelButtonProps","okText","fontWeight","top","fn","Promise","resolve","readyState","ready","module","exports","ReactDOM","mobx","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","g","globalThis","Function","obj","prop","hasOwnProperty","call","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///external var \"devowlWp_utils\"","webpack:///./lib/store/option.tsx","webpack:///./lib/wp-api/announcementActive.post.tsx","webpack:///./lib/wp-api/pluginUpdate.patch.tsx","webpack:///./lib/wp-api/pluginUpdateSkip.post.tsx","webpack:///./lib/utils/request.tsx","webpack:///./lib/wp-api/licenseRetry.post.tsx","webpack:///./lib/wp-api/license.delete.tsx","webpack:///./lib/wp-api/licenseTelemetry.get.tsx","webpack:///./lib/models/license.tsx","webpack:///./lib/models/pluginUpdate.tsx","webpack:///./lib/wp-api/pluginUpdate.get.tsx","webpack:///./lib/store/pluginUpdateStore.tsx","webpack:///./lib/store/stores.tsx","webpack:///./lib/components/provider.tsx","webpack:///./lib/utils/i18n.tsx","webpack:///./lib/wp-api/feedback.post.tsx","webpack:///./lib/components/feedback/modal.tsx","webpack:///./lib/others/listenPluginDeactivation.tsx","webpack:///./lib/others/listenPluginUpdateLinkClick.tsx","webpack:///./lib/others/listenHashPluginUpdate.tsx","webpack:///./lib/components/pluginUpdate/licenseTelemetryDataModal.tsx","webpack:///./lib/components/pluginUpdate/form/terms.tsx","webpack:///./lib/components/learnMoreTag.tsx","webpack:///./lib/components/pluginUpdate/form/form.tsx","webpack:///./lib/components/pluginUpdate/licenseListItem.tsx","webpack:///./lib/components/pluginUpdate/licenseList.tsx","webpack:///./lib/components/pluginUpdate/embed.tsx","webpack:///./lib/components/pluginUpdate/modal.tsx","webpack:///./lib/index.tsx","webpack:///./lib/utils/ready.tsx","webpack:///external var \"React\"","webpack:///external var \"ReactDOM\"","webpack:///external var \"mobx\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const __WEBPACK_NAMESPACE_OBJECT__ = devowlWp_utils;","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { observable, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nlet OptionStore = (_class = class OptionStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"others\", _descriptor, this);\n\n this.pureSlug = void 0;\n this.pureSlugCamelCased = void 0;\n this.rootStore = void 0;\n this.rootStore = rootStore;\n this.pureSlug = BaseOptions.getPureSlug(process.env.slug);\n this.pureSlugCamelCased = BaseOptions.getPureSlug(process.env.slug, true); // Use the localized WP object to fill this object values.\n\n runInAction(() => Object.assign(this, window[this.pureSlugCamelCased]));\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"others\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { OptionStore };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestAnnouncementActive = {\n path: \"/announcement/:slug/active\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdatePatch = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.PATCH\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateSkipPost = {\n path: \"/plugin-update/:slug/skip\",\n method: RouteHttpVerb.POST\n};","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createRequestFactory, BaseOptions } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createRequestFactory(window[BaseOptions.getPureSlug(process.env.slug, true)]);\n}\n\nconst urlBuilder = (...args) => get().urlBuilder(...args);\n\nconst request = (...args) => get().request(...args);\n\nexport { urlBuilder, request };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseRetry = {\n path: \"/plugin-update/:slug/license/:blogId/retry\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseDelete = {\n path: \"/plugin-update/:slug/license/:blogId\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseTelemetryGet = {\n path: \"/plugin-update/:slug/telemetry/:blogId\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12;\n\nimport { observable, set, runInAction, flow } from \"mobx\";\nimport { locationRestLicenseDelete, locationRestLicenseRetry, locationRestLicenseTelemetryGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet License = (_class = class License {\n constructor(license, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"blog\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"host\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"programmatically\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"blogName\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"installationType\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"telemetryDataSharingOptIn\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"code\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"hint\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"remote\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"noUsage\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"telemetryData\", _descriptor12, this);\n\n this.store = void 0;\n this.retry = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseRetry,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.deactivate = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseDelete,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fetchTelemetryData = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseTelemetryGet,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n this.telemetryData = result;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => set(this, license));\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"blog\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"host\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"programmatically\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"blogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"installationType\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"telemetryDataSharingOptIn\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"code\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"hint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"remote\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"noUsage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"telemetryData\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { License };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;\n\nimport { observable, set, flow, computed, action } from \"mobx\";\nimport { locationRestPluginUpdatePatch, locationRestPluginUpdateSkipPost, locationRestAnnouncementActive } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { License } from \".\";\nlet PluginUpdate = (_class = class PluginUpdate {\n get licensedEntries() {\n return this.licenses.filter(({\n code\n }) => code);\n }\n\n get unlicensedEntries() {\n return this.licenses.filter(({\n code\n }) => !code);\n }\n\n get noUsageEntries() {\n return this.unlicensedEntries.filter(({\n noUsage\n }) => noUsage);\n }\n\n get modifiableEntries() {\n return this.unlicensedEntries.filter(({\n programmatically\n }) => !programmatically);\n }\n\n get isLicensed() {\n return this.unlicensedEntries.length === 0;\n }\n\n constructor(pluginUpdate, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"slug\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"licenses\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"hasInteractedWithFormOnce\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"needsLicenseKeys\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"announcementsActive\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"allowsAutoUpdates\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"allowsTelemetry\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"allowsNewsletter\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"potentialNewsletterUser\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"privacyProvider\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"privacyPolicy\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"accountSiteUrl\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"licenseKeyHelpUrl\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"checkUpdateLink\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"invalidKeysError\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"showBlogName\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"showNetworkWideUpdateIssueNotice\", _descriptor19, this);\n\n this.store = void 0;\n this.setAnnouncementActive = flow(function* (state) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestAnnouncementActive,\n params: {\n slug: this.slug\n },\n request: {\n state\n }\n });\n\n if (result.success) {\n this.announcementsActive = state;\n }\n\n return result.success;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.update = flow(function* (data) {\n this.busy = true;\n this.invalidKeysError = undefined;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdatePatch,\n params: {\n slug: this.slug\n },\n request: data\n });\n this.fromResponse(result);\n } catch (e) {\n var _e$responseJSON, _e$responseJSON$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON = e.responseJSON) !== null && _e$responseJSON !== void 0 && (_e$responseJSON$data = _e$responseJSON.data) !== null && _e$responseJSON$data !== void 0 && _e$responseJSON$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeys;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.skip = flow(function* () {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestPluginUpdateSkipPost,\n params: {\n slug: this.slug\n }\n });\n } catch (e) {\n var _e$responseJSON2, _e$responseJSON2$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON2 = e.responseJSON) !== null && _e$responseJSON2 !== void 0 && (_e$responseJSON2$data = _e$responseJSON2.data) !== null && _e$responseJSON2$data !== void 0 && _e$responseJSON2$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeysError;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fromResponse(pluginUpdate);\n this.store = store;\n }\n\n fromResponse({\n licenses,\n ...pluginUpdate\n }) {\n set(this, pluginUpdate);\n this.licenses = [];\n licenses === null || licenses === void 0 ? void 0 : licenses.forEach(license => {\n this.licenses.push(new License(license, this));\n });\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"slug\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"licenses\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"hasInteractedWithFormOnce\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"needsLicenseKeys\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"announcementsActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"allowsAutoUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"allowsTelemetry\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"allowsNewsletter\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"potentialNewsletterUser\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"privacyProvider\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"accountSiteUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"licenseKeyHelpUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"checkUpdateLink\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"invalidKeysError\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"showBlogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"showNetworkWideUpdateIssueNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"licensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"licensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"unlicensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"unlicensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"noUsageEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"noUsageEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"modifiableEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"modifiableEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"isLicensed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"isLicensed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"fromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"fromResponse\"), _class.prototype)), _class);\nexport { PluginUpdate };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateGet = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nimport { observable, flow, action } from \"mobx\";\nimport { PluginUpdate } from \"../models\";\nimport { request } from \"../utils\";\nimport { locationRestPluginUpdateGet } from \"../wp-api\";\nlet PluginUpdateStore = (_class = class PluginUpdateStore {\n constructor(rootStore) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"modalPlugin\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"pluginUpdates\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"pluginUpdateFetchErrors\", _descriptor4, this);\n\n this.rootStore = void 0;\n this.showInModal = flow(function* (slug) {\n this.modalPlugin = slug;\n\n try {\n yield this.fetchPluginUpdate(slug);\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchPluginUpdate = flow(function* (slug) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdateGet,\n params: {\n slug\n }\n });\n const pluginUpdate = new PluginUpdate(result, this);\n this.pluginUpdates.set(slug, pluginUpdate);\n this.pluginUpdateFetchErrors.delete(slug);\n return pluginUpdate;\n } catch (e) {\n console.log(e);\n this.pluginUpdateFetchErrors.set(slug, e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.rootStore = rootStore;\n }\n\n hideModal() {\n this.modalPlugin = undefined;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"modalPlugin\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdateFetchErrors\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"hideModal\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"hideModal\"), _class.prototype)), _class);\nexport { PluginUpdateStore };","import { configure } from \"mobx\";\nimport { createContextFactory } from \"@devowl-wp/utils\";\nimport { OptionStore, PluginUpdateStore } from \".\";\nconfigure({\n enforceActions: \"always\"\n});\n/**\n * A collection of all available stores which gets available\n * through the custom hook useStores in your function components.\n *\n * @see https://mobx.js.org/best/store.html#combining-multiple-stores\n */\n\nclass RootStore {\n get context() {\n return this.contextMemo ? this.contextMemo : this.contextMemo = createContextFactory(this);\n }\n\n constructor() {\n this.optionStore = void 0;\n this.pluginUpdateStore = void 0;\n this.contextMemo = void 0;\n this.optionStore = new OptionStore(this);\n this.pluginUpdateStore = new PluginUpdateStore(this);\n }\n\n static get StoreProvider() {\n return RootStore.get.context.StoreProvider;\n }\n\n static get get() {\n return RootStore.me ? RootStore.me : RootStore.me = new RootStore();\n }\n\n}\n\nRootStore.me = void 0;\n\nconst useStores = () => RootStore.get.context.useStores();\n\nexport { RootStore, useStores };","import { ConfigProvider } from \"antd\";\nimport { RootStore } from \"../store\";\n\nconst Provider = ({\n children\n}) => /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX\n}, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, children));\n\nexport { Provider };","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createLocalizationFactory } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createLocalizationFactory(\"\".concat(process.env.rootSlug, \"-\").concat(process.env.slug));\n}\n\nconst _n = (...args) => get()._n(...args);\n\nconst _nx = (...args) => get()._nx(...args);\n\nconst _x = (...args) => get()._x(...args);\n\nconst __ = (...args) => get().__(...args);\n\nconst _i = (...args) => get()._i(...args);\n\nexport { _n, _nx, _x, __, _i };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginFeedbackPost = {\n path: \"/feedback/:slug\",\n method: RouteHttpVerb.POST\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState, useMemo } from \"react\";\nimport { Button, Modal, Form, Spin, Input, Checkbox, Radio, message } from \"antd\";\nimport { request, _i, __ } from \"../../utils\";\nimport { HeartTwoTone } from \"@ant-design/icons\";\nimport { locationRestPluginFeedbackPost } from \"../../wp-api\";\nconst FEEDBACK_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\n\nconst FeedbackModal = ({\n initialValues = {},\n plugin,\n name,\n privacyPolicy,\n privacyProvider,\n onClose,\n onDeactivate\n}) => {\n const reasons = useMemo(() => ({\n \"upgrade-to-pro\": __(\"Upgrade to PRO Version\"),\n \"not-working\": __(\"Plugin does not work\"),\n \"missing-features\": __(\"Not the features I want\"),\n incompatible: __(\"Incompatible with themes/plugins\"),\n \"missing-doc\": __(\"Lack of documentation\"),\n \"found-better-plugin\": __(\"Found a better plugin\"),\n temp: __(\"Temporary deactivation\"),\n other: __(\"Other\")\n }), []);\n const [form] = Form.useForm();\n const formName = \"license-form-\".concat(plugin);\n const [visible, setVisible] = useState(true);\n const [busy, setBusy] = useState(false);\n const handleClose = useCallback(() => {\n if (window.confirm(__(\"Are you sure you want to leave the feedback form?\"))) {\n setVisible(false);\n }\n }, []);\n const handleFinish = useCallback(async store => {\n const {\n reason = \"other\",\n note = \"\",\n email = \"\",\n name = \"\"\n } = store;\n\n try {\n setBusy(true);\n await request({\n location: locationRestPluginFeedbackPost,\n params: {\n slug: plugin\n },\n request: {\n reason,\n note,\n email,\n name: email ? name : \"\" // Only send the name when an email got entered, too\n\n }\n });\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n } catch (e) {\n var _responseJSON$data, _responseJSON$data$bo, _responseJSON$data$bo2;\n\n const {\n responseJSON\n } = e;\n const code = responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data = responseJSON.data) === null || _responseJSON$data === void 0 ? void 0 : (_responseJSON$data$bo = _responseJSON$data.body) === null || _responseJSON$data$bo === void 0 ? void 0 : (_responseJSON$data$bo2 = _responseJSON$data$bo[0]) === null || _responseJSON$data$bo2 === void 0 ? void 0 : _responseJSON$data$bo2.code;\n\n if ([\"DeactivationFeedbackAlreadyGiven\", \"DeactivationFeedbackMightBeSpam\"].indexOf(code) > -1 || !code) {\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n return;\n } else {\n var _responseJSON$data2, _responseJSON$data2$b, _responseJSON$data2$b2;\n\n message.error(responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data2 = responseJSON.data) === null || _responseJSON$data2 === void 0 ? void 0 : (_responseJSON$data2$b = _responseJSON$data2.body) === null || _responseJSON$data2$b === void 0 ? void 0 : (_responseJSON$data2$b2 = _responseJSON$data2$b[0]) === null || _responseJSON$data2$b2 === void 0 ? void 0 : _responseJSON$data2$b2.message);\n }\n } finally {\n setBusy(false);\n }\n }, [form, plugin]);\n return /*#__PURE__*/React.createElement(Modal, {\n afterClose: onClose,\n onCancel: handleClose,\n visible: visible,\n footer: [/*#__PURE__*/React.createElement(Button, {\n key: \"skip\",\n type: \"default\",\n onClick: onDeactivate,\n className: \"alignleft\",\n disabled: busy\n }, /*#__PURE__*/React.createElement(\"b\", null, __(\"Skip & Deactivate\"))), /*#__PURE__*/React.createElement(Button, {\n key: \"submit\",\n type: \"primary\",\n htmlType: \"submit\",\n form: formName,\n disabled: busy\n }, __(\"Deactivate\"))],\n title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeartTwoTone, {\n twoToneColor: \"#eb2f96\"\n }), \" \", __(\"Too bad you are leaving\"))\n }, /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(Form, _extends({\n name: formName,\n id: formName,\n form: form\n }, FEEDBACK_FORM_LAYOUT, {\n onFinish: handleFinish,\n initialValues: initialValues\n }), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"reason\",\n label: /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Please give us feedback why you deactivate %s.\", name)),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please provide a reason!\")\n }]\n }, /*#__PURE__*/React.createElement(Radio.Group, null, Object.keys(reasons).map(choice => /*#__PURE__*/React.createElement(Radio, {\n key: choice,\n value: choice,\n style: {\n width: \"calc(50% - 8px)\",\n float: \"left\"\n }\n }, reasons[choice])))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.reason !== nextValues.reason\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"What could we do better?\"),\n name: \"note\",\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n name: \"email\",\n label: __(\"Email for answer/solution\"),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n type: \"email\",\n required: getFieldValue(\"answerTerms\"),\n message: __(\"Please provide a valid e-mail address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.email !== nextValues.email\n }, ({\n getFieldValue\n }) => /*#__PURE__*/React.createElement(React.Fragment, null, !!getFieldValue(\"email\") && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"name\",\n label: __(\"Name\"),\n required: true,\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"answerTerms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: !!getFieldValue(\"email\"),\n transform: value => value || undefined,\n message: __(\"Please confirm that you have checked the privacy policy.\")\n }],\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))))))))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.note !== nextValues.note || prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => {\n const answerTerms = getFieldValue(\"answerTerms\") || false;\n const note = getFieldValue(\"note\") || \"\";\n\n if (answerTerms) {\n return null;\n }\n\n return note.split(\" \").length >= 5 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Allow us to reply to you by email and we will get back to you as soon as possible!\"))) : /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, _i(__(\"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }));\n }))));\n};\n\nexport { FeedbackModal };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport { FeedbackModal, Provider } from \"../components\";\nimport { RootStore } from \"../store\";\n\nfunction listenPluginDeactivation() {\n document.addEventListener(\"click\", e => {\n const {\n names,\n currentUserFullName\n } = RootStore.get.optionStore.others;\n const link = e === null || e === void 0 ? void 0 : e.target;\n\n for (const slug in names) {\n const {\n plugin\n } = names[slug];\n\n if (link.matches(\"tr[data-plugin=\\\"\".concat(plugin, \"\\\"] a[href*=\\\"action=deactivate\\\"]\"))) {\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(FeedbackModal, _extends({}, names[slug], {\n initialValues: {\n name: currentUserFullName\n },\n plugin: slug,\n onClose: () => {\n unmountComponentAtNode(node);\n },\n onDeactivate: () => {\n window.location.href = link.href;\n }\n }))), node);\n e.preventDefault(); // Stop `real-utils` functionality\n\n e.stopImmediatePropagation();\n break;\n }\n }\n }, true);\n}\n\nexport { listenPluginDeactivation };","import { RootStore } from \"../store\";\nconst CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE = \"data-rpm-wp-client-plugin-update\";\n/**\n * Listen to clicks on `<a data-rpm-wp-client-license=\"\"` links and open the license modal.\n */\n\nfunction listenPluginUpdateLinkClick() {\n document.addEventListener(\"click\", e => {\n var _e$target;\n\n const plugin = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.getAttribute(CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE);\n\n if (plugin) {\n RootStore.get.pluginUpdateStore.showInModal(plugin);\n e.preventDefault();\n }\n });\n}\n\nexport { listenPluginUpdateLinkClick, CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE };","import { RootStore } from \"../store\";\nconst HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX = \"rpm-wp-client-plugin-update-\";\n/**\n * Listen to window hash links and open the license modal.\n */\n\nfunction listenHashPluginUpdate() {\n const {\n hash\n } = window.location;\n\n if (hash.startsWith(\"#\".concat(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX))) {\n const slug = hash.substr(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX.length + 1);\n RootStore.get.pluginUpdateStore.showInModal(slug); // Reset, should not be visible in URL\n\n window.location.hash = \"\";\n }\n}\n\nexport { listenHashPluginUpdate, HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX };","import { useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { Spin, Modal } from \"antd\";\nconst PluginUpdateLicenseTelemetryDataModal = observer(({\n license,\n linkWrapper,\n disabled,\n children\n}) => {\n const {\n busy,\n telemetryData,\n telemetryDataSharingOptIn\n } = license;\n const [isVisible, setVisible] = useState(false);\n useEffect(() => {\n if (isVisible && !telemetryData) {\n license.fetchTelemetryData();\n }\n }, [isVisible, telemetryData, license]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {\n title: __(\"Telemetry data preview\"),\n visible: isVisible && !disabled,\n onCancel: () => setVisible(false),\n cancelText: __(\"Close\"),\n okButtonProps: {\n style: {\n display: \"none\"\n }\n }\n }, telemetryDataSharingOptIn && /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0,\n marginBottom: 10\n }\n }, __(\"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.\")), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0\n }\n }, __(\"The following data (raw) will be sent to our server:\")), /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(\"textarea\", {\n readOnly: true,\n style: {\n width: \"100%\",\n height: 300\n },\n value: telemetryData ? JSON.stringify(telemetryData, null, 4) : \"\"\n }))), /*#__PURE__*/React.createElement(\"span\", {\n onClick: () => !disabled && setVisible(true)\n }, linkWrapper ? /*#__PURE__*/React.createElement(\"a\", {\n style: {\n textDecoration: \"underline\",\n cursor: \"pointer\"\n }\n }, children) : children));\n});\nexport { PluginUpdateLicenseTelemetryDataModal };","import { Form, Input, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM } from \".\";\nimport { PluginUpdateLicenseTelemetryDataModal } from \"..\";\nconst PluginUpdateTermFields = observer(({\n pluginUpdate\n}) => {\n const {\n privacyProvider,\n privacyPolicy,\n allowsTelemetry,\n allowsAutoUpdates,\n allowsNewsletter,\n licenses: [firstLicense]\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, allowsAutoUpdates && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"autoUpdates\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"Updates containing bug fixes and new features will be downloaded and installed automatically.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"terms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: value => value || undefined,\n message: __(\"Please confirm that you have read the privacy policy!\")\n }],\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), allowsTelemetry && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"telemetry\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n }),\n aDataExample: /*#__PURE__*/React.createElement(PluginUpdateLicenseTelemetryDataModal, {\n license: firstLicense,\n linkWrapper: true\n })\n }))), allowsNewsletter && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"newsletter\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.newsletter !== nextValues.newsletter\n }, ({\n getFieldValue\n }) => getFieldValue(\"newsletter\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"First name\"),\n name: \"firstName\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please enter your first name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"Email\"),\n name: \"email\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n type: \"email\",\n required: true,\n message: __(\"Please enter your email address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.\"))))));\n});\nexport { PluginUpdateTermFields };","import { Tag } from \"antd\";\nimport { QuestionCircleFilled } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\n\nconst LearnMoreTag = ({\n url,\n style = undefined,\n label = __(\"Learn more\")\n}) => {\n const useStyle = {\n cursor: \"pointer\",\n ...style\n };\n return /*#__PURE__*/React.createElement(Tag, {\n style: useStyle,\n onClick: () => window.open(url, \"_blank\")\n }, /*#__PURE__*/React.createElement(QuestionCircleFilled, null), \" \", label);\n};\n\nexport { LearnMoreTag };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState } from \"react\";\nimport { Form, Input, Select, Divider, Spin, message, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PluginUpdateTermFields } from \".\";\nimport { LearnMoreTag } from \"../..\";\nconst PLUGIN_UPDATE_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\nconst PluginUpdateForm = observer(({\n onSave,\n onFailure,\n footer,\n pluginUpdate\n}) => {\n const [forceFormValidateStatus, setForceFormValidateStatus] = useState(false);\n const {\n busy,\n slug,\n allowsAutoUpdates,\n needsLicenseKeys,\n licenses,\n unlicensedEntries,\n noUsageEntries,\n modifiableEntries,\n invalidKeysError,\n accountSiteUrl,\n licenseKeyHelpUrl,\n name,\n potentialNewsletterUser: {\n firstName,\n email\n },\n showBlogName,\n showNetworkWideUpdateIssueNotice\n } = pluginUpdate;\n const allowNoUsage = licenses.length > 1; // only allow \"No usage\" within multisite\n\n const initialValues = {\n licenses: licenses.map(({\n blog,\n code,\n installationType,\n hint,\n noUsage\n }) => {\n var _hint$help$match;\n\n return {\n blog,\n code: code || ( // Read a code from the hint\n hint ? (_hint$help$match = hint.help.match(/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})|(\\w{32})/)) === null || _hint$help$match === void 0 ? void 0 : _hint$help$match[0] : \"\") || \"\",\n installationType: installationType || \"\",\n noUsage\n };\n }),\n autoUpdates: allowsAutoUpdates,\n terms: false,\n telemetry: false,\n newsletter: false,\n firstName,\n email\n };\n const [form] = Form.useForm();\n const [showTermFields, setShowTermFields] = useState(noUsageEntries.length !== unlicensedEntries.length);\n const handleSave = useCallback(async values => {\n const {\n licenses: formLicenses,\n ...meta\n } = values;\n const newMeta = { ...meta,\n licenses: JSON.stringify(needsLicenseKeys ? // Remove all entries which are already licensed\n formLicenses.filter(({\n blog\n }) => {\n const [foundLicense] = licenses.filter(k => k.blog === blog);\n return unlicensedEntries.indexOf(foundLicense) > -1;\n }) : // The free version does not show any inputs for license keys and license activation is done by backend\n undefined)\n };\n\n try {\n await pluginUpdate.update(newMeta);\n form.setFieldsValue({\n terms: false,\n telemetry: false,\n newsletter: false\n });\n message.success(__(\"Your license has been activated!\"));\n onSave === null || onSave === void 0 ? void 0 : onSave();\n } catch (e) {\n if (!pluginUpdate.invalidKeysError) {\n message.error(e.responseJSON.message);\n } // No error needed cause it is catch trough `invalidKeysError`\n\n\n onFailure === null || onFailure === void 0 ? void 0 : onFailure();\n throw e;\n }\n }, [pluginUpdate, onSave, licenses, unlicensedEntries, needsLicenseKeys]);\n const onFinish = useCallback(async values => {\n try {\n await handleSave(values);\n } catch (e) {// Silence is golden.\n } finally {\n setForceFormValidateStatus(false);\n }\n }, [form, handleSave, setForceFormValidateStatus]);\n const onFinishFailed = useCallback(() => {\n setForceFormValidateStatus(true);\n setShowTermFields(true);\n }, []);\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, unlicensedEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginBottom: 15\n }\n }, needsLicenseKeys ? __(\"Activate your %s PRO license to receive regular updates and support.\", name) : _i(__(\"To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).\", name), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), showNetworkWideUpdateIssueNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.\", name)), /*#__PURE__*/React.createElement(\"p\", null, __(\"Please enable %s network-wide or take care of regular updates manually! \", name))), /*#__PURE__*/React.createElement(Form, _extends({\n name: \"license-form-\".concat(slug),\n id: \"license-form-\".concat(slug),\n form: form\n }, PLUGIN_UPDATE_FORM_LAYOUT, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onChange: () => {\n setShowTermFields(true);\n }\n }), needsLicenseKeys && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.List, {\n name: \"licenses\"\n }, fields => fields.map((field, index) => {\n const {\n blog\n } = form.getFieldValue([\"licenses\", field.name]);\n const [foundLicense] = licenses.filter(k => k.blog === blog); // Already licensed, do not show in form again\n\n if (unlicensedEntries.indexOf(foundLicense) === -1) {\n return null;\n }\n\n const {\n busy: licenseBusy,\n blogName,\n programmatically,\n host\n } = foundLicense;\n const lastBlogPutError = invalidKeysError === null || invalidKeysError === void 0 ? void 0 : invalidKeysError[blog]; // Hints priority: Form handling, POST-Request, Hint coming from license deactivation\n\n const useHint = forceFormValidateStatus ? {} : lastBlogPutError || foundLicense.hint;\n const isLicenseMaxUsagesReached = !!(lastBlogPutError !== null && lastBlogPutError !== void 0 && lastBlogPutError.debug.errors[\"LicenseMaxUsagesReached\"]); // Modify hint for LicenseMaxUsagesReached error and show a \"Learn more tag\"\n\n let customHelp;\n\n if (typeof useHint !== \"boolean\" && isLicenseMaxUsagesReached) {\n customHelp = /*#__PURE__*/React.createElement(\"span\", null, useHint.help, \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/\")\n }));\n }\n\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: licenseBusy,\n key: field.key\n }, /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.licenses[field.key].noUsage !== nextValues.licenses[field.key].noUsage\n }, ({\n getFieldValue\n }) => {\n const noUsage = getFieldValue([\"licenses\", field.key, \"noUsage\"]);\n return /*#__PURE__*/React.createElement(Form.Item, _extends({\n label: /*#__PURE__*/React.createElement(\"span\", null, unlicensedEntries.length > 1 || showBlogName ? _i(__(\"Installation type and license key for {{strong}}%s{{/strong}}\", blogName), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }) : __(\"Installation type and license key\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: licenseKeyHelpUrl\n })),\n help: customHelp\n }, useHint, {\n required: true,\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }), !noUsage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"code\"],\n name: [field.name, \"code\"],\n noStyle: true,\n rules: [{\n // Allow UUID format and additionally a custom 32-length string\n pattern: /(^\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12}$)|(^\\w{32}$)/,\n required: true,\n message: __(\"Please enter a valid license key!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, {\n placeholder: programmatically ? programmatically.code : \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n disabled: !!programmatically,\n addonBefore: /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"installationType\"],\n name: [field.name, \"installationType\"],\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an installation type!\")\n }]\n }, /*#__PURE__*/React.createElement(Select, {\n placeholder: __(\"Installation type\"),\n disabled: !!programmatically\n }, /*#__PURE__*/React.createElement(Select.Option, {\n value: \"\",\n disabled: true\n }, programmatically ? programmatically.type === \"development\" ? __(\"Development\") : __(\"Production\") : __(\"Select installation type…\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"production\"\n }, __(\"Production\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"development\"\n }, __(\"Development\"))))\n })), index === 0 && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, __(\"What is an installation type?\")), \" \", __(\"You can use each license in both production and development environments.\"), \" \", _i(__('Generally speaking, you use \"{{strong}}Development{{/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }))), allowNoUsage && /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"noUsage\"],\n name: [field.name, \"noUsage\"],\n valuePropName: \"checked\",\n style: {\n marginTop: noUsage ? -25 : index === 0 ? -8 : 0,\n marginBottom: 0\n }\n }, /*#__PURE__*/React.createElement(Checkbox, null, __(\"I do not want to license and use the plugin for this site within my multisite.\"))));\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n className: \"button-link\",\n onClick: async () => {\n try {\n await foundLicense.retry();\n\n if (foundLicense.hint) {\n message.error(foundLicense.hint.help);\n }\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n }\n }, __(\"Retry activation\")))), isLicenseMaxUsagesReached && /*#__PURE__*/React.createElement(\"a\", {\n href: accountSiteUrl,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button button-primary\"\n }, __(\"Manage licenses in the customer center\")));\n })), /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n style: {\n margin: \"10px 0\"\n }\n })), modifiableEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: showTermFields ? \"block\" : \"none\"\n }\n }, /*#__PURE__*/React.createElement(PluginUpdateTermFields, {\n pluginUpdate: pluginUpdate\n })), footer))));\n});\nexport { PluginUpdateForm, PLUGIN_UPDATE_FORM_LAYOUT, PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { List, Space, Spin, message } from \"antd\";\nimport { ClockCircleOutlined, CloudServerOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\nimport { PluginUpdateLicenseTelemetryDataModal } from \".\";\nconst PluginUpdateLicenseListItem = observer(({\n license,\n onDeactivate\n}) => {\n const {\n busy,\n installationType,\n telemetryDataSharingOptIn,\n blogName,\n code,\n remote,\n programmatically,\n host,\n blog,\n store: {\n needsLicenseKeys\n }\n } = license;\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(List.Item, {\n style: {\n paddingLeft: 0,\n paddingRight: 0\n },\n actions: [needsLicenseKeys && /*#__PURE__*/React.createElement(Space, {\n key: \"installationType\"\n }, /*#__PURE__*/React.createElement(CloudServerOutlined, null), installationType === \"production\" ? __(\"Production\") : installationType === \"development\" ? __(\"Development\") : \"n/a\"), remote && /*#__PURE__*/React.createElement(Space, {\n key: \"activatedAt\"\n }, /*#__PURE__*/React.createElement(ClockCircleOutlined, null), __(\"Activated %s\", new Date(remote.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))), /*#__PURE__*/React.createElement(PluginUpdateLicenseTelemetryDataModal, {\n key: \"telemetryModal\",\n license: license,\n disabled: !telemetryDataSharingOptIn\n }, /*#__PURE__*/React.createElement(Space, {\n key: \"telemetryDataSharingOptIn\",\n style: {\n cursor: \"pointer\"\n }\n }, /*#__PURE__*/React.createElement(CloudUploadOutlined, null), telemetryDataSharingOptIn ? __(\"Telemetry data sharing enabled\") : __(\"Telemetry data sharing disabled\"))), !programmatically && /*#__PURE__*/React.createElement(\"a\", {\n key: \"deactivate\",\n className: \"button-link\",\n onClick: async () => {\n try {\n await license.deactivate();\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate(license);\n }\n }, __(\"Deactivate\"))].filter(Boolean)\n }, /*#__PURE__*/React.createElement(List.Item.Meta, {\n title: blogName,\n description: needsLicenseKeys ? /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your license key\"), \": \", /*#__PURE__*/React.createElement(\"code\", null, code)) : /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your installation is fully activated.\"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: 15\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n rel: \"noreferrer\",\n href: __(\"https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/\"),\n className: \"button\",\n target: \"_blank\"\n }, __(\"Enter license key to unlock PRO features\"))))\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })))));\n});\nexport { PluginUpdateLicenseListItem };","import { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { List, Checkbox } from \"antd\";\nimport { PluginUpdateLicenseListItem } from \".\";\nconst PluginUpdateLicenseList = observer(({\n onDeactivate,\n pluginUpdate\n}) => {\n const {\n licensedEntries\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(List, {\n itemLayout: \"vertical\",\n size: \"small\",\n dataSource: licensedEntries,\n renderItem: license => /*#__PURE__*/React.createElement(PluginUpdateLicenseListItem, {\n license: license,\n onDeactivate: onDeactivate\n })\n }), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n textAlign: \"right\"\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n disabled: pluginUpdate.busy,\n checked: pluginUpdate.announcementsActive,\n onChange: e => pluginUpdate.setAnnouncementActive(e.target.checked)\n }, __(\"Show announcements for this plugin\"))));\n});\nexport { PluginUpdateLicenseList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Spin } from \"antd\";\nimport { PluginUpdateForm, PluginUpdateLicenseList } from \".\";\nimport { _i, __ } from \"../../utils\";\nconst PluginUpdateErrorNotice = observer(({\n slug\n}) => {\n var _error$responseJSON;\n\n const error = useStores().pluginUpdateStore.pluginUpdateFetchErrors.get(slug);\n const errorMessage = error === null || error === void 0 ? void 0 : (_error$responseJSON = error.responseJSON) === null || _error$responseJSON === void 0 ? void 0 : _error$responseJSON.message;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"20px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.\", errorMessage ? \" (\".concat(errorMessage, \")\") : \"\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })));\n});\n/**\n * Embed the license form and list of activated licenses into your app.\n * Please consider, that this embed does not provide any buttons, please provide\n * them yourself with `<button form=\"license-form-$slug\"`>\n */\n\nconst PluginUpdateEmbed = observer(({\n formProps = {},\n listProps = {},\n slug\n}) => {\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = pluginUpdates.get(slug);\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n useEffect(() => {\n try {\n pluginUpdateStore.fetchPluginUpdate(slug);\n } catch (e) {// Silence is golden.\n }\n }, [slug]);\n return pluginUpdateFetchErrors.get(slug) ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: slug\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, _extends({}, formProps, {\n pluginUpdate: pluginUpdate\n })), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, _extends({}, listProps, {\n pluginUpdate: pluginUpdate\n })));\n});\nexport { PluginUpdateErrorNotice, PluginUpdateEmbed };","import { useCallback, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Modal, Spin } from \"antd\";\nimport { __ } from \"../../utils\";\nimport { PluginUpdateForm, PluginUpdateLicenseList, PluginUpdateErrorNotice } from \".\";\nconst PluginUpdateModal = observer(() => {\n const [doReloadAfterClose, setDoReloadAfterClose] = useState(false);\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n modalPlugin,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = modalPlugin ? pluginUpdates.get(modalPlugin) : undefined;\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n const handleCancel = useCallback(() => {\n if (doReloadAfterClose) {\n const {\n checkUpdateLink\n } = pluginUpdate;\n\n if (checkUpdateLink) {\n window.location.href = checkUpdateLink;\n } else {\n window.location.reload();\n }\n } else {\n pluginUpdateStore.hideModal();\n }\n }, [doReloadAfterClose, pluginUpdateStore, pluginUpdate]);\n const handleChange = useCallback(() => setDoReloadAfterClose(true), [setDoReloadAfterClose]);\n const error = pluginUpdateFetchErrors.get(modalPlugin);\n useEffect(() => {\n document.body.classList[modalPlugin ? \"add\" : \"remove\"](\"rpm-wpc-antd-modal-open\");\n }, [modalPlugin]);\n return modalPlugin ? /*#__PURE__*/React.createElement(Modal, {\n visible: true,\n okButtonProps: {\n form: \"license-form-\".concat(pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.slug),\n htmlType: \"submit\",\n style: {\n display: (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) === 0 || error ? \"none\" : undefined\n }\n },\n cancelButtonProps: {\n style: {\n display: \"none\"\n }\n },\n onCancel: handleCancel,\n okText: __(\"Save\"),\n title: pluginUpdate ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: \"normal\"\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, pluginUpdate.name, \":\"), \" \", __(\"License settings\")) : \"\",\n width: 800\n }, error ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: modalPlugin\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, {\n onSave: handleChange,\n pluginUpdate: pluginUpdate\n }), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, {\n onDeactivate: handleChange,\n pluginUpdate: pluginUpdate\n }))) : null;\n});\nexport { PluginUpdateModal };","/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource.\n */\nimport { render } from \"react-dom\";\nimport { message, ConfigProvider, Avatar, Card, Form, Space } from \"antd\";\nimport \"./style/antd.less\";\nimport { listenHashPluginUpdate, listenPluginDeactivation, listenPluginUpdateLinkClick } from \"./others\";\nimport { PluginUpdateModal, Provider } from \"./components\";\nimport { ready } from \"./utils\"; // Configure prefix for root (https://bit.ly/3wb2pv9)\n\nConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\nmessage.config({\n top: 50\n});\nlistenPluginDeactivation();\nready(() => {\n // Create main component for all available features (e.g. license modal)\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(PluginUpdateModal, null)), node);\n listenPluginUpdateLinkClick();\n listenHashPluginUpdate();\n});\nexport * from \"./others\";\nexport * from \"./components\";\nexport * from \"./wp-api\";\nexport * from \"./store\"; // Provide some UI elements so other plugins can use the same antd class prefix e.g. extending the update modal form\n// Currently only used for Real Media Library as it does not yet use an own class prefix\n\nexport { Avatar, Card, Form, Space };","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nconst ready = (fn, state = \"complete\") => {\n return new Promise(resolve => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n } else {\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n }\n });\n }\n });\n};\n\nexport { ready };","module.exports = React;","module.exports = ReactDOM;","module.exports = mobx;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [764], () => (__webpack_require__(1489)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","devowlWp_utils","_class","_descriptor","OptionStore","BaseOptions","constructor","rootStore","super","this","pureSlug","pureSlugCamelCased","runInAction","Object","assign","window","prototype","observable","configurable","enumerable","writable","initializer","locationRestAnnouncementActive","path","method","RouteHttpVerb","locationRestPluginUpdatePatch","locationRestPluginUpdateSkipPost","FACTORY_MEMO","request","args","createRequestFactory","locationRestLicenseRetry","locationRestLicenseDelete","locationRestLicenseTelemetryGet","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","License","license","store","retry","flow","busy","result","location","params","slug","blogId","blog","set","e","console","log","deactivate","fetchTelemetryData","telemetryData","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","PluginUpdate","licensedEntries","licenses","filter","code","unlicensedEntries","noUsageEntries","noUsage","modifiableEntries","programmatically","isLicensed","length","pluginUpdate","setAnnouncementActive","state","success","announcementsActive","update","data","invalidKeysError","undefined","fromResponse","_e$responseJSON","_e$responseJSON$data","responseJSON","invalidKeys","skip","_e$responseJSON2","_e$responseJSON2$data","forEach","push","computed","getOwnPropertyDescriptor","action","locationRestPluginUpdateGet","PluginUpdateStore","showInModal","modalPlugin","fetchPluginUpdate","pluginUpdates","pluginUpdateFetchErrors","delete","hideModal","Map","configure","enforceActions","RootStore","context","contextMemo","createContextFactory","optionStore","pluginUpdateStore","StoreProvider","get","me","useStores","Provider","children","React","createElement","prefixCls","createLocalizationFactory","concat","__","_i","locationRestPluginFeedbackPost","FEEDBACK_FORM_LAYOUT","labelCol","span","wrapperCol","FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM","marginBottom","FeedbackModal","initialValues","plugin","name","privacyPolicy","privacyProvider","onClose","onDeactivate","reasons","useMemo","incompatible","temp","other","form","formName","visible","setVisible","useState","setBusy","handleClose","useCallback","confirm","handleFinish","async","reason","note","email","_responseJSON$data","_responseJSON$data$bo","_responseJSON$data$bo2","body","indexOf","_responseJSON$data2","_responseJSON$data2$b","_responseJSON$data2$b2","message","afterClose","onCancel","footer","key","type","onClick","className","disabled","htmlType","title","Fragment","HeartTwoTone","twoToneColor","spinning","id","onFinish","label","style","required","rules","keys","map","choice","value","width","float","noStyle","shouldUpdate","prevValues","nextValues","getFieldValue","autoSize","minRows","answerTerms","valuePropName","transform","zoom","a","href","target","rel","split","margin","marginTop","listenPluginDeactivation","document","addEventListener","names","currentUserFullName","others","link","matches","node","appendChild","render","unmountComponentAtNode","preventDefault","stopImmediatePropagation","CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE","listenPluginUpdateLinkClick","_e$target","getAttribute","HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX","listenHashPluginUpdate","hash","startsWith","substr","PluginUpdateLicenseTelemetryDataModal","linkWrapper","telemetryDataSharingOptIn","isVisible","useEffect","cancelText","okButtonProps","display","readOnly","height","JSON","stringify","textDecoration","cursor","PluginUpdateTermFields","allowsTelemetry","allowsAutoUpdates","allowsNewsletter","firstLicense","PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM","aDataExample","newsletter","LearnMoreTag","url","useStyle","open","QuestionCircleFilled","PLUGIN_UPDATE_FORM_LAYOUT","PluginUpdateForm","onSave","onFailure","forceFormValidateStatus","setForceFormValidateStatus","needsLicenseKeys","accountSiteUrl","licenseKeyHelpUrl","potentialNewsletterUser","firstName","showBlogName","showNetworkWideUpdateIssueNotice","allowNoUsage","installationType","hint","_hint$help$match","help","match","autoUpdates","terms","telemetry","showTermFields","setShowTermFields","handleSave","formLicenses","meta","values","newMeta","foundLicense","k","setFieldsValue","onFinishFailed","strong","onChange","fields","field","index","licenseBusy","blogName","host","lastBlogPutError","useHint","isLicenseMaxUsagesReached","debug","errors","customHelp","fieldKey","pattern","placeholder","addonBefore","PluginUpdateLicenseListItem","remote","paddingLeft","paddingRight","actions","CloudServerOutlined","ClockCircleOutlined","Date","licenseActivation","activatedAt","toLocaleString","documentElement","lang","CloudUploadOutlined","Boolean","description","PluginUpdateLicenseList","itemLayout","size","dataSource","renderItem","textAlign","checked","PluginUpdateErrorNotice","_error$responseJSON","error","errorMessage","PluginUpdateEmbed","formProps","listProps","showHeadline","orientation","PluginUpdateModal","doReloadAfterClose","setDoReloadAfterClose","handleCancel","checkUpdateLink","reload","handleChange","classList","cancelButtonProps","okText","fontWeight","top","fn","Promise","resolve","readyState","ready","module","exports","ReactDOM","mobx","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","g","globalThis","Function","obj","prop","hasOwnProperty","call","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_AT-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-11-14 16:46+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-11-14 16:46+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH_informal-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-11-14 16:46+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-11-14 16:46+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE_formal-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-11-14 16:46+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Sind Sie sich sicher, dass Sie das Feedback-Formular verlassen m\u00f6chten?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass Sie gehen"],"Please give us feedback why you deactivate %s.":["Bitte geben Sie uns Feedback, warum Sie %s deaktivieren."],"Please provide a reason!":["Bitte geben Sie einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte geben Sie eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte geben Sie einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzbestimmungen zur Kenntnis genommen haben."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlauben Sie uns, Ihnen per E-Mail zu antworten und wir werden uns zeitnah bei Ihnen melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir Ihnen im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzerkl\u00e4rung gelesen haben!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte geben Sie Ihren Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte geben Sie Ihre E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachten Sie, dass wir Ihnen eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem Sie auf den Aktivierungslink in der E-Mail geklickt haben, erhalten Sie den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Ihre Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktivieren Sie Ihre %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um zahlreiche Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigen Sie eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erhalten Sie Antworten auf Supportanfragen und Ank\u00fcndigungen in Ihrem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Sie verwenden eine WordPress-Multisite. Aufgrund technischer Beschr\u00e4nkungen von WordPress kann %s automatische Updates in WordPress-Multisites nur erhalten, wenn das Plugin netzwerkweit aktiviert ist. Sie k\u00f6nnen das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktivieren Sie %s netzwerkweit oder f\u00fchren Sie die regelm\u00e4\u00dfigen Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte geben Sie einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hlen Sie einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Sie k\u00f6nnen jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwenden Sie \"{{strong}}Entwicklung{{\/strong}}\", wenn Ihre Seite noch nicht live ist oder es sich um eine Staging-Umgebung Ihrer Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwenden Sie, sobald Ihre Website \u00f6ffentlich ist. Sie k\u00f6nnen den Installationstyp sp\u00e4ter jederzeit \u00e4ndern, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalten Sie Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Ihr Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Ihre Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entfernen Sie den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass Sie Ihre WordPress-Instanz so konfiguriert haben, dass Sie die WordPress REST API blockiert haben. Wie Sie damit umgehen k\u00f6nnen, erfahren Sie {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Sind Sie sich sicher, dass Sie das Feedback-Formular verlassen m\u00f6chten?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass Sie gehen"],"Please give us feedback why you deactivate %s.":["Bitte geben Sie uns Feedback, warum Sie %s deaktivieren."],"Please provide a reason!":["Bitte geben Sie einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte geben Sie eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte geben Sie einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzbestimmungen zur Kenntnis genommen haben."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlauben Sie uns, Ihnen per E-Mail zu antworten und wir werden uns zeitnah bei Ihnen melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir Ihnen im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Zum Zeitpunkt der Aktivierung der Lizenz haben Sie zugestimmt, dass wir Telemetriedaten von Ihrer Installation an unseren Server senden d\u00fcrfen. Sie k\u00f6nnen dies jederzeit widerrufen, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzerkl\u00e4rung gelesen haben!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte geben Sie Ihren Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte geben Sie Ihre E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachten Sie, dass wir Ihnen eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem Sie auf den Aktivierungslink in der E-Mail geklickt haben, erhalten Sie den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Ihre Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktivieren Sie Ihre %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um zahlreiche Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigen Sie eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erhalten Sie Antworten auf Supportanfragen und Ank\u00fcndigungen in Ihrem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Sie verwenden eine WordPress-Multisite. Aufgrund technischer Beschr\u00e4nkungen von WordPress kann %s automatische Updates in WordPress-Multisites nur erhalten, wenn das Plugin netzwerkweit aktiviert ist. Sie k\u00f6nnen das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktivieren Sie %s netzwerkweit oder f\u00fchren Sie die regelm\u00e4\u00dfigen Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte geben Sie einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hlen Sie einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Sie k\u00f6nnen jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwenden Sie \"{{strong}}Entwicklung{{\/strong}}\", wenn Ihre Seite noch nicht live ist oder es sich um eine Staging-Umgebung Ihrer Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwenden Sie, sobald Ihre Website \u00f6ffentlich ist. Sie k\u00f6nnen den Installationstyp sp\u00e4ter jederzeit \u00e4ndern, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalten Sie Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Ihr Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Ihre Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entfernen Sie den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass Sie Ihre WordPress-Instanz so konfiguriert haben, dass Sie die WordPress REST API blockiert haben. Wie Sie damit umgehen k\u00f6nnen, erfahren Sie {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-hu_HU-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-04-04 12:35+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"hu_HU","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Friss\u00edt\u00e9s a PRO verzi\u00f3ra"],"Plugin does not work":["A b\u0151v\u00edtm\u00e9ny nem m\u0171k\u00f6dik"],"Not the features I want":["Nem azokat a funkci\u00f3kat, amelyeket szeretn\u00e9k"],"Incompatible with themes\/plugins":["Nem kompatibilis a t\u00e9m\u00e1kkal\/b\u0151v\u00edtm\u00e9nyekkel"],"Lack of documentation":["A dokument\u00e1ci\u00f3 hi\u00e1nya"],"Found a better plugin":["Tal\u00e1ltam egy jobb b\u0151v\u00edtm\u00e9nyt"],"Temporary deactivation":["Ideiglenes deaktiv\u00e1l\u00e1s"],"Other":["M\u00e1s"],"Are you sure you want to leave the feedback form?":["Biztosan elhagyja a visszajelz\u00e9si \u0171rlapot?"],"Skip & Deactivate":["Kihagy\u00e1s \u00e9s deaktiv\u00e1l\u00e1s"],"Deactivate":["Deaktiv\u00e1l\u00e1s"],"Too bad you are leaving":["K\u00e1r, hogy elmegy"],"Please give us feedback why you deactivate %s.":["K\u00e9rj\u00fck, adjon visszajelz\u00e9st, hogy mi\u00e9rt deaktiv\u00e1lja a %s b\u0151v\u00edtm\u00e9nyt."],"Please provide a reason!":["K\u00e9rj\u00fck, indokolja meg!"],"What could we do better?":["Mit csin\u00e1lhatn\u00e1nk jobban?"],"Email for answer\/solution":["E-mail a v\u00e1lasz\u00e9rt\/megold\u00e1s\u00e9rt"],"Please provide a valid e-mail address!":["K\u00e9rj\u00fck, val\u00f3s email c\u00edmet adjon meg!"],"Name":["N\u00e9v"],"Please provide a name!":["K\u00e9rem adjon meg nevet!"],"Please confirm that you have checked the privacy policy.":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Szeretn\u00e9k v\u00e1laszt kapni k\u00e9r\u00e9semre. E c\u00e9lb\u00f3l hozz\u00e1j\u00e1rulok visszajelz\u00e9sem \u00e9s e-mail c\u00edmem adatkezel\u00e9s\u00e9hez. Elolvastam \u00e9s tudom\u00e1sul vettem a %s {{a}}Adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Engedje meg, hogy e-mailben v\u00e1laszoljunk, \u00e9s a lehet\u0151 leghamarabb felvessz\u00fck \u00d6nnel a kapcsolatot!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Probl\u00e9m\u00e1k vannak a b\u0151v\u00edtm\u00e9ny be\u00e1ll\u00edt\u00e1s\u00e1val vagy haszn\u00e1lat\u00e1val? Tal\u00e1n tudunk seg\u00edteni a t\u00e1mogat\u00e1sban. {{a}}Kapcsolatfelv\u00e9tel az \u00fcgyf\u00e9lszolg\u00e1lattal{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["A hibajav\u00edt\u00e1sokat \u00e9s \u00faj funkci\u00f3kat tartalmaz\u00f3 friss\u00edt\u00e9sek let\u00f6lt\u00e9se \u00e9s telep\u00edt\u00e9se automatikusan megt\u00f6rt\u00e9nik."],"Please confirm that you have read the privacy policy!":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Enged\u00e9lyezem a WordPress telep\u00edt\u00e9s\u00e9vel kapcsolatos m\u0171szaki adatok k\u00fcld\u00e9s\u00e9t a %1$ friss\u00edt\u00e9si szerver\u00e9re, \u00e9s megkapom a leg\u00fajabb \u00e9rtes\u00edt\u00e9seket. Ezek az adatok a licenc aktiv\u00e1l\u00e1s\u00e1hoz \u00e9s a friss\u00edt\u00e9si funkci\u00f3khoz sz\u00fcks\u00e9gesek. Elolvastam \u00e9s tudom\u00e1sul vettem a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["Enged\u00e9lyezem a WordPress b\u0151v\u00edtm\u00e9ny haszn\u00e1lat\u00e1val kapcsolatos telemetriai adatok gy\u0171jt\u00e9s\u00e9t a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveinek{{\/a}} megfelel\u0151en. Ezek az adatok nem tartalmaznak semmilyen szem\u00e9lyes inform\u00e1ci\u00f3t a b\u0151v\u00edtm\u00e9ny felhaszn\u00e1l\u00f3ir\u00f3l. Az \u00f6sszegy\u0171jt\u00f6tt adatokat a lehet\u0151 legjobb t\u00e1mogat\u00e1s \u00e9s a b\u0151v\u00edtm\u00e9ny fejleszt\u00e9se \u00e9rdek\u00e9ben haszn\u00e1ljuk fel."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Szeretn\u00e9m megkapni a %1$ h\u00edrlevelet WordPress h\u00edrekkel, \u00e9rt\u00e9kes\u00edt\u00e9ssel \u00e9s term\u00e9kaj\u00e1nlatokkal (kb. 1-2 havonta) e-mailben. Elolvastam a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}, \u00e9s elfogadom azt. Tudom, hogy a h\u00edrlev\u00e9lr\u0151l b\u00e1rmikor leiratkozhatok."],"First name":["Vezet\u00e9kn\u00e9v"],"Please enter your first name!":["K\u00e9rj\u00fck, adja meg a keresztnev\u00e9t!"],"Email":["Email"],"Please enter your email address!":["K\u00e9rj\u00fck, adja meg e-mail c\u00edm\u00e9t!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Felh\u00edvjuk figyelm\u00e9t, hogy visszaigazol\u00f3 e-mailt k\u00fcld\u00fcnk \u00d6nnek. Csak akkor kapja meg a h\u00edrlevelet, ha az e-mailben tal\u00e1lhat\u00f3 aktiv\u00e1l\u00f3 linkre kattintott."],"Learn more":["Tudj meg t\u00f6bbet"],"Your license has been activated!":["A licence aktiv\u00e1lva lett!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiv\u00e1lja % PRO licenc\u00e9t, hogy rendszeres friss\u00edt\u00e9seket \u00e9s t\u00e1mogat\u00e1st kapjon."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["A %s \u00f6sszes el\u0151ny\u00e9nek kihaszn\u00e1l\u00e1s\u00e1hoz {{strong}}ingyenes licenc sz\u00fcks\u00e9ges{{\/strong}}. A licenc aktiv\u00e1l\u00e1sa ut\u00e1n v\u00e1laszokat kap a t\u00e1mogat\u00e1si k\u00e9r\u00e9sekre \u00e9s bejelent\u00e9sekre a b\u0151v\u00edtm\u00e9ny\u00e9ben (p\u00e9ld\u00e1ul \u00e9rtes\u00edt\u00e9seket a PRO verzi\u00f3 kedvezm\u00e9nyes akci\u00f3ir\u00f3l)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["A(z) {{strong}}%s{{\/strong}} telep\u00edt\u00e9si t\u00edpusa \u00e9s licenckulcsa"],"Installation type and license key":["A telep\u00edt\u00e9s t\u00edpusa \u00e9s licenckulcsa"],"Please enter a valid license key!":["K\u00e9r\u00fck adjon meg egy \u00e9rv\u00e9nyes licenckulcsot!"],"Please choose an installation type!":["K\u00e9rj\u00fck, v\u00e1lasszon telep\u00edt\u00e9si m\u00f3dot!"],"Installation type":["Telep\u00edt\u00e9s t\u00edpusa"],"Development":["Fejleszt\u00e9s"],"Production":["Produkci\u00f3"],"Select installation type\u2026":["V\u00e1lassza ki a telep\u00edt\u00e9s t\u00edpus\u00e1t\u2026"],"What is an installation type?":["Mi a telep\u00edt\u00e9s t\u00edpusa?"],"You can use each license in both production and development environments.":["Az egyes licenceket \u00e9les \u00e9s fejleszt\u0151i k\u00f6rnyezetben egyar\u00e1nt haszn\u00e1lhatja."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u00c1ltal\u00e1noss\u00e1gban elmondhat\u00f3, hogy a \u201e{{strong}}Fejleszt\u00e9s{{\/strong}}\u201d kifejez\u00e9st akkor haszn\u00e1lja, ha webhelye m\u00e9g nem \u00e9l, vagy a webhely \u00e1tmeneti k\u00f6rnyezetben \u00fczemel. A \u201e{{strong}}Produkci\u00f3{{\/strong}}\u201d az, amit akkor haszn\u00e1l, ha webhelye akt\u00edv. B\u00e1rmikor megv\u00e1ltoztathatja a telep\u00edt\u00e9s t\u00edpus\u00e1t a licenc deaktiv\u00e1l\u00e1s\u00e1val, majd \u00fajb\u00f3li aktiv\u00e1l\u00e1s\u00e1val."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Ez a licenc nem aktiv\u00e1lhat\u00f3 manu\u00e1lisan, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. Sajnos hiba t\u00f6rt\u00e9nt a licenc aktiv\u00e1l\u00e1sakor."],"Retry activation":["Aktiv\u00e1l\u00e1s \u00fajrapr\u00f3b\u00e1l\u00e1sa"],"Manage licenses in the customer center":["Licencek kezel\u00e9se az \u00fcgyf\u00e9lk\u00f6zpontban"],"Activated %s":["Aktiv\u00e1lva: %s"],"Telemetry data sharing enabled":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Telemetry data sharing disabled":["A telemetriai adatmegoszt\u00e1s letiltva"],"Your license key":["Az \u00d6n licenckulcsa"],"Your installation is fully activated.":["A telep\u00edt\u00e9s sikeresen aktiv\u00e1lva van."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":[""],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Ezt a licencet nem lehet manu\u00e1lisan deaktiv\u00e1lni, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. A licenc inaktiv\u00e1l\u00e1s\u00e1hoz t\u00e1vol\u00edtsa el a sz\u0171r\u0151t!"],"Show announcements for this plugin":["Bejelent\u00e9sek megjelen\u00edt\u00e9se ehhez a b\u0151v\u00edtm\u00e9nyhez"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":[""],"Not yet licensed":[""],"Already licensed":[""],"Save":["Ment\u00e9s"],"License settings":["Licencbe\u00e1ll\u00edt\u00e1sok"]}}}
1
+ {"translation-revision-date":"2022-04-04 12:35+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"hu_HU","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Friss\u00edt\u00e9s a PRO verzi\u00f3ra"],"Plugin does not work":["A b\u0151v\u00edtm\u00e9ny nem m\u0171k\u00f6dik"],"Not the features I want":["Nem azokat a funkci\u00f3kat, amelyeket szeretn\u00e9k"],"Incompatible with themes\/plugins":["Nem kompatibilis a t\u00e9m\u00e1kkal\/b\u0151v\u00edtm\u00e9nyekkel"],"Lack of documentation":["A dokument\u00e1ci\u00f3 hi\u00e1nya"],"Found a better plugin":["Tal\u00e1ltam egy jobb b\u0151v\u00edtm\u00e9nyt"],"Temporary deactivation":["Ideiglenes deaktiv\u00e1l\u00e1s"],"Other":["M\u00e1s"],"Are you sure you want to leave the feedback form?":["Biztosan elhagyja a visszajelz\u00e9si \u0171rlapot?"],"Skip & Deactivate":["Kihagy\u00e1s \u00e9s deaktiv\u00e1l\u00e1s"],"Deactivate":["Deaktiv\u00e1l\u00e1s"],"Too bad you are leaving":["K\u00e1r, hogy elmegy"],"Please give us feedback why you deactivate %s.":["K\u00e9rj\u00fck, adjon visszajelz\u00e9st, hogy mi\u00e9rt deaktiv\u00e1lja a %s b\u0151v\u00edtm\u00e9nyt."],"Please provide a reason!":["K\u00e9rj\u00fck, indokolja meg!"],"What could we do better?":["Mit csin\u00e1lhatn\u00e1nk jobban?"],"Email for answer\/solution":["E-mail a v\u00e1lasz\u00e9rt\/megold\u00e1s\u00e9rt"],"Please provide a valid e-mail address!":["K\u00e9rj\u00fck, val\u00f3s email c\u00edmet adjon meg!"],"Name":["N\u00e9v"],"Please provide a name!":["K\u00e9rem adjon meg nevet!"],"Please confirm that you have checked the privacy policy.":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Szeretn\u00e9k v\u00e1laszt kapni k\u00e9r\u00e9semre. E c\u00e9lb\u00f3l hozz\u00e1j\u00e1rulok visszajelz\u00e9sem \u00e9s e-mail c\u00edmem adatkezel\u00e9s\u00e9hez. Elolvastam \u00e9s tudom\u00e1sul vettem a %s {{a}}Adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Engedje meg, hogy e-mailben v\u00e1laszoljunk, \u00e9s a lehet\u0151 leghamarabb felvessz\u00fck \u00d6nnel a kapcsolatot!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Probl\u00e9m\u00e1k vannak a b\u0151v\u00edtm\u00e9ny be\u00e1ll\u00edt\u00e1s\u00e1val vagy haszn\u00e1lat\u00e1val? Tal\u00e1n tudunk seg\u00edteni a t\u00e1mogat\u00e1sban. {{a}}Kapcsolatfelv\u00e9tel az \u00fcgyf\u00e9lszolg\u00e1lattal{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Telemetry data preview":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Close":[""],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":[""],"The following data (raw) will be sent to our server:":[""],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["A hibajav\u00edt\u00e1sokat \u00e9s \u00faj funkci\u00f3kat tartalmaz\u00f3 friss\u00edt\u00e9sek let\u00f6lt\u00e9se \u00e9s telep\u00edt\u00e9se automatikusan megt\u00f6rt\u00e9nik."],"Please confirm that you have read the privacy policy!":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Enged\u00e9lyezem a WordPress telep\u00edt\u00e9s\u00e9vel kapcsolatos m\u0171szaki adatok k\u00fcld\u00e9s\u00e9t a %1$ friss\u00edt\u00e9si szerver\u00e9re, \u00e9s megkapom a leg\u00fajabb \u00e9rtes\u00edt\u00e9seket. Ezek az adatok a licenc aktiv\u00e1l\u00e1s\u00e1hoz \u00e9s a friss\u00edt\u00e9si funkci\u00f3khoz sz\u00fcks\u00e9gesek. Elolvastam \u00e9s tudom\u00e1sul vettem a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Enged\u00e9lyezem a WordPress b\u0151v\u00edtm\u00e9ny haszn\u00e1lat\u00e1val kapcsolatos telemetriai adatok gy\u0171jt\u00e9s\u00e9t a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveinek{{\/a}} megfelel\u0151en. Ezek az adatok nem tartalmaznak semmilyen szem\u00e9lyes inform\u00e1ci\u00f3t a b\u0151v\u00edtm\u00e9ny felhaszn\u00e1l\u00f3ir\u00f3l. Az \u00f6sszegy\u0171jt\u00f6tt adatokat a lehet\u0151 legjobb t\u00e1mogat\u00e1s \u00e9s a b\u0151v\u00edtm\u00e9ny fejleszt\u00e9se \u00e9rdek\u00e9ben haszn\u00e1ljuk fel."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Szeretn\u00e9m megkapni a %1$ h\u00edrlevelet WordPress h\u00edrekkel, \u00e9rt\u00e9kes\u00edt\u00e9ssel \u00e9s term\u00e9kaj\u00e1nlatokkal (kb. 1-2 havonta) e-mailben. Elolvastam a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}, \u00e9s elfogadom azt. Tudom, hogy a h\u00edrlev\u00e9lr\u0151l b\u00e1rmikor leiratkozhatok."],"First name":["Vezet\u00e9kn\u00e9v"],"Please enter your first name!":["K\u00e9rj\u00fck, adja meg a keresztnev\u00e9t!"],"Email":["Email"],"Please enter your email address!":["K\u00e9rj\u00fck, adja meg e-mail c\u00edm\u00e9t!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Felh\u00edvjuk figyelm\u00e9t, hogy visszaigazol\u00f3 e-mailt k\u00fcld\u00fcnk \u00d6nnek. Csak akkor kapja meg a h\u00edrlevelet, ha az e-mailben tal\u00e1lhat\u00f3 aktiv\u00e1l\u00f3 linkre kattintott."],"Learn more":["Tudj meg t\u00f6bbet"],"Your license has been activated!":["A licence aktiv\u00e1lva lett!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiv\u00e1lja % PRO licenc\u00e9t, hogy rendszeres friss\u00edt\u00e9seket \u00e9s t\u00e1mogat\u00e1st kapjon."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["A %s \u00f6sszes el\u0151ny\u00e9nek kihaszn\u00e1l\u00e1s\u00e1hoz {{strong}}ingyenes licenc sz\u00fcks\u00e9ges{{\/strong}}. A licenc aktiv\u00e1l\u00e1sa ut\u00e1n v\u00e1laszokat kap a t\u00e1mogat\u00e1si k\u00e9r\u00e9sekre \u00e9s bejelent\u00e9sekre a b\u0151v\u00edtm\u00e9ny\u00e9ben (p\u00e9ld\u00e1ul \u00e9rtes\u00edt\u00e9seket a PRO verzi\u00f3 kedvezm\u00e9nyes akci\u00f3ir\u00f3l)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["A(z) {{strong}}%s{{\/strong}} telep\u00edt\u00e9si t\u00edpusa \u00e9s licenckulcsa"],"Installation type and license key":["A telep\u00edt\u00e9s t\u00edpusa \u00e9s licenckulcsa"],"Please enter a valid license key!":["K\u00e9r\u00fck adjon meg egy \u00e9rv\u00e9nyes licenckulcsot!"],"Please choose an installation type!":["K\u00e9rj\u00fck, v\u00e1lasszon telep\u00edt\u00e9si m\u00f3dot!"],"Installation type":["Telep\u00edt\u00e9s t\u00edpusa"],"Development":["Fejleszt\u00e9s"],"Production":["Produkci\u00f3"],"Select installation type\u2026":["V\u00e1lassza ki a telep\u00edt\u00e9s t\u00edpus\u00e1t\u2026"],"What is an installation type?":["Mi a telep\u00edt\u00e9s t\u00edpusa?"],"You can use each license in both production and development environments.":["Az egyes licenceket \u00e9les \u00e9s fejleszt\u0151i k\u00f6rnyezetben egyar\u00e1nt haszn\u00e1lhatja."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u00c1ltal\u00e1noss\u00e1gban elmondhat\u00f3, hogy a \u201e{{strong}}Fejleszt\u00e9s{{\/strong}}\u201d kifejez\u00e9st akkor haszn\u00e1lja, ha webhelye m\u00e9g nem \u00e9l, vagy a webhely \u00e1tmeneti k\u00f6rnyezetben \u00fczemel. A \u201e{{strong}}Produkci\u00f3{{\/strong}}\u201d az, amit akkor haszn\u00e1l, ha webhelye akt\u00edv. B\u00e1rmikor megv\u00e1ltoztathatja a telep\u00edt\u00e9s t\u00edpus\u00e1t a licenc deaktiv\u00e1l\u00e1s\u00e1val, majd \u00fajb\u00f3li aktiv\u00e1l\u00e1s\u00e1val."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Ez a licenc nem aktiv\u00e1lhat\u00f3 manu\u00e1lisan, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. Sajnos hiba t\u00f6rt\u00e9nt a licenc aktiv\u00e1l\u00e1sakor."],"Retry activation":["Aktiv\u00e1l\u00e1s \u00fajrapr\u00f3b\u00e1l\u00e1sa"],"Manage licenses in the customer center":["Licencek kezel\u00e9se az \u00fcgyf\u00e9lk\u00f6zpontban"],"Activated %s":["Aktiv\u00e1lva: %s"],"Telemetry data sharing enabled":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Telemetry data sharing disabled":["A telemetriai adatmegoszt\u00e1s letiltva"],"Your license key":["Az \u00d6n licenckulcsa"],"Your installation is fully activated.":["A telep\u00edt\u00e9s sikeresen aktiv\u00e1lva van."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":[""],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Ezt a licencet nem lehet manu\u00e1lisan deaktiv\u00e1lni, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. A licenc inaktiv\u00e1l\u00e1s\u00e1hoz t\u00e1vol\u00edtsa el a sz\u0171r\u0151t!"],"Show announcements for this plugin":["Bejelent\u00e9sek megjelen\u00edt\u00e9se ehhez a b\u0151v\u00edtm\u00e9nyhez"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":[""],"Not yet licensed":[""],"Already licensed":[""],"Save":["Ment\u00e9s"],"License settings":["Licencbe\u00e1ll\u00edt\u00e1sok"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-ru_RU-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-07-06 06:05+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Upgrade to PRO Version":["\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e PRO \u0432\u0435\u0440\u0441\u0438\u0438"],"Plugin does not work":["\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442"],"Not the features I want":["\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438"],"Incompatible with themes\/plugins":["\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u0435\u043c\u043e\u0439 \u0438\u043b\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c"],"Lack of documentation":["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438"],"Found a better plugin":["\u041d\u0430\u0448\u0435\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u043b\u0443\u0447\u0448\u0435"],"Temporary deactivation":["\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u044e"],"Other":["\u0414\u0440\u0443\u0433\u043e\u0435"],"Are you sure you want to leave the feedback form?":["\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438?"],"Skip & Deactivate":["\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Deactivate":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Too bad you are leaving":["\u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u0442\u044b \u0443\u0435\u0437\u0436\u0430\u0435\u0448\u044c"],"Please give us feedback why you deactivate %s.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043d\u0430\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 %s."],"Please provide a reason!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0443!"],"What could we do better?":["\u0427\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435?"],"Email for answer\/solution":["Email \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430\/\u0440\u0435\u0448\u0435\u043d\u0438\u044f"],"Please provide a valid e-mail address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b!"],"Name":["\u0418\u043c\u044f"],"Please provide a name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043c\u044f!"],"Please confirm that you have checked the privacy policy.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u044f \u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430 \u0438 \u043c\u043e\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043d\u0430\u043c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u0432\u0430\u043c \u043f\u043e email, \u0438 \u043c\u044b \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["\u0415\u0441\u0442\u044c \u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430? \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043d\u0430\u0448\u0430 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c. {{a}}\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438."],"Please confirm that you have read the privacy policy!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u044d\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 WordPress \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 %1$s \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} %1$s."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data will be used to provide you with the best possible support and to improve the plugin.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u0438 (\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430) WordPress \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}}. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0439 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 %1$s \u0441 \u043d\u043e\u0432\u043e\u0441\u0442\u044f\u043c\u0438 WordPress, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1-2 \u0440\u0430\u0437\u0430 \u0432 \u043c\u0435\u0441\u044f\u0446) \u043d\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439. \u042f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u043c\u043e\u0433\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f."],"First name":["\u0418\u043c\u044f"],"Please enter your first name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0438\u043c\u044f!"],"Email":["Email"],"Please enter your email address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 email!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0432\u0430\u043c email \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f. \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u043d\u0430\u0436\u043c\u0435\u0442\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0432 email, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443."],"Learn more":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435"],"Your license has been activated!":["\u0412\u0430\u0448\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430!"],"Activate your %s PRO license to receive regular updates and support.":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e %s PRO, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 %s {{strong}}, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f{{\/strong}}. \u041f\u043e\u0441\u043b\u0435 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u0436\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u043a\u0438\u0434\u043e\u0447\u043d\u044b\u0445 \u0430\u043a\u0446\u0438\u044f\u0445 PRO-\u0432\u0435\u0440\u0441\u0438\u0438)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f {{strong}}%s{{\/strong}}"],"Installation type and license key":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Please enter a valid license key!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447!"],"Please choose an installation type!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438!"],"Installation type":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438"],"Development":["\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430"],"Production":["\u0420\u0430\u0431\u043e\u0447\u0430\u044f"],"Select installation type\u2026":["\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\u2026"],"What is an installation type?":["\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438?"],"You can use each license in both production and development environments.":["\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0442\u0430\u043a \u0438 \u0432 \u0441\u0440\u0435\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \"{{strong}}Development{{\/strong}}\", \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438\u043b\u0438 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u0430 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \"{{strong}}Production{{\/strong}}\" - \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0435 \u0441\u043d\u043e\u0432\u0430."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (Blog ID: %d). \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a."],"Retry activation":["\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f"],"Manage licenses in the customer center":["\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432"],"Activated %s":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e %s"],"Telemetry data sharing enabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Telemetry data sharing disabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Your license key":["\u0412\u0430\u0448 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Your installation is fully activated.":["\u0412\u0430\u0448\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (ID \u0431\u043b\u043e\u0433\u0430: %d). \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0444\u0438\u043b\u044c\u0442\u0440 \u0434\u043b\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438!"],"Show announcements for this plugin":["\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Not yet licensed":[""],"Already licensed":[""],"Save":["\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c"],"License settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438"]}}}
1
+ {"translation-revision-date":"2022-07-06 06:05+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Upgrade to PRO Version":["\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e PRO \u0432\u0435\u0440\u0441\u0438\u0438"],"Plugin does not work":["\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442"],"Not the features I want":["\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438"],"Incompatible with themes\/plugins":["\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u0435\u043c\u043e\u0439 \u0438\u043b\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c"],"Lack of documentation":["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438"],"Found a better plugin":["\u041d\u0430\u0448\u0435\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u043b\u0443\u0447\u0448\u0435"],"Temporary deactivation":["\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u044e"],"Other":["\u0414\u0440\u0443\u0433\u043e\u0435"],"Are you sure you want to leave the feedback form?":["\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438?"],"Skip & Deactivate":["\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Deactivate":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Too bad you are leaving":["\u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u0442\u044b \u0443\u0435\u0437\u0436\u0430\u0435\u0448\u044c"],"Please give us feedback why you deactivate %s.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043d\u0430\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 %s."],"Please provide a reason!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0443!"],"What could we do better?":["\u0427\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435?"],"Email for answer\/solution":["Email \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430\/\u0440\u0435\u0448\u0435\u043d\u0438\u044f"],"Please provide a valid e-mail address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b!"],"Name":["\u0418\u043c\u044f"],"Please provide a name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043c\u044f!"],"Please confirm that you have checked the privacy policy.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u044f \u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430 \u0438 \u043c\u043e\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043d\u0430\u043c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u0432\u0430\u043c \u043f\u043e email, \u0438 \u043c\u044b \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["\u0415\u0441\u0442\u044c \u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430? \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043d\u0430\u0448\u0430 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c. {{a}}\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Telemetry data preview":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Close":[""],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":[""],"The following data (raw) will be sent to our server:":[""],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438."],"Please confirm that you have read the privacy policy!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u044d\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 WordPress \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 %1$s \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} %1$s."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u0438 (\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430) WordPress \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}}. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0439 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 %1$s \u0441 \u043d\u043e\u0432\u043e\u0441\u0442\u044f\u043c\u0438 WordPress, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1-2 \u0440\u0430\u0437\u0430 \u0432 \u043c\u0435\u0441\u044f\u0446) \u043d\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439. \u042f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u043c\u043e\u0433\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f."],"First name":["\u0418\u043c\u044f"],"Please enter your first name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0438\u043c\u044f!"],"Email":["Email"],"Please enter your email address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 email!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0432\u0430\u043c email \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f. \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u043d\u0430\u0436\u043c\u0435\u0442\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0432 email, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443."],"Learn more":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435"],"Your license has been activated!":["\u0412\u0430\u0448\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430!"],"Activate your %s PRO license to receive regular updates and support.":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e %s PRO, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 %s {{strong}}, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f{{\/strong}}. \u041f\u043e\u0441\u043b\u0435 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u0436\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u043a\u0438\u0434\u043e\u0447\u043d\u044b\u0445 \u0430\u043a\u0446\u0438\u044f\u0445 PRO-\u0432\u0435\u0440\u0441\u0438\u0438)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f {{strong}}%s{{\/strong}}"],"Installation type and license key":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Please enter a valid license key!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447!"],"Please choose an installation type!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438!"],"Installation type":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438"],"Development":["\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430"],"Production":["\u0420\u0430\u0431\u043e\u0447\u0430\u044f"],"Select installation type\u2026":["\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\u2026"],"What is an installation type?":["\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438?"],"You can use each license in both production and development environments.":["\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0442\u0430\u043a \u0438 \u0432 \u0441\u0440\u0435\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \"{{strong}}Development{{\/strong}}\", \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438\u043b\u0438 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u0430 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \"{{strong}}Production{{\/strong}}\" - \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0435 \u0441\u043d\u043e\u0432\u0430."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (Blog ID: %d). \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a."],"Retry activation":["\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f"],"Manage licenses in the customer center":["\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432"],"Activated %s":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e %s"],"Telemetry data sharing enabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Telemetry data sharing disabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Your license key":["\u0412\u0430\u0448 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Your installation is fully activated.":["\u0412\u0430\u0448\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (ID \u0431\u043b\u043e\u0433\u0430: %d). \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0444\u0438\u043b\u044c\u0442\u0440 \u0434\u043b\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438!"],"Show announcements for this plugin":["\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Not yet licensed":[""],"Already licensed":[""],"Save":["\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c"],"License settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438"]}}}
vendor/devowl-wp/real-product-manager-wp-client/package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "@devowl-wp/real-product-manager-wp-client",
3
- "version": "1.13.16",
4
  "private": true,
5
  "description": "A WordPress client for Real Product Manager",
6
  "homepage": "https://devowl.io",
1
  {
2
  "name": "@devowl-wp/real-product-manager-wp-client",
3
+ "version": "1.13.17",
4
  "private": true,
5
  "description": "A WordPress client for Real Product Manager",
6
  "homepage": "https://devowl.io",
vendor/devowl-wp/real-product-manager-wp-client/src/AbstractInitiator.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  namespace MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient;
4
 
 
5
  use MatthiasWeb\RealMediaLibrary\Vendor\MatthiasWeb\Utils\Base;
6
  use MatthiasWeb\RealMediaLibrary\Vendor\MatthiasWeb\Utils\Assets;
7
  // @codeCoverageIgnoreStart
@@ -113,6 +114,14 @@ abstract class AbstractInitiator {
113
  public function isNewsletterEnabled() {
114
  return \true;
115
  }
 
 
 
 
 
 
 
 
116
  /**
117
  * Return `false` if you want to disable license per site in multisite.
118
  * For wordpress.org plugins (free) the multisite-license is disabled.
2
 
3
  namespace MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient;
4
 
5
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\TelemetryData;
6
  use MatthiasWeb\RealMediaLibrary\Vendor\MatthiasWeb\Utils\Base;
7
  use MatthiasWeb\RealMediaLibrary\Vendor\MatthiasWeb\Utils\Assets;
8
  // @codeCoverageIgnoreStart
114
  public function isNewsletterEnabled() {
115
  return \true;
116
  }
117
+ /**
118
+ * Allows you to build telemetry data.
119
+ *
120
+ * @param TelemetryData $telemetry
121
+ */
122
+ public function buildTelemetryData($telemetry) {
123
+ // Silence is golden.
124
+ }
125
  /**
126
  * Return `false` if you want to disable license per site in multisite.
127
  * For wordpress.org plugins (free) the multisite-license is disabled.
vendor/devowl-wp/real-product-manager-wp-client/src/PluginUpdate.php CHANGED
@@ -72,11 +72,9 @@ class PluginUpdate {
72
  */
73
  public function initialize() {
74
  $initiator = $this->getInitiator();
75
- $basename = plugin_basename($initiator->getPluginFile());
76
  // Add an option which represents the existence of the first time this plugin updater was used
77
  add_option(self::OPTION_NAME_FIRST_INITIALIZATION_PREFIX . $initiator->getPluginSlug(), \time());
78
  add_action('init', [$this, 'init']);
79
- add_filter('plugins_update_check_locales', [$this, 'plugins_update_check_locales']);
80
  add_filter('auto_update_plugin', [$this, 'auto_update_plugin'], 10, 2);
81
  //wp_maybe_auto_update(); // For testing purposes, trigger auto update
82
  $this->getAnnouncementPool()->initialize();
72
  */
73
  public function initialize() {
74
  $initiator = $this->getInitiator();
 
75
  // Add an option which represents the existence of the first time this plugin updater was used
76
  add_option(self::OPTION_NAME_FIRST_INITIALIZATION_PREFIX . $initiator->getPluginSlug(), \time());
77
  add_action('init', [$this, 'init']);
 
78
  add_filter('auto_update_plugin', [$this, 'auto_update_plugin'], 10, 2);
79
  //wp_maybe_auto_update(); // For testing purposes, trigger auto update
80
  $this->getAnnouncementPool()->initialize();
vendor/devowl-wp/real-product-manager-wp-client/src/Utils.php CHANGED
@@ -155,4 +155,23 @@ class Utils {
155
  }
156
  return $hostnames;
157
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  }
155
  }
156
  return $hostnames;
157
  }
158
+ /**
159
+ * Get the list of active plugins in a map: File => Name. This is needed for the config and the
160
+ * notice for `skip-if-active` attribute in cookie opt-in codes.
161
+ *
162
+ * @param boolean $includeSlugs
163
+ */
164
+ public static function getActivePluginsMap($includeSlugs = \true) {
165
+ $result = [];
166
+ $plugins = get_option('active_plugins');
167
+ foreach ($plugins as $pluginFile) {
168
+ $name = wp_specialchars_decode(get_plugin_data(\constant('WP_PLUGIN_DIR') . '/' . $pluginFile)['Name']);
169
+ $result[$pluginFile] = $name;
170
+ if ($includeSlugs) {
171
+ $slug = \explode('/', $pluginFile)[0];
172
+ $result[$slug] = $name;
173
+ }
174
+ }
175
+ return $result;
176
+ }
177
  }
vendor/devowl-wp/real-product-manager-wp-client/src/client/TelemetryData.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client;
4
+
5
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\License;
6
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\UtilsProvider;
7
+ // @codeCoverageIgnoreStart
8
+ \defined('ABSPATH') or die('No script kiddies please!');
9
+ // Avoid direct file request
10
+ // @codeCoverageIgnoreEnd
11
+ /**
12
+ * Handle Real Product Manager API calls.
13
+ */
14
+ class TelemetryData {
15
+ use UtilsProvider;
16
+ const ENDPOINT_TELEMETRY = '1.0.0/telemetry';
17
+ /**
18
+ * License instance.
19
+ *
20
+ * @var License
21
+ */
22
+ private $license;
23
+ /**
24
+ * C'tor.
25
+ *
26
+ * @param License $license
27
+ * @codeCoverageIgnore
28
+ */
29
+ private function __construct($license) {
30
+ $this->license = $license;
31
+ }
32
+ /**
33
+ * `PUT` to the REST API of Real Product Manager.
34
+ *
35
+ * @param License $license
36
+ */
37
+ public function put() {
38
+ $license = $this->getLicense();
39
+ $pluginUpdate = $license->getPluginUpdate();
40
+ $body = [
41
+ 'licenseActivation' => [
42
+ 'license' => ['licenseKey' => $license->getActivation()->getCode()],
43
+ 'client' => ['uuid' => $license->getUuid()]
44
+ ],
45
+ 'telemetries' => $license->getTelemetryData()->build(\true)
46
+ ];
47
+ return \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\ClientUtils::request(
48
+ $pluginUpdate->getInitiator(),
49
+ self::ENDPOINT_TELEMETRY,
50
+ $body,
51
+ 'PUT'
52
+ );
53
+ }
54
+ /**
55
+ * Get plugin update instance.
56
+ *
57
+ * @codeCoverageIgnore
58
+ */
59
+ public function getLicense() {
60
+ return $this->license;
61
+ }
62
+ /**
63
+ * New instance.
64
+ *
65
+ * @param License $license
66
+ * @codeCoverageIgnore
67
+ */
68
+ public static function instance($license) {
69
+ return new \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\TelemetryData(
70
+ $license
71
+ );
72
+ }
73
+ }
vendor/devowl-wp/real-product-manager-wp-client/src/license/License.php CHANGED
@@ -4,6 +4,7 @@ namespace MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\
4
 
5
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\ClientUtils;
6
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Core;
 
7
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Utils;
8
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\UtilsProvider;
9
  use WP_Error;
@@ -38,9 +39,9 @@ class License {
38
  * Skip the license deactivation for some exceptions. For example, AWS Lightsail does
39
  * not automatically redirect the `ec2-192-18[...]` domain to the WordPress domain URL.
40
  *
41
- * @see https://regex101.com/r/WOedJ5/1
42
  */
43
- const VALIDATE_NEW_HOSTNAME_SKIP_BY_REGEXP = '/^(?:\\w+-\\d+-\\d+-\\d+-\\d+\\.[^\\.]+\\.(?:[\\w-]+-)?amazonaws\\.com)/m';
44
  /**
45
  * Plugin slug.
46
  *
@@ -53,12 +54,24 @@ class License {
53
  * @var int
54
  */
55
  private $blogId;
 
 
 
 
 
 
56
  /**
57
  * License activation handler.
58
  *
59
  * @var LicenseActivation
60
  */
61
  private $activation;
 
 
 
 
 
 
62
  /**
63
  * Remote status of the activation.
64
  *
@@ -68,21 +81,38 @@ class License {
68
  /**
69
  * C'tor.
70
  *
71
- * @param string $slug
72
  * @param int $blogId
73
  * @codeCoverageIgnore
74
  */
75
- public function __construct($slug, $blogId) {
76
- $this->slug = $slug;
 
77
  $this->blogId = $blogId;
78
  $this->activation = new \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\LicenseActivation(
79
  $this
80
  );
 
 
 
 
 
 
 
 
81
  add_action('update_option_siteurl', [$this, 'update_option_siteurl']);
82
  if ($this->getInitiator()->isExternalUpdateEnabled() && is_admin()) {
83
  add_action('shutdown', [$this, 'validateNewHostName']);
84
  }
85
  }
 
 
 
 
 
 
 
 
86
  /**
87
  * Switch to this blog.
88
  *
@@ -156,6 +186,12 @@ class License {
156
  $this->validateRemoteResponse($response);
157
  return $response;
158
  }
 
 
 
 
 
 
159
  /**
160
  * Fetch remote status from the Real Product Manager server. Automatically
161
  * validates with `#validateRemoteResponse`, too.
@@ -391,16 +427,12 @@ class License {
391
  return empty($result) ? $result : \base64_decode($result);
392
  }
393
  /**
394
- * Get installation type from remote status. Can be `false` if none given.
395
  *
396
- * @return string|false
397
  */
398
- public function getInstallationType() {
399
- $status = $this->fetchRemoteStatus();
400
- if (is_wp_error($status)) {
401
- return \false;
402
- }
403
- return $status['licenseActivation']['type'];
404
  }
405
  /**
406
  * Get license activation handler.
@@ -410,6 +442,14 @@ class License {
410
  public function getActivation() {
411
  return $this->activation;
412
  }
 
 
 
 
 
 
 
 
413
  /**
414
  * Get plugin slug.
415
  *
@@ -439,7 +479,8 @@ class License {
439
  'host' => $host,
440
  'programmatically' => $this->getProgrammaticActivation(),
441
  'blogName' => $this->getBlogName(),
442
- 'installationType' => $this->getInstallationType(),
 
443
  'code' => $this->getActivation()->getCode(),
444
  'hint' => $this->getActivation()->getHint(),
445
  'remote' => is_wp_error($remote) ? null : $remote,
4
 
5
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\ClientUtils;
6
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Core;
7
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\PluginUpdate;
8
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Utils;
9
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\UtilsProvider;
10
  use WP_Error;
39
  * Skip the license deactivation for some exceptions. For example, AWS Lightsail does
40
  * not automatically redirect the `ec2-192-18[...]` domain to the WordPress domain URL.
41
  *
42
+ * @see https://regex101.com/r/OxkZVE/1
43
  */
44
+ const VALIDATE_NEW_HOSTNAME_SKIP_BY_REGEXP = '/^(?:\\w+-\\d+-\\d+-\\d+-\\d+\\.[^\\.]+\\.(?:[\\w-]+[-.])?amazonaws\\.com)/m';
45
  /**
46
  * Plugin slug.
47
  *
54
  * @var int
55
  */
56
  private $blogId;
57
+ /**
58
+ * Plugin update handler.
59
+ *
60
+ * @var PluginUpdate
61
+ */
62
+ private $pluginUpdate;
63
  /**
64
  * License activation handler.
65
  *
66
  * @var LicenseActivation
67
  */
68
  private $activation;
69
+ /**
70
+ * License telemetry data handler.
71
+ *
72
+ * @var TelemetryData
73
+ */
74
+ private $telemetryData;
75
  /**
76
  * Remote status of the activation.
77
  *
81
  /**
82
  * C'tor.
83
  *
84
+ * @param PluginUpdate $pluginUpdate
85
  * @param int $blogId
86
  * @codeCoverageIgnore
87
  */
88
+ public function __construct($pluginUpdate, $blogId) {
89
+ $this->pluginUpdate = $pluginUpdate;
90
+ $this->slug = $pluginUpdate->getInitiator()->getPluginSlug();
91
  $this->blogId = $blogId;
92
  $this->activation = new \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\LicenseActivation(
93
  $this
94
  );
95
+ $this->telemetryData = new \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\TelemetryData(
96
+ $this
97
+ );
98
+ $newVersionHook = 'DevOwl/Utils/NewVersionInstallation/' . $this->slug;
99
+ add_action($newVersionHook, [$this, 'newVersionInstalled']);
100
+ if (did_action($newVersionHook)) {
101
+ $this->newVersionInstalled();
102
+ }
103
  add_action('update_option_siteurl', [$this, 'update_option_siteurl']);
104
  if ($this->getInitiator()->isExternalUpdateEnabled() && is_admin()) {
105
  add_action('shutdown', [$this, 'validateNewHostName']);
106
  }
107
  }
108
+ /**
109
+ * A new version of the plugin got installed.
110
+ */
111
+ public function newVersionInstalled() {
112
+ // Generate random seconds between 15 minutes and 3 hours
113
+ $delayApiCalls = \mt_rand(15, 3 * 60) * 60;
114
+ $this->getActivation()->executeDeferredAction('licenseActivation', $delayApiCalls);
115
+ }
116
  /**
117
  * Switch to this blog.
118
  *
186
  $this->validateRemoteResponse($response);
187
  return $response;
188
  }
189
+ /**
190
+ * The same as `syncWithRemote`, but surely synced only once a day.
191
+ */
192
+ public function probablySyncWithRemote() {
193
+ $this->getActivation()->executeDeferredAction('licenseActivation', [$this, 'syncWithRemote']);
194
+ }
195
  /**
196
  * Fetch remote status from the Real Product Manager server. Automatically
197
  * validates with `#validateRemoteResponse`, too.
427
  return empty($result) ? $result : \base64_decode($result);
428
  }
429
  /**
430
+ * Get plugin update handler.
431
  *
432
+ * @codeCoverageIgnore
433
  */
434
+ public function getPluginUpdate() {
435
+ return $this->pluginUpdate;
 
 
 
 
436
  }
437
  /**
438
  * Get license activation handler.
442
  public function getActivation() {
443
  return $this->activation;
444
  }
445
+ /**
446
+ * Get license telemetry data handler.
447
+ *
448
+ * @codeCoverageIgnore
449
+ */
450
+ public function getTelemetryData() {
451
+ return $this->telemetryData;
452
+ }
453
  /**
454
  * Get plugin slug.
455
  *
479
  'host' => $host,
480
  'programmatically' => $this->getProgrammaticActivation(),
481
  'blogName' => $this->getBlogName(),
482
+ 'installationType' => $this->getActivation()->getInstallationType(),
483
+ 'telemetryDataSharingOptIn' => $this->getActivation()->isTelemetryDataSharingOptIn(),
484
  'code' => $this->getActivation()->getCode(),
485
  'hint' => $this->getActivation()->getHint(),
486
  'remote' => is_wp_error($remote) ? null : $remote,
vendor/devowl-wp/real-product-manager-wp-client/src/license/LicenseActivation.php CHANGED
@@ -5,6 +5,7 @@ namespace MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\
5
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Utils;
6
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\UtilsProvider;
7
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\view\PluginUpdateView;
 
8
  use WP_Error;
9
  // @codeCoverageIgnoreStart
10
  \defined('ABSPATH') or die('No script kiddies please!');
@@ -151,6 +152,9 @@ class LicenseActivation {
151
  );
152
  }
153
  $this->getLicense()->receivedRemoteLicenseActivation($result['licenseActivation']);
 
 
 
154
  /**
155
  * License Activation for a given plugin got changed.
156
  *
@@ -236,6 +240,67 @@ class LicenseActivation {
236
  $license->restore();
237
  return \true;
238
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  /**
240
  * Check if the form for this license was shown the user once. This allows you e.g.
241
  * show a form of the license activation directly after using the plugin for the first time.
@@ -338,6 +403,19 @@ class LicenseActivation {
338
  ? \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\License::INSTALLATION_TYPE_NONE
339
  : $result;
340
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
341
  /**
342
  * Get license instance.
343
  *
5
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Utils;
6
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\UtilsProvider;
7
  use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\view\PluginUpdateView;
8
+ use MatthiasWeb\RealMediaLibrary\Vendor\MatthiasWeb\Utils\ExpireOption;
9
  use WP_Error;
10
  // @codeCoverageIgnoreStart
11
  \defined('ABSPATH') or die('No script kiddies please!');
152
  );
153
  }
154
  $this->getLicense()->receivedRemoteLicenseActivation($result['licenseActivation']);
155
+ $this->getLicense()
156
+ ->getTelemetryData()
157
+ ->probablyTransmit();
158
  /**
159
  * License Activation for a given plugin got changed.
160
  *
240
  $license->restore();
241
  return \true;
242
  }
243
+ /**
244
+ * Pass any timestamp and this method returns the day of the timestamp with the time of
245
+ * the license activation. This allows us to defer API calls.
246
+ *
247
+ * @param int $timestamp
248
+ */
249
+ public function applyTimeOfLicenseActivationToTimestamp($timestamp) {
250
+ $received = $this->getReceived();
251
+ if (\is_array($received)) {
252
+ $activatedAt = \strtotime($received['activatedAt']);
253
+ return \strtotime(\gmdate('H:i:s', $activatedAt), $timestamp);
254
+ }
255
+ return $timestamp;
256
+ }
257
+ /**
258
+ * Schedules an action (callable) for deferred execution. The action is called only once
259
+ * for the given period in days. The action gets called at the time of license activation
260
+ * so we can scutter e.g. API calls to our license server independent of configured time and
261
+ * timezone of current server.
262
+ *
263
+ * @param string $actionName
264
+ * @param callable|int $actionOrExpire If you pass `int` the action will be scheduled after this expiration in seconds
265
+ * @param int $periodInDays
266
+ * @param string $minimumWpHook
267
+ */
268
+ public function executeDeferredAction($actionName, $actionOrExpire, $periodInDays = 1, $minimumWpHook = 'init') {
269
+ $license = $this->getLicense();
270
+ $license->switch();
271
+ $transientName = \sprintf(
272
+ '%s-licenseDeferred%s_%s',
273
+ RPM_WP_CLIENT_OPT_PREFIX,
274
+ \ucfirst($actionName),
275
+ $license->getSlug()
276
+ );
277
+ $now = \time();
278
+ $usePassedExpiration = \is_numeric($actionOrExpire);
279
+ $expire = $usePassedExpiration
280
+ ? \intval($actionOrExpire)
281
+ : $this->applyTimeOfLicenseActivationToTimestamp($now + $periodInDays * DAY_IN_SECONDS) - $now;
282
+ $expireOption = new \MatthiasWeb\RealMediaLibrary\Vendor\MatthiasWeb\Utils\ExpireOption(
283
+ $transientName,
284
+ \false,
285
+ $expire
286
+ );
287
+ if ($usePassedExpiration) {
288
+ return $expireOption->set('1');
289
+ }
290
+ $transientValue = $expireOption->get();
291
+ $result = \false;
292
+ if (!$transientValue) {
293
+ $expireOption->set('1');
294
+ $result = \true;
295
+ if (did_action($minimumWpHook)) {
296
+ \call_user_func($actionOrExpire);
297
+ } else {
298
+ add_action($minimumWpHook, $actionOrExpire);
299
+ }
300
+ }
301
+ $license->restore();
302
+ return $result;
303
+ }
304
  /**
305
  * Check if the form for this license was shown the user once. This allows you e.g.
306
  * show a form of the license activation directly after using the plugin for the first time.
403
  ? \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\License::INSTALLATION_TYPE_NONE
404
  : $result;
405
  }
406
+ /**
407
+ * Check if this license activation has enabled telemetry data sharing.
408
+ */
409
+ public function isTelemetryDataSharingOptIn() {
410
+ $license = $this->getLicense();
411
+ $license->switch();
412
+ $result = get_option(
413
+ \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\License::OPTION_NAME_TELEMETRY_PREFIX .
414
+ $license->getSlug()
415
+ );
416
+ $license->restore();
417
+ return \boolval($result);
418
+ }
419
  /**
420
  * Get license instance.
421
  *
vendor/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateChecker.php CHANGED
@@ -79,9 +79,7 @@ class PluginUpdateChecker {
79
  $parsedError = \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\ClientUtils::parseResponse(
80
  $response
81
  );
82
- if ($license->validateRemoteResponse($parsedError)) {
83
- $license->syncWithRemote();
84
- }
85
  }
86
  return $response;
87
  }
79
  $parsedError = \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\ClientUtils::parseResponse(
80
  $response
81
  );
82
+ $license->validateRemoteResponse($parsedError);
 
 
83
  }
84
  return $response;
85
  }
vendor/devowl-wp/real-product-manager-wp-client/src/license/PluginUpdateLicensePool.php CHANGED
@@ -34,24 +34,6 @@ trait PluginUpdateLicensePool {
34
  $this
35
  );
36
  }
37
- /**
38
- * Unfortunately, `wp_update_plugins()` does not provide any hook but we want to let
39
- * our remote server know about installed WP version, PHP version, ...
40
- *
41
- * We misuse this hook to transfer them to our remote server.
42
- *
43
- * @param array $locales
44
- */
45
- public function plugins_update_check_locales($locales) {
46
- $backtrace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS);
47
- if (\count($backtrace) >= 4 && $backtrace[3]['function'] === 'wp_update_plugins') {
48
- // Iterate all available licenses and let our remote server know the updated versions
49
- foreach ($this->getUniqueLicenses() as $license) {
50
- $license->syncWithRemote();
51
- }
52
- }
53
- return $locales;
54
- }
55
  /**
56
  * Update license settings for this plugin.
57
  *
@@ -275,7 +257,7 @@ trait PluginUpdateLicensePool {
275
  $hostLicenses[
276
  $host
277
  ] = new \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\License(
278
- $this->getInitiator()->getPluginSlug(),
279
  $hostBlogIds[0]
280
  );
281
  }
@@ -287,6 +269,8 @@ trait PluginUpdateLicensePool {
287
  if ($checkRemoteStatus) {
288
  $license->fetchRemoteStatus(\true);
289
  }
 
 
290
  $license->probablyMigrate();
291
  $this->licenses[$blogId] = $license;
292
  }
34
  $this
35
  );
36
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  /**
38
  * Update license settings for this plugin.
39
  *
257
  $hostLicenses[
258
  $host
259
  ] = new \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license\License(
260
+ $this,
261
  $hostBlogIds[0]
262
  );
263
  }
269
  if ($checkRemoteStatus) {
270
  $license->fetchRemoteStatus(\true);
271
  }
272
+ $license->getTelemetryData()->probablyTransmit();
273
+ $license->probablySyncWithRemote();
274
  $license->probablyMigrate();
275
  $this->licenses[$blogId] = $license;
276
  }
vendor/devowl-wp/real-product-manager-wp-client/src/license/TelemetryData.php ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\license;
4
+
5
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\TelemetryData as ClientTelemetryData;
6
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Utils;
7
+ use MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\UtilsProvider;
8
+ // @codeCoverageIgnoreStart
9
+ \defined('ABSPATH') or die('No script kiddies please!');
10
+ // Avoid direct file request
11
+ // @codeCoverageIgnoreEnd
12
+ /**
13
+ * Handle telemetry data.
14
+ */
15
+ class TelemetryData {
16
+ use UtilsProvider;
17
+ /**
18
+ * License instance.
19
+ *
20
+ * @var License
21
+ */
22
+ private $license;
23
+ /**
24
+ * Telemetry data which gets filled with `appendData`.
25
+ */
26
+ private $data = [];
27
+ /**
28
+ * Determines if the built data expects encoded data (e.g. `json_encode`).
29
+ */
30
+ private $encode = \false;
31
+ /**
32
+ * HTTP client.
33
+ *
34
+ * @var ClientTelemetryData
35
+ */
36
+ private $client;
37
+ /**
38
+ * C'tor.
39
+ *
40
+ * @param License $license
41
+ * @codeCoverageIgnore
42
+ */
43
+ public function __construct($license) {
44
+ $this->license = $license;
45
+ $this->client = \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\TelemetryData::instance(
46
+ $license
47
+ );
48
+ }
49
+ /**
50
+ * Add telemetry data to our existing data set.
51
+ *
52
+ * @param string $key
53
+ * @param mixed $data
54
+ */
55
+ public function add($key, $data) {
56
+ $this->data[] = [
57
+ 'key' => $key,
58
+ 'value' => $this->encode ? (\is_scalar($data) ? \strval($data) : \json_encode($data)) : $data
59
+ ];
60
+ return $this;
61
+ }
62
+ /**
63
+ * Get telemetry data (also when deactivated, you need to check this on your own).
64
+ *
65
+ * @param boolean $encode
66
+ */
67
+ public function build($encode = \false) {
68
+ $this->encode = $encode;
69
+ $this->getLicense()
70
+ ->getInitiator()
71
+ ->buildTelemetryData($this);
72
+ return $this->data;
73
+ }
74
+ /**
75
+ * Transmit the telemetry data to the license server depending on the state if allowed.
76
+ * This includes in general if user has accepted telemetry data sharing and only once a day.
77
+ */
78
+ public function probablyTransmit() {
79
+ $activation = $this->getLicense()->getActivation();
80
+ if ($activation->isTelemetryDataSharingOptIn()) {
81
+ $activation->executeDeferredAction('telemetry', [$this->client, 'put']);
82
+ }
83
+ }
84
+ /**
85
+ * Get a compact list of active plugins.
86
+ */
87
+ public function getActivePlugins() {
88
+ $res = [];
89
+ foreach (
90
+ \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Utils::getActivePluginsMap()
91
+ as $file => $name
92
+ ) {
93
+ $res[] = ['slug' => \explode('/', $file)[0], 'file' => $file, 'name' => $name];
94
+ }
95
+ return $res;
96
+ }
97
+ /**
98
+ * Get a compact list of active plugins.
99
+ */
100
+ public function getActiveTheme() {
101
+ $theme = wp_get_theme();
102
+ $file = $theme->get_stylesheet();
103
+ $parent = $theme->parent();
104
+ return \array_merge(
105
+ ['slug' => $file, 'name' => \strval($theme)],
106
+ $parent !== \false
107
+ ? ['parentSlug' => $parent->get_stylesheet(), 'parentName' => \strval($parent)]
108
+ : ['parentSlug' => '', 'parentName' => '']
109
+ );
110
+ }
111
+ /**
112
+ * Get license instance.
113
+ *
114
+ * @codeCoverageIgnore
115
+ */
116
+ public function getLicense() {
117
+ return $this->license;
118
+ }
119
+ }
vendor/devowl-wp/real-product-manager-wp-client/src/rest/PluginUpdate.php CHANGED
@@ -75,6 +75,11 @@ class PluginUpdate {
75
  'callback' => [$this, 'routeRetryLicense'],
76
  'permission_callback' => [$this, 'permission_callback']
77
  ]);
 
 
 
 
 
78
  register_rest_route($namespace, '/plugin-update/(?P<slug>[a-zA-Z0-9_-]+)/license-notice', [
79
  'methods' => 'DELETE',
80
  'callback' => [$this, 'routeDismissLicenseNotice'],
@@ -223,6 +228,36 @@ class PluginUpdate {
223
  return new \WP_REST_Response($license->getAsArray());
224
  }
225
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  /**
227
  * See API docs.
228
  *
75
  'callback' => [$this, 'routeRetryLicense'],
76
  'permission_callback' => [$this, 'permission_callback']
77
  ]);
78
+ register_rest_route($namespace, '/plugin-update/(?P<slug>[a-zA-Z0-9_-]+)/telemetry/(?P<blogId>[0-9_-]+)', [
79
+ 'methods' => 'GET',
80
+ 'callback' => [$this, 'routeTelemetry'],
81
+ 'permission_callback' => [$this, 'permission_callback']
82
+ ]);
83
  register_rest_route($namespace, '/plugin-update/(?P<slug>[a-zA-Z0-9_-]+)/license-notice', [
84
  'methods' => 'DELETE',
85
  'callback' => [$this, 'routeDismissLicenseNotice'],
228
  return new \WP_REST_Response($license->getAsArray());
229
  }
230
  }
231
+ /**
232
+ * See API docs.
233
+ *
234
+ * @param WP_REST_Request $request
235
+ * @api {delete} /real-product-manager-wp-client/v1/plugin-update/:slug/telemetry/:blogId Get telemetry data which is sent to the telemetry server
236
+ * @apiHeader {string} X-WP-Nonce
237
+ * @apiParam {string} slug
238
+ * @apiParam {number} blogId
239
+ * @apiName GetTelemetry
240
+ * @apiPermission activate_plugins
241
+ * @apiGroup Telemetry
242
+ * @apiVersion 1.0.0
243
+ */
244
+ public function routeTelemetry($request) {
245
+ $slug = $request->get_param('slug');
246
+ $blogId = \intval($request->get_param('blogId'));
247
+ $initiator = \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\Core::getInstance()->getInitiator(
248
+ $slug
249
+ );
250
+ if ($initiator === null) {
251
+ return new \WP_Error('rest_not_found', 'Not found', ['status' => 404]);
252
+ } else {
253
+ $licenses = $initiator->getPluginUpdater()->getLicenses(\true);
254
+ if (!isset($licenses[$blogId])) {
255
+ return new \WP_Error('rest_not_found', 'Not found', ['status' => 404]);
256
+ }
257
+ $license = $licenses[$blogId];
258
+ return new \WP_REST_Response($license->getTelemetryData()->build());
259
+ }
260
+ }
261
  /**
262
  * See API docs.
263
  *