Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent - Version 2.15.0

Version Description

Download this release

Release Info

Developer devowl
Plugin Icon 128x128 Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent
Version 2.15.0
Comparing to
See all releases

Code changes from version 2.14.3 to 2.15.0

CHANGELOG.md CHANGED
@@ -3,6 +3,38 @@
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
  ## 2.14.3 (2022-02-04)
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
+ # 2.15.0 (2022-02-11)
7
+
8
+
9
+ ### feat
10
+
11
+ * new content blocker template Divi Contact form (CU-1wepwec)
12
+ * new content blocker template Five Star Restaurant Reservations form with reCAPTCHA (CU-1vqz6f1)
13
+ * new service and content blocker template Piwik PRO (CU-1wernc9)
14
+
15
+
16
+ ### fix
17
+
18
+ * allow to determine if preset is active depending on active theme (CU-1wepwec)
19
+ * compatibility to WP Grid Builder Map Facet add-on (CU-1y25df6)
20
+ * compatibility with MyListing directory theme (CU-1y7v6cm)
21
+ * compatibility with Salient theme and Google Maps (CU-1y7xfwx)
22
+ * compatibility with tagDiv composer and Vimeo/YouTube playlists (CU-1xwmenz)
23
+ * compatibility with tagDiv Composer page builder (CU-1xwmenz)
24
+ * compatibility with Ultimate Member logout page as it automatically logout while scanning pages (CU-1xwmc5f)
25
+ * compatibility with WooCommerce Google Analytics Pro when using manual tracking ID (CU-1y7vj2j)
26
+ * compatiblity with Norebro Theme (CU-1wmhnke)
27
+ * warning about enable_local_ga when Perfmatters is active
28
+
29
+
30
+ ### perf
31
+
32
+ * reduce lifecycle rerenderings by moving height calculations to CSS var implentation (CU-1xwnnwu)
33
+
34
+
35
+
36
+
37
+
38
  ## 2.14.3 (2022-02-04)
39
 
40
 
inc/Utils.php CHANGED
@@ -174,6 +174,22 @@ class Utils {
174
  }
175
  return $result;
176
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  /**
178
  * Checks if any of the given plugins is active. It supports also slugs.
179
  *
@@ -489,6 +505,7 @@ class Utils {
489
  return isset($_GET['fl_builder']) ||
490
  isset($_GET['nf_preview_form']) ||
491
  isset($_GET['legacy-widget-preview']) ||
 
492
  isset($_GET['et_fb']) ||
493
  isset($_GET['tb-preview']) ||
494
  isset($_GET['fb-edit']) ||
174
  }
175
  return $result;
176
  }
177
+ /**
178
+ * Check if a single theme is active. It supports parent theme.
179
+ *
180
+ * @param string $slug
181
+ */
182
+ public static function isThemeActive($slug) {
183
+ $theme = wp_get_theme();
184
+ $slugs = [\basename($theme->get_template_directory()), \basename($theme->get_stylesheet_directory())];
185
+ $parent = $theme->parent();
186
+ if ($parent !== \false) {
187
+ $slugs[] = \basename($parent->get_template_directory());
188
+ $slugs[] = \basename($parent->get_stylesheet_directory());
189
+ }
190
+ $slugs = \array_unique($slugs);
191
+ return \in_array($slug, $slugs, \true);
192
+ }
193
  /**
194
  * Checks if any of the given plugins is active. It supports also slugs.
195
  *
505
  return isset($_GET['fl_builder']) ||
506
  isset($_GET['nf_preview_form']) ||
507
  isset($_GET['legacy-widget-preview']) ||
508
+ (isset($_GET['td_action']) && $_GET['td_action'] === 'tdc_edit') ||
509
  isset($_GET['et_fb']) ||
510
  isset($_GET['tb-preview']) ||
511
  isset($_GET['fb-edit']) ||
inc/base/others/cachebuster-lib.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Feb 04 2022 14:38:14 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
1
  <?php
2
+ /* This file was automatically generated (Fri Feb 11 2022 14:21:08 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
inc/base/others/cachebuster.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Feb 04 2022 14:38:14 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/138.lite.js' => '878e40df52e422b61130450f8f2aef94',
5
  'src/public/dist/193.lite.js' => 'd7a0722155f835c915b08b6c93a9208d',
@@ -31,17 +31,17 @@ return [
31
  'src/public/dist/954.lite.js' => 'ee2cda44e2cd4c19a1f7288055efa5d0',
32
  'src/public/dist/954.pro.js' => 'c39fe799c52c7690d66633725671963f',
33
  'src/public/dist/admin.lite.js' => '270ba6e99440f96f53ea45b92386389c',
34
- 'src/public/dist/admin.pro.js' => '95650118046a0b5dcc4a846fe84819be',
35
- 'src/public/dist/banner_tcf.pro.js' => '103f365e09c3a96f7cad2a16fdbc8d19',
36
- 'src/public/dist/banner.lite.js' => '2572f4e47088eed0a29ee41930cfa4a8',
37
- 'src/public/dist/banner.pro.js' => 'a66badb732199dc238bdf90e3c2c04e5',
38
- 'src/public/dist/blocker_tcf.pro.js' => '669d90fb395591c3b3fe4e723c418682',
39
- 'src/public/dist/blocker.lite.js' => '0b6fb642ff304a7b48431d7a336325d2',
40
- 'src/public/dist/blocker.pro.js' => '3f6654760cc6295fd0c809c1205eb2eb',
41
  'src/public/dist/chunk-config-tab-blocker.lite.js' => '479d9b4da35c5d28745e31ea6ca11adf',
42
  'src/public/dist/chunk-config-tab-blocker.pro.js' => 'ce8b9ebed1cc39ea5681e9a9ba2f2cff',
43
  'src/public/dist/chunk-config-tab-consent.lite.js' => 'ff3c43e445f86faf57311d80bf0544fb',
44
- 'src/public/dist/chunk-config-tab-consent.pro.js' => '3c6bb4dfa57249d8aebe225e88b8e43f',
45
  'src/public/dist/chunk-config-tab-cookies.lite.js' => 'aaca3c88991bec76da95f3f82dd3316f',
46
  'src/public/dist/chunk-config-tab-cookies.pro.js' => '2a8850894d2893e8efd3e48ea66a988f',
47
  'src/public/dist/chunk-config-tab-dashboard.lite.js' => 'e7c23736210fad73543f7a79609385b6',
@@ -56,8 +56,8 @@ return [
56
  'src/public/dist/chunk-config-tab-settings.pro.js' => '8fc4e1481ad90564d213de0be0621f1d',
57
  'src/public/dist/chunk-config-tab-tcf.lite.js' => 'a07c8143e107581520f363ea3d419407',
58
  'src/public/dist/chunk-config-tab-tcf.pro.js' => '03a71b5ebdb398790b4b894063d6887e',
59
- 'src/public/dist/customize_banner.lite.js' => '123171979bf25899ccd76568f693929d',
60
- 'src/public/dist/customize_banner.pro.js' => 'a306ec408817e97989e7c8084bf04c6e',
61
  'src/public/dist/customize.lite.js' => '38e63843f941e56d380be68936d7f0ab',
62
  'src/public/dist/customize.pro.js' => 'dd35814d34df4823f2178b19e40cb297',
63
  'src/public/dist/queue.lite.js' => 'b4ab0853c01cb73a41fed443657f8bcd',
1
  <?php
2
+ /* This file was automatically generated (Fri Feb 11 2022 14:21:08 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/138.lite.js' => '878e40df52e422b61130450f8f2aef94',
5
  'src/public/dist/193.lite.js' => 'd7a0722155f835c915b08b6c93a9208d',
31
  'src/public/dist/954.lite.js' => 'ee2cda44e2cd4c19a1f7288055efa5d0',
32
  'src/public/dist/954.pro.js' => 'c39fe799c52c7690d66633725671963f',
33
  'src/public/dist/admin.lite.js' => '270ba6e99440f96f53ea45b92386389c',
34
+ 'src/public/dist/admin.pro.js' => '4e149a34d127700792c595da7ba1fc61',
35
+ 'src/public/dist/banner_tcf.pro.js' => '5cc601a4f008915fa35ab52255b3e9fc',
36
+ 'src/public/dist/banner.lite.js' => '4ccfd8d091dd9a6d806778a63cd05263',
37
+ 'src/public/dist/banner.pro.js' => '314ccc134cba4219f90abdf4f6d84bc4',
38
+ 'src/public/dist/blocker_tcf.pro.js' => 'd78acef349e15bf1765759b786ea982d',
39
+ 'src/public/dist/blocker.lite.js' => 'ac834e30de5b33ccdb5e3919e99b048f',
40
+ 'src/public/dist/blocker.pro.js' => '89495e9bb9c8a5827bfe21748a69bef5',
41
  'src/public/dist/chunk-config-tab-blocker.lite.js' => '479d9b4da35c5d28745e31ea6ca11adf',
42
  'src/public/dist/chunk-config-tab-blocker.pro.js' => 'ce8b9ebed1cc39ea5681e9a9ba2f2cff',
43
  'src/public/dist/chunk-config-tab-consent.lite.js' => 'ff3c43e445f86faf57311d80bf0544fb',
44
+ 'src/public/dist/chunk-config-tab-consent.pro.js' => 'e16dca33fdc0c695fc350ae3081ea9ce',
45
  'src/public/dist/chunk-config-tab-cookies.lite.js' => 'aaca3c88991bec76da95f3f82dd3316f',
46
  'src/public/dist/chunk-config-tab-cookies.pro.js' => '2a8850894d2893e8efd3e48ea66a988f',
47
  'src/public/dist/chunk-config-tab-dashboard.lite.js' => 'e7c23736210fad73543f7a79609385b6',
56
  'src/public/dist/chunk-config-tab-settings.pro.js' => '8fc4e1481ad90564d213de0be0621f1d',
57
  'src/public/dist/chunk-config-tab-tcf.lite.js' => 'a07c8143e107581520f363ea3d419407',
58
  'src/public/dist/chunk-config-tab-tcf.pro.js' => '03a71b5ebdb398790b4b894063d6887e',
59
+ 'src/public/dist/customize_banner.lite.js' => '627c30233997b1e987408d6267d2b4a9',
60
+ 'src/public/dist/customize_banner.pro.js' => '094b44cea6cfcf95650ab8160df5a0ba',
61
  'src/public/dist/customize.lite.js' => '38e63843f941e56d380be68936d7f0ab',
62
  'src/public/dist/customize.pro.js' => 'dd35814d34df4823f2178b19e40cb297',
63
  'src/public/dist/queue.lite.js' => 'b4ab0853c01cb73a41fed443657f8bcd',
inc/comp/PresetsPluginIntegrations.php CHANGED
@@ -293,14 +293,16 @@ class PresetsPluginIntegrations {
293
  if (!\is_array($option) || !isset($option['analytics'])) {
294
  return \false;
295
  }
296
- return $option['analytics']['enable_local_ga'] === '1';
 
297
  case self::SLUG_WOOCOMMERCE_GOOGLE_ANALYTICS_PRO:
298
  $optionSettings = get_option(self::OPTION_NAME_WOOCOMMERCE_GOOGLE_ANALYTICS_PRO_SETTINGS);
299
  if (!\is_array($optionSettings) || !isset($optionSettings['enabled'])) {
300
  return \false;
301
  }
302
  $optionAccountId = get_option(self::OPTION_NAME_WOOCOMMERCE_GOOGLE_ANALYTICS_PRO_ACCOUNT_ID);
303
- return !empty($optionAccountId) && $optionSettings['enabled'] === 'yes';
 
304
  default:
305
  break;
306
  }
293
  if (!\is_array($option) || !isset($option['analytics'])) {
294
  return \false;
295
  }
296
+ $enable_local_ga = $option['analytics']['enable_local_ga'] ?? null;
297
+ return $enable_local_ga === '1';
298
  case self::SLUG_WOOCOMMERCE_GOOGLE_ANALYTICS_PRO:
299
  $optionSettings = get_option(self::OPTION_NAME_WOOCOMMERCE_GOOGLE_ANALYTICS_PRO_SETTINGS);
300
  if (!\is_array($optionSettings) || !isset($optionSettings['enabled'])) {
301
  return \false;
302
  }
303
  $optionAccountId = get_option(self::OPTION_NAME_WOOCOMMERCE_GOOGLE_ANALYTICS_PRO_ACCOUNT_ID);
304
+ $trackingId = $optionSettings['tracking_id'] ?? null;
305
+ return (!empty($optionAccountId) || !empty($trackingId)) && $optionSettings['enabled'] === 'yes';
306
  default:
307
  break;
308
  }
inc/overrides/lite/Core.php CHANGED
@@ -41,6 +41,7 @@ use DevOwl\RealCookieBanner\presets\pro\blocker\CustomFacebookFeedPreset as Bloc
41
  use DevOwl\RealCookieBanner\presets\pro\blocker\CustomTwitterFeedPreset as BlockerCustomTwitterFeedPreset;
42
  use DevOwl\RealCookieBanner\presets\pro\blocker\DailyMotionPreset as BlockerDailyMotionPreset;
43
  use DevOwl\RealCookieBanner\presets\pro\blocker\DiscordWidgetPreset as BlockerDiscordWidgetPreset;
 
44
  use DevOwl\RealCookieBanner\presets\pro\blocker\ElementorFormsPreset;
45
  use DevOwl\RealCookieBanner\presets\pro\blocker\ExactMetrics4Preset as BlockerExactMetrics4Preset;
46
  use DevOwl\RealCookieBanner\presets\pro\blocker\ExactMetricsPreset as BlockerExactMetricsPreset;
@@ -51,6 +52,7 @@ use DevOwl\RealCookieBanner\presets\pro\blocker\FacebookPixelPreset as BlockerFa
51
  use DevOwl\RealCookieBanner\presets\pro\blocker\FacebookPostPreset as BlockerFacebookPostPreset;
52
  use DevOwl\RealCookieBanner\presets\pro\blocker\FacebookSharePreset as BlockerFacebookSharePreset;
53
  use DevOwl\RealCookieBanner\presets\pro\blocker\FeedsForYoutubePreset as BlockerFeedsForYoutubePreset;
 
54
  use DevOwl\RealCookieBanner\presets\pro\blocker\FlickrPreset as BlockerFlickrPreset;
55
  use DevOwl\RealCookieBanner\presets\pro\blocker\FormidablePreset;
56
  use DevOwl\RealCookieBanner\presets\pro\blocker\FormMakerRecaptchaPreset;
@@ -93,6 +95,7 @@ use DevOwl\RealCookieBanner\presets\pro\blocker\PerfmattersGA4Preset as BlockerP
93
  use DevOwl\RealCookieBanner\presets\pro\blocker\PerfmattersGAPreset as BlockerPerfmattersGAPreset;
94
  use DevOwl\RealCookieBanner\presets\pro\blocker\PinterestPreset as BlockerPinterestPreset;
95
  use DevOwl\RealCookieBanner\presets\pro\blocker\PinterestTagPreset as BlockerPinterestTagPreset;
 
96
  use DevOwl\RealCookieBanner\presets\pro\blocker\PodigeePreset as BlockerPodigeePreset;
97
  use DevOwl\RealCookieBanner\presets\pro\blocker\PopupMakerPreset as BlockerPopupMakerPreset;
98
  use DevOwl\RealCookieBanner\presets\pro\blocker\ProvenExpertWidgetPreset as BlockerProvenExpertWidgetPreset;
@@ -196,6 +199,7 @@ use DevOwl\RealCookieBanner\presets\pro\PerfmattersGA4Preset;
196
  use DevOwl\RealCookieBanner\presets\pro\PerfmattersGAPreset;
197
  use DevOwl\RealCookieBanner\presets\pro\PinterestPreset;
198
  use DevOwl\RealCookieBanner\presets\pro\PinterestTagPreset;
 
199
  use DevOwl\RealCookieBanner\presets\pro\PodigeePreset;
200
  use DevOwl\RealCookieBanner\presets\pro\PolyLangPreset;
201
  use DevOwl\RealCookieBanner\presets\pro\PopupMakerPreset;
@@ -522,7 +526,9 @@ trait Core {
522
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::EXACT_METRICS_4 =>
523
  \DevOwl\RealCookieBanner\presets\pro\ExactMetrics4Preset::class,
524
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::WOOCOMMERCE_GOOGLE_ANALYTICS_PRO =>
525
- \DevOwl\RealCookieBanner\presets\pro\WooCommerceGoogleAnalyticsProPreset::class
 
 
526
  ]);
527
  }
528
  /**
@@ -739,7 +745,13 @@ trait Core {
739
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::EXACT_METRICS_4 =>
740
  \DevOwl\RealCookieBanner\presets\pro\blocker\ExactMetrics4Preset::class,
741
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::WOOCOMMERCE_GOOGLE_ANALYTICS_PRO =>
742
- \DevOwl\RealCookieBanner\presets\pro\blocker\WooCommerceGoogleAnalyticsProPreset::class
 
 
 
 
 
 
743
  ]);
744
  }
745
  }
41
  use DevOwl\RealCookieBanner\presets\pro\blocker\CustomTwitterFeedPreset as BlockerCustomTwitterFeedPreset;
42
  use DevOwl\RealCookieBanner\presets\pro\blocker\DailyMotionPreset as BlockerDailyMotionPreset;
43
  use DevOwl\RealCookieBanner\presets\pro\blocker\DiscordWidgetPreset as BlockerDiscordWidgetPreset;
44
+ use DevOwl\RealCookieBanner\presets\pro\blocker\DiviContactFormPreset;
45
  use DevOwl\RealCookieBanner\presets\pro\blocker\ElementorFormsPreset;
46
  use DevOwl\RealCookieBanner\presets\pro\blocker\ExactMetrics4Preset as BlockerExactMetrics4Preset;
47
  use DevOwl\RealCookieBanner\presets\pro\blocker\ExactMetricsPreset as BlockerExactMetricsPreset;
52
  use DevOwl\RealCookieBanner\presets\pro\blocker\FacebookPostPreset as BlockerFacebookPostPreset;
53
  use DevOwl\RealCookieBanner\presets\pro\blocker\FacebookSharePreset as BlockerFacebookSharePreset;
54
  use DevOwl\RealCookieBanner\presets\pro\blocker\FeedsForYoutubePreset as BlockerFeedsForYoutubePreset;
55
+ use DevOwl\RealCookieBanner\presets\pro\blocker\FiveStarRestaurantReservationsPreset;
56
  use DevOwl\RealCookieBanner\presets\pro\blocker\FlickrPreset as BlockerFlickrPreset;
57
  use DevOwl\RealCookieBanner\presets\pro\blocker\FormidablePreset;
58
  use DevOwl\RealCookieBanner\presets\pro\blocker\FormMakerRecaptchaPreset;
95
  use DevOwl\RealCookieBanner\presets\pro\blocker\PerfmattersGAPreset as BlockerPerfmattersGAPreset;
96
  use DevOwl\RealCookieBanner\presets\pro\blocker\PinterestPreset as BlockerPinterestPreset;
97
  use DevOwl\RealCookieBanner\presets\pro\blocker\PinterestTagPreset as BlockerPinterestTagPreset;
98
+ use DevOwl\RealCookieBanner\presets\pro\blocker\PiwikProPreset as BlockerPiwikProPreset;
99
  use DevOwl\RealCookieBanner\presets\pro\blocker\PodigeePreset as BlockerPodigeePreset;
100
  use DevOwl\RealCookieBanner\presets\pro\blocker\PopupMakerPreset as BlockerPopupMakerPreset;
101
  use DevOwl\RealCookieBanner\presets\pro\blocker\ProvenExpertWidgetPreset as BlockerProvenExpertWidgetPreset;
199
  use DevOwl\RealCookieBanner\presets\pro\PerfmattersGAPreset;
200
  use DevOwl\RealCookieBanner\presets\pro\PinterestPreset;
201
  use DevOwl\RealCookieBanner\presets\pro\PinterestTagPreset;
202
+ use DevOwl\RealCookieBanner\presets\pro\PiwikProPreset;
203
  use DevOwl\RealCookieBanner\presets\pro\PodigeePreset;
204
  use DevOwl\RealCookieBanner\presets\pro\PolyLangPreset;
205
  use DevOwl\RealCookieBanner\presets\pro\PopupMakerPreset;
526
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::EXACT_METRICS_4 =>
527
  \DevOwl\RealCookieBanner\presets\pro\ExactMetrics4Preset::class,
528
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::WOOCOMMERCE_GOOGLE_ANALYTICS_PRO =>
529
+ \DevOwl\RealCookieBanner\presets\pro\WooCommerceGoogleAnalyticsProPreset::class,
530
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::PIWIK_PRO =>
531
+ \DevOwl\RealCookieBanner\presets\pro\PiwikProPreset::class
532
  ]);
533
  }
534
  /**
745
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::EXACT_METRICS_4 =>
746
  \DevOwl\RealCookieBanner\presets\pro\blocker\ExactMetrics4Preset::class,
747
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::WOOCOMMERCE_GOOGLE_ANALYTICS_PRO =>
748
+ \DevOwl\RealCookieBanner\presets\pro\blocker\WooCommerceGoogleAnalyticsProPreset::class,
749
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::FIVE_STAR_RESTAURANT_RESERVATION =>
750
+ \DevOwl\RealCookieBanner\presets\pro\blocker\FiveStarRestaurantReservationsPreset::class,
751
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::DIVI_CONTACT_FORM_RECAPTCHA =>
752
+ \DevOwl\RealCookieBanner\presets\pro\blocker\DiviContactFormPreset::class,
753
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::PIWIK_PRO =>
754
+ \DevOwl\RealCookieBanner\presets\pro\blocker\PiwikProPreset::class
755
  ]);
756
  }
757
  }
inc/presets/PresetIdentifierMap.php CHANGED
@@ -38,6 +38,7 @@ class PresetIdentifierMap {
38
  const CUSTOM_TWITTER_FEED = 'custom-twitter-feed';
39
  const DAILYMOTION = 'dailymotion';
40
  const DISCORD_WIDGET = 'discord-widget';
 
41
  const ELEMENTOR = 'elementor';
42
  const ELEMENTOR_FORMS_RECAPTCHA = 'elementor-forms-recaptcha';
43
  const EXACT_METRICS = 'exact-metrics';
@@ -53,6 +54,7 @@ class PresetIdentifierMap {
53
  const FACEBOOK_POST = 'facebook-post';
54
  const FACEBOOK_SHARE = 'facebook-share';
55
  const FEEDS_FOR_YOUTUBE = 'feeds-for-youtube';
 
56
  const FLICKR = 'flickr';
57
  const FONTAWESOME = 'font-awesome';
58
  const FORMIDABLE_RECAPTCHA = 'formidable-with-google-recaptcha';
@@ -113,6 +115,7 @@ class PresetIdentifierMap {
113
  const PERFMATTERS_GA4 = 'perfmatters-ga-4';
114
  const PINTEREST = 'pinterest';
115
  const PINTEREST_TAG = 'pinterest-tag';
 
116
  const PODIGEE = 'podigee';
117
  const POPUP_MAKER = 'popup-maker';
118
  const POLYLANG = 'polylang';
38
  const CUSTOM_TWITTER_FEED = 'custom-twitter-feed';
39
  const DAILYMOTION = 'dailymotion';
40
  const DISCORD_WIDGET = 'discord-widget';
41
+ const DIVI_CONTACT_FORM_RECAPTCHA = 'divi-contact-form-with-google-recaptcha';
42
  const ELEMENTOR = 'elementor';
43
  const ELEMENTOR_FORMS_RECAPTCHA = 'elementor-forms-recaptcha';
44
  const EXACT_METRICS = 'exact-metrics';
54
  const FACEBOOK_POST = 'facebook-post';
55
  const FACEBOOK_SHARE = 'facebook-share';
56
  const FEEDS_FOR_YOUTUBE = 'feeds-for-youtube';
57
+ const FIVE_STAR_RESTAURANT_RESERVATION = 'five-star-restaurant-reservation';
58
  const FLICKR = 'flickr';
59
  const FONTAWESOME = 'font-awesome';
60
  const FORMIDABLE_RECAPTCHA = 'formidable-with-google-recaptcha';
115
  const PERFMATTERS_GA4 = 'perfmatters-ga-4';
116
  const PINTEREST = 'pinterest';
117
  const PINTEREST_TAG = 'pinterest-tag';
118
+ const PIWIK_PRO = 'piwik-pro';
119
  const PODIGEE = 'podigee';
120
  const POPUP_MAKER = 'popup-maker';
121
  const POLYLANG = 'polylang';
inc/presets/free/blocker/YoutubePreset.php CHANGED
@@ -38,7 +38,9 @@ class YoutubePreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPres
38
  'script[id="uael-video-subscribe-js"]',
39
  'div[class*="g-ytsubscribe"]',
40
  // [Plugin Comp] Premium Addons for Elementor
41
- 'div[class*="elementor-widget-premium-addon-video-box"][data-settings*="youtube"]'
 
 
42
  ],
43
  'cookies' => [\DevOwl\RealCookieBanner\presets\free\YoutubePreset::IDENTIFIER]
44
  ]
38
  'script[id="uael-video-subscribe-js"]',
39
  'div[class*="g-ytsubscribe"]',
40
  // [Plugin Comp] Premium Addons for Elementor
41
+ 'div[class*="elementor-widget-premium-addon-video-box"][data-settings*="youtube"]',
42
+ // [Plugin Comp] tagDiv Composer
43
+ 'div[class*="td_wrapper_playlist_player_youtube"]'
44
  ],
45
  'cookies' => [\DevOwl\RealCookieBanner\presets\free\YoutubePreset::IDENTIFIER]
46
  ]
inc/presets/middleware/DisablePresetByNeedsMiddleware.php CHANGED
@@ -10,10 +10,11 @@ use DevOwl\RealCookieBanner\Utils;
10
  // Avoid direct file request
11
  // @codeCoverageIgnoreEnd
12
  /**
13
- * Middleware to enable `'needs': ['wp:elementor', 'wp:elementor-pro']` in cookie and content blocker presets.
14
  */
15
  class DisablePresetByNeedsMiddleware {
16
- const WP_PREFIX = 'wp:';
 
17
  /**
18
  * Pass preset metadata with attributes and disable the preset when none of the given plugins is active.
19
  *
@@ -38,8 +39,8 @@ class DisablePresetByNeedsMiddleware {
38
  */
39
  public static function check($needs, $presetIdentifier, $type) {
40
  foreach ($needs as $dep) {
41
- if (\DevOwl\RealCookieBanner\Utils::startsWith($dep, self::WP_PREFIX)) {
42
- $plugin = \substr($dep, \strlen(self::WP_PREFIX));
43
  if (\DevOwl\RealCookieBanner\Utils::isPluginActive($plugin)) {
44
  /**
45
  * Allows you to deactivate a false-positive plugin preset.
@@ -60,6 +61,11 @@ class DisablePresetByNeedsMiddleware {
60
  return \true;
61
  }
62
  }
 
 
 
 
 
63
  }
64
  }
65
  return \false;
@@ -68,10 +74,11 @@ class DisablePresetByNeedsMiddleware {
68
  * Generate the `needs` keyword for a set of slugs.
69
  *
70
  * @param string[] $slugs
 
71
  */
72
- public static function generateNeedsForSlugs($slugs) {
73
  foreach ($slugs as &$slug) {
74
- $slug = \sprintf('%s%s', self::WP_PREFIX, $slug);
75
  }
76
  return $slugs;
77
  }
10
  // Avoid direct file request
11
  // @codeCoverageIgnoreEnd
12
  /**
13
+ * Middleware to enable `'needs': ['wp-plugin:elementor', 'wp-plugin:elementor-pro']` in cookie and content blocker presets.
14
  */
15
  class DisablePresetByNeedsMiddleware {
16
+ const WP_PLUGIN_PREFIX = 'wp-plugin:';
17
+ const WP_THEME_PREFIX = 'wp-theme:';
18
  /**
19
  * Pass preset metadata with attributes and disable the preset when none of the given plugins is active.
20
  *
39
  */
40
  public static function check($needs, $presetIdentifier, $type) {
41
  foreach ($needs as $dep) {
42
+ if (\DevOwl\RealCookieBanner\Utils::startsWith($dep, self::WP_PLUGIN_PREFIX)) {
43
+ $plugin = \substr($dep, \strlen(self::WP_PLUGIN_PREFIX));
44
  if (\DevOwl\RealCookieBanner\Utils::isPluginActive($plugin)) {
45
  /**
46
  * Allows you to deactivate a false-positive plugin preset.
61
  return \true;
62
  }
63
  }
64
+ } elseif (\DevOwl\RealCookieBanner\Utils::startsWith($dep, self::WP_THEME_PREFIX)) {
65
+ $theme = \substr($dep, \strlen(self::WP_THEME_PREFIX));
66
+ if (\DevOwl\RealCookieBanner\Utils::isThemeActive($theme)) {
67
+ return \true;
68
+ }
69
  }
70
  }
71
  return \false;
74
  * Generate the `needs` keyword for a set of slugs.
75
  *
76
  * @param string[] $slugs
77
+ * @param string $type
78
  */
79
+ public static function generateNeedsForSlugs($slugs, $type = self::WP_PLUGIN_PREFIX) {
80
  foreach ($slugs as &$slug) {
81
+ $slug = \sprintf('%s%s', $type, $slug);
82
  }
83
  return $slugs;
84
  }
inc/presets/pro/PiwikProPreset.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\presets\pro;
4
+
5
+ use DevOwl\RealCookieBanner\Core;
6
+ use DevOwl\RealCookieBanner\presets\AbstractCookiePreset;
7
+ use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
8
+ // @codeCoverageIgnoreStart
9
+ \defined('ABSPATH') or die('No script kiddies please!');
10
+ // Avoid direct file request
11
+ // @codeCoverageIgnoreEnd
12
+ /**
13
+ * Piwik Pro cookie preset.
14
+ */
15
+ class PiwikProPreset extends \DevOwl\RealCookieBanner\presets\AbstractCookiePreset {
16
+ const IDENTIFIER = \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::PIWIK_PRO;
17
+ const SLUG = 'piwik-pro';
18
+ const VERSION = 1;
19
+ // Documented in AbstractPreset
20
+ public function common() {
21
+ $name = 'Piwik PRO';
22
+ return [
23
+ 'id' => self::IDENTIFIER,
24
+ 'version' => self::VERSION,
25
+ 'name' => $name,
26
+ 'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/piwik-pro.png')
27
+ ];
28
+ }
29
+ // Documented in AbstractPreset
30
+ public function managerNone() {
31
+ return \false;
32
+ }
33
+ // Documented in AbstractPreset
34
+ public function managerGtm() {
35
+ return \false;
36
+ }
37
+ // Documented in AbstractPreset
38
+ public function managerMtm() {
39
+ return \false;
40
+ }
41
+ }
inc/presets/pro/blocker/DiviContactFormPreset.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\presets\pro\blocker;
4
+
5
+ use DevOwl\RealCookieBanner\Core;
6
+ use DevOwl\RealCookieBanner\presets\AbstractBlockerPreset;
7
+ use DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware;
8
+ use DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware;
9
+ use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
10
+ // @codeCoverageIgnoreStart
11
+ \defined('ABSPATH') or die('No script kiddies please!');
12
+ // Avoid direct file request
13
+ // @codeCoverageIgnoreEnd
14
+ /**
15
+ * Divi Contact Form with Google reCAPTCHA blocker preset.
16
+ */
17
+ class DiviContactFormPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset {
18
+ const IDENTIFIER = \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::DIVI_CONTACT_FORM_RECAPTCHA;
19
+ const SLUG = 'divi';
20
+ const VERSION = 1;
21
+ // Documented in AbstractPreset
22
+ public function common() {
23
+ return [
24
+ 'id' => self::IDENTIFIER,
25
+ 'version' => self::VERSION,
26
+ 'name' => __('Divi Contact Form', RCB_TD),
27
+ 'description' => __('with Google reCAPTCHA', RCB_TD),
28
+ 'attributes' => [
29
+ 'hosts' => [
30
+ [
31
+ '*google.com/recaptcha*',
32
+ [
33
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
34
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::GOOGLE_RECAPTCHA
35
+ ]
36
+ ],
37
+ [
38
+ '*gstatic.com/recaptcha*',
39
+ [
40
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
41
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::GOOGLE_RECAPTCHA
42
+ ]
43
+ ],
44
+ [
45
+ 'div[class*="et_pb_recaptcha_enabled"]',
46
+ [
47
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
48
+ self::IDENTIFIER
49
+ ]
50
+ ]
51
+ ]
52
+ ],
53
+ 'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/divi.png'),
54
+ 'needs' => self::needs()
55
+ ];
56
+ }
57
+ // Self-explanatory
58
+ public static function needs() {
59
+ return \DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware::generateNeedsForSlugs(
60
+ [self::SLUG],
61
+ \DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware::WP_THEME_PREFIX
62
+ );
63
+ }
64
+ }
inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\presets\pro\blocker;
4
+
5
+ use DevOwl\RealCookieBanner\Core;
6
+ use DevOwl\RealCookieBanner\presets\AbstractBlockerPreset;
7
+ use DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware;
8
+ use DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware;
9
+ use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
10
+ // @codeCoverageIgnoreStart
11
+ \defined('ABSPATH') or die('No script kiddies please!');
12
+ // Avoid direct file request
13
+ // @codeCoverageIgnoreEnd
14
+ /**
15
+ * Five Star Restaurant Reservations Forms with Google reCAPTCHA blocker preset.
16
+ */
17
+ class FiveStarRestaurantReservationsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset {
18
+ const IDENTIFIER = \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::FIVE_STAR_RESTAURANT_RESERVATION;
19
+ const SLUG_FREE = 'restaurant-reservations';
20
+ const SLUG_PRO = 'restaurant-reservations';
21
+ const VERSION = 1;
22
+ // Documented in AbstractPreset
23
+ public function common() {
24
+ return [
25
+ 'id' => self::IDENTIFIER,
26
+ 'version' => self::VERSION,
27
+ 'name' => __('Five Star Restaurant Reservations', RCB_TD),
28
+ 'description' => __('with Google reCAPTCHA', RCB_TD),
29
+ 'attributes' => [
30
+ 'hosts' => [
31
+ [
32
+ '*google.com/recaptcha*',
33
+ [
34
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
35
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::GOOGLE_RECAPTCHA
36
+ ]
37
+ ],
38
+ [
39
+ '*gstatic.com/recaptcha*',
40
+ [
41
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
42
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::GOOGLE_RECAPTCHA
43
+ ]
44
+ ],
45
+ [
46
+ 'form[class*="rtb-booking-form-form"]',
47
+ [
48
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
49
+ self::IDENTIFIER
50
+ ]
51
+ ]
52
+ ]
53
+ ],
54
+ 'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl(
55
+ 'logos/five-star-restaurant-reservation.png'
56
+ ),
57
+ 'needs' => self::needs()
58
+ ];
59
+ }
60
+ // Self-explanatory
61
+ public static function needs() {
62
+ return \DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware::generateNeedsForSlugs([
63
+ self::SLUG_FREE,
64
+ self::SLUG_PRO
65
+ ]);
66
+ }
67
+ }
inc/presets/pro/blocker/GoogleMapsPreset.php CHANGED
@@ -95,7 +95,18 @@ class GoogleMapsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerP
95
  '*/wp-content/plugins/codespacing-progress-map/assets/js/*',
96
  'div[class*="codespacing_progress_map_area"]',
97
  // [Plugin Comp] https://qodeinteractive.com/wordpress-theme/bridge-creative-multi-purpose-wordpress-theme/
98
- 'div[class*="qode_google_map"]'
 
 
 
 
 
 
 
 
 
 
 
99
  ]
100
  ],
101
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
95
  '*/wp-content/plugins/codespacing-progress-map/assets/js/*',
96
  'div[class*="codespacing_progress_map_area"]',
97
  // [Plugin Comp] https://qodeinteractive.com/wordpress-theme/bridge-creative-multi-purpose-wordpress-theme/
98
+ 'div[class*="qode_google_map"]',
99
+ // [Plugin Comp] WP Grid Builder
100
+ '*wp-content/plugins/wp-grid-builder-map-facet/assets/js*',
101
+ 'div[class*="wpgb-map-facet"]',
102
+ // [Plugin Comp] https://themeforest.net/item/mylisting-directory-listing-wordpress-theme/20593226
103
+ '*wp-content/themes/my-listing/assets/dist/maps/google-maps/*',
104
+ '*wp-content/themes/my-listing/assets/dist/explore*',
105
+ 'div[class*="c27-map"]',
106
+ 'div[class*="elementor-widget-case27-explore-widget"]',
107
+ // [Plugin Comp] https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
108
+ '*wp-content/themes/salient/js/build/map*',
109
+ 'div[class*="nectar-google-map"]'
110
  ]
111
  ],
112
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
inc/presets/pro/blocker/PiwikProPreset.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\presets\pro\blocker;
4
+
5
+ use DevOwl\RealCookieBanner\Core;
6
+ use DevOwl\RealCookieBanner\presets\pro\PiwikProPreset as PresetsPiwikProPreset;
7
+ use DevOwl\RealCookieBanner\presets\AbstractBlockerPreset;
8
+ // @codeCoverageIgnoreStart
9
+ \defined('ABSPATH') or die('No script kiddies please!');
10
+ // Avoid direct file request
11
+ // @codeCoverageIgnoreEnd
12
+ /**
13
+ * Piwik PRO blocker preset.
14
+ */
15
+ class PiwikProPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset {
16
+ const IDENTIFIER = \DevOwl\RealCookieBanner\presets\pro\PiwikProPreset::IDENTIFIER;
17
+ const VERSION = 1;
18
+ // Documented in AbstractPreset
19
+ public function common() {
20
+ $name = 'Piwik PRO';
21
+ return [
22
+ 'id' => self::IDENTIFIER,
23
+ 'version' => self::VERSION,
24
+ 'name' => $name,
25
+ 'attributes' => ['hosts' => ['*.piwik.pro/*']],
26
+ 'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/piwik-pro.png')
27
+ ];
28
+ }
29
+ }
inc/presets/pro/blocker/VimeoPreset.php CHANGED
@@ -30,7 +30,9 @@ class VimeoPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset
30
  // [Plugin Comp] Thrive Architect
31
  'div[data-url*="vimeo.com"]',
32
  // [Plugin Comp] Premium Addons for Elementor
33
- 'div[class*="elementor-widget-premium-addon-video-box"][data-settings*="vimeo"]'
 
 
34
  ]
35
  ],
36
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/vimeo.png')
30
  // [Plugin Comp] Thrive Architect
31
  'div[data-url*="vimeo.com"]',
32
  // [Plugin Comp] Premium Addons for Elementor
33
+ 'div[class*="elementor-widget-premium-addon-video-box"][data-settings*="vimeo"]',
34
+ // [Plugin Comp] tagDiv Composer
35
+ 'div[class*="td_wrapper_playlist_player_vimeo"]'
36
  ]
37
  ],
38
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/vimeo.png')
inc/scanner/Scanner.php CHANGED
@@ -434,9 +434,13 @@ class Scanner {
434
  }
435
  }
436
  /**
437
- * Bypass website blockers like "Coming soon" plugins.
438
  */
439
  public function bypassWebsiteBlockers() {
 
 
 
 
440
  // [Plugin comp] https://wordpress.org/plugins/cmp-coming-soon-maintenance/
441
  add_filter('pre_option_niteoCS_status', function () {
442
  return '0';
434
  }
435
  }
436
  /**
437
+ * Bypass website blockers like "Coming soon" plugins and logout pages.
438
  */
439
  public function bypassWebsiteBlockers() {
440
+ // [Plugin comp] https://wordpress.org/plugins/ultimate-member/
441
+ if (\function_exists('UM')) {
442
+ remove_action('template_redirect', [UM()->logout(), 'logout_page'], 10000);
443
+ }
444
  // [Plugin comp] https://wordpress.org/plugins/cmp-coming-soon-maintenance/
445
  add_filter('pre_option_niteoCS_status', function () {
446
  return '0';
inc/view/blocker/Plugin.php CHANGED
@@ -61,7 +61,9 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
61
  // [Plugin Comp] JetElements for Elementor
62
  'style',
63
  // [Theme Comp] Themify
64
- 'data-url'
 
 
65
  ],
66
  'expensiveDiv'
67
  );
@@ -85,7 +87,11 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
85
  // [Plugin Comp] Thrive Architect
86
  'thrv_responsive_video' => 'children:iframe',
87
  // [Plugin Comp] Ultimate Addons for Elementor
88
- 'uael-video__play' => '.elementor-widget-container'
 
 
 
 
89
  ]);
90
  $cb->addSkipInlineScriptVariableAssignments([
91
  '_wpCustomizeSettings',
61
  // [Plugin Comp] JetElements for Elementor
62
  'style',
63
  // [Theme Comp] Themify
64
+ 'data-url',
65
+ // [Theme Comp] https://themeforest.net/item/norebro-creative-multipurpose-wordpress-theme/20834703
66
+ 'data-video-module'
67
  ],
68
  'expensiveDiv'
69
  );
87
  // [Plugin Comp] Thrive Architect
88
  'thrv_responsive_video' => 'children:iframe',
89
  // [Plugin Comp] Ultimate Addons for Elementor
90
+ 'uael-video__play' => '.elementor-widget-container',
91
+ // [Plugin Comp] WP Grid Builder
92
+ 'wpgb-map-facet' => '.wpgb-facet',
93
+ // [Plugin Comp] tagDiv Composer
94
+ 'td_wrapper_playlist_player_youtube' => 1
95
  ]);
96
  $cb->addSkipInlineScriptVariableAssignments([
97
  '_wpCustomizeSettings',
index.php CHANGED
@@ -8,7 +8,7 @@
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
- * Version: 2.14.3
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
+ * Version: 2.15.0
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
languages/real-cookie-banner-de_AT.mo CHANGED
Binary file
languages/real-cookie-banner-de_AT.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-02-04 14:11+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
- "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -573,6 +573,7 @@ msgstr "Funktional"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
 
576
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
577
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
578
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
@@ -1046,6 +1047,7 @@ msgstr "ActiveCampaign-Account-ID"
1046
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1047
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1048
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
 
1049
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1050
  msgid "Please fill in a valid ID!"
1051
  msgstr "Bitte trage eine gültige ID ein!"
@@ -1521,7 +1523,9 @@ msgstr "ActiveCampaign Formular mit Google reCAPTCHA"
1521
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1522
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1523
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
 
1524
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
 
1525
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1526
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
@@ -1574,6 +1578,10 @@ msgstr ""
1574
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1575
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1576
 
 
 
 
 
1577
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1578
  msgid "Elementor Forms with Google reCAPTCHA"
1579
  msgstr "Elementor Forms mit Google reCAPTCHA"
@@ -1586,6 +1594,10 @@ msgstr ""
1586
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1587
  "hast, diese zu laden."
1588
 
 
 
 
 
1589
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1590
  msgid "Formidable with Google reCAPTCHA"
1591
  msgstr "Formidable mit Google reCAPTCHA"
@@ -3516,6 +3528,138 @@ msgstr ""
3516
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3517
  "Funktion) für den Pinterst Tag verwendest."
3518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3519
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3520
  msgid ""
3521
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
@@ -5405,7 +5549,9 @@ msgstr "ActiveCampaign Form"
5405
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5406
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5407
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
 
5408
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
 
5409
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5410
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5411
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
@@ -5427,6 +5573,10 @@ msgstr "CleverReach"
5427
  msgid "Contact Form 7"
5428
  msgstr "Contact Form 7"
5429
 
 
 
 
 
5430
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5431
  msgid "Elementor Forms"
5432
  msgstr "Elementor Forms"
@@ -5436,6 +5586,10 @@ msgstr "Elementor Forms"
5436
  msgid "includes videos"
5437
  msgstr "beinhaltet Videos"
5438
 
 
 
 
 
5439
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5440
  msgid "Formidable"
5441
  msgstr "Formidable"
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-02-11 13:55+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
576
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
577
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
578
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
579
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
1047
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1048
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1049
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
1050
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1051
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1052
  msgid "Please fill in a valid ID!"
1053
  msgstr "Bitte trage eine gültige ID ein!"
1523
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1524
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1525
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
1526
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1528
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1529
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1530
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1531
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
1578
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1579
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1580
 
1581
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1582
+ msgid "Divi Contact Form with Google reCAPTCHA"
1583
+ msgstr "Divi Kontaktformular mit Google reCAPTCHA"
1584
+
1585
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1586
  msgid "Elementor Forms with Google reCAPTCHA"
1587
  msgstr "Elementor Forms mit Google reCAPTCHA"
1594
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1595
  "hast, diese zu laden."
1596
 
1597
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1598
+ msgid "Restaurant Reservations with Google reCAPTCHA"
1599
+ msgstr "Restaurant Reservierungen mit Google reCAPTCHA"
1600
+
1601
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1602
  msgid "Formidable with Google reCAPTCHA"
1603
  msgstr "Formidable mit Google reCAPTCHA"
3528
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3529
  "Funktion) für den Pinterst Tag verwendest."
3530
 
3531
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3532
+ msgid ""
3533
+ "Piwik is a service for creating detailed statistics about user behavior on "
3534
+ "the website. This includes the pages viewed, technical and geographic data "
3535
+ "of the requesting device, the time spent on a page and the click behavior on "
3536
+ "the Website. The collected data is mostly used in aggregated form for "
3537
+ "analyses of the website, e.g. to improve it. Cookies are used to distinguish "
3538
+ "users and link data from multiple page views. Also, the user is assigned to "
3539
+ "a session to recognize different independent visits. The last interaction of "
3540
+ "the visitor with the website and the website from which the visitor can be "
3541
+ "stored. In addition, traffic source prioritization is performed and "
3542
+ "returning visitors are flagged as such."
3543
+ msgstr ""
3544
+ "Piwik ist ein Service zur Erstellung detaillierter Statistiken über das "
3545
+ "Nutzerverhalten auf der Website. Dazu gehören die aufgerufenen Seiten, "
3546
+ "technische und geografische Daten des anfragenden Geräts, die Verweildauer "
3547
+ "auf einer Seite und das Klickverhalten auf der Website. Die gesammelten "
3548
+ "Daten werden meist in aggregierter Form für Analysen der Website verwendet, "
3549
+ "z.B. um sie zu verbessern. Cookies werden verwendet, um Nutzer zu "
3550
+ "unterscheiden und Daten von mehreren Seitenaufrufen zu verknüpfen. Außerdem "
3551
+ "wird der Nutzer einer Sitzung zugewiesen, um verschiedene unabhängige "
3552
+ "Besuche zu erkennen. Die letzte Interaktion des Besuchers mit der Website "
3553
+ "und die Website, von welcher der Besucher kommt, können gespeichert werden. "
3554
+ "Darüber hinaus wird eine Priorisierung der Traffic-Quellen vorgenommen und "
3555
+ "wiederkehrende Besucher werden als solche gekennzeichnet."
3556
+
3557
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3558
+ msgid "https://piwik.pro/privacy-policy/"
3559
+ msgstr "https://piwikpro.de/datenschutz/"
3560
+
3561
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3562
+ msgid "Piwik container address (URL)"
3563
+ msgstr "Piwik Container Adresse (URL)"
3564
+
3565
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3566
+ msgid "Please fill in a valid container address!"
3567
+ msgstr "Bitte trage eine gültige Container Adresse ein!"
3568
+
3569
+ #. translators:
3570
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3571
+ msgid ""
3572
+ "You can find your Piwik container address in your Piwik PRO dashboard (e.g. "
3573
+ "at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. "
3574
+ "Afterwards, open the tab \"Installation\" and there you need to extract the "
3575
+ "URL from the script (<a href=\"%s\" target=\"_blank\">see example</a>)"
3576
+ msgstr ""
3577
+ "Du findest deine Piwik Container Adresse in deinem Piwik PRO Dashboard (z.B. "
3578
+ "unter owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine "
3579
+ "Domain]</i> gehst. Danach öffnest du den Reiter \"Installation\" und musst "
3580
+ "dort die URL aus dem Skript extrahieren (<a href=\"%s\" target=\"_blank\""
3581
+ ">siehe Beispiel</a>)"
3582
+
3583
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3584
+ msgid ""
3585
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/piwik-"
3586
+ "container-address.png"
3587
+ msgstr ""
3588
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/de/piwik-"
3589
+ "container-address.png"
3590
+
3591
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3592
+ msgid ""
3593
+ "Example standard URL: <code>https://yourname.containers.piwik.pro</code>.<br/"
3594
+ ">Example custom domain URL: <code>https://yourname.piwik.pro/containers</"
3595
+ "code>."
3596
+ msgstr ""
3597
+ "Beispiel Standard-URL: <code>https://yourname.containers.piwik.pro</code>.<"
3598
+ "br/>Beispiel benutzerdefinierte Domain-URL: <code>https://yourname.piwik.pro/"
3599
+ "containers</code>."
3600
+
3601
+ #. translators:
3602
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3603
+ msgid ""
3604
+ "This address may be different for Piwik PRO on-premises or private cloud "
3605
+ "accounts. Please <a href=\"%s\" target=\"_blank\">contact Piwik PRO</a> to "
3606
+ "get the right address."
3607
+ msgstr ""
3608
+ "Diese Adresse kann für Piwik PRO On-Premises- oder Private Cloud-Konten "
3609
+ "unterschiedlich sein. Bitte <a href=\"%s\" target=\"_blank\">kontaktiere "
3610
+ "Piwik PRO</a>, um die richtige Adresse zu erhalten."
3611
+
3612
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3613
+ msgid "https://piwik.pro/contact/"
3614
+ msgstr "https://piwikpro.de/kontakt/"
3615
+
3616
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3617
+ msgid "Piwik PRO Site ID"
3618
+ msgstr "Piwik PRO Site ID"
3619
+
3620
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3621
+ msgid ""
3622
+ "You can find your Piwik PRO Site ID in your Piwik PRO dashboard (e.g. at "
3623
+ "devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. In the "
3624
+ "dialog that opens, you will find your ID directly under your domain name."
3625
+ msgstr ""
3626
+ "Du findest deine Piwik PRO Site ID in deinem Piwik PRO Dashboard (z.B. unter "
3627
+ "owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine Domain]</i> "
3628
+ "gehst. In dem Dialog, der sich öffnet, findest du deine ID direkt unter "
3629
+ "deinem Domainnamen."
3630
+
3631
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3632
+ msgid ""
3633
+ "In the same dialog, in the \"Privacy\" tab, please disable the \"Ask "
3634
+ "visitors for consent” option. You already obtain the necessary consent for "
3635
+ "the use of Piwik PRO via Real Cookie Banner."
3636
+ msgstr ""
3637
+ "Im gleichen Dialog, auf der Registerkarte \"Datenschutz\", deaktiviere bitte "
3638
+ "die Option \"Fragen Sie Besucher um Ihre Zustimmung”. Die notwendige "
3639
+ "Einwilligung für die Nutzung von Piwik PRO erhältst du bereits über Real "
3640
+ "Cookie Banner."
3641
+
3642
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3643
+ msgid ""
3644
+ "You should also for more privacy in the Piwik PRO dashboard (e.g. owlreview."
3645
+ "piwik.pro) under <i>Settings > Global site & app settings > Privacy > IP "
3646
+ "addresses</i> enable the option \"Mask IP addresses\" and activate at least "
3647
+ "\"Level 1\" so that the IP addresses of your visitors are stored anonymously."
3648
+ msgstr ""
3649
+ "Außerdem solltest du für mehr Datenschutz im Piwik PRO Dashboard (z.B. "
3650
+ "owlreview.piwik.pro) unter <i>Einstellungen > Einstellungen für globale "
3651
+ "Websites und Apps > Datenschutz > IP-Adressen ausblenden</i> die Option \"IP-"
3652
+ "Adressen maskieren\" aktivieren und mindestens \"Level 1\" aktivieren, damit "
3653
+ "die IP-Adressen deiner Besucher anonymisiert gespeichert werden."
3654
+
3655
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3656
+ msgid ""
3657
+ "This template assumes that you are using the statistics feature of Piwik "
3658
+ "PRO. Using the integrated tag manager is not expected."
3659
+ msgstr ""
3660
+ "Diese Vorlage geht davon aus, dass du die Statistikfunktion von Piwik PRO "
3661
+ "verwendest. Die Verwendung des integrierten Tag-Managers wird nicht erwartet."
3662
+
3663
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3664
  msgid ""
3665
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
5549
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5550
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5551
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
5552
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5553
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5554
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5555
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5556
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5557
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
5573
  msgid "Contact Form 7"
5574
  msgstr "Contact Form 7"
5575
 
5576
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5577
+ msgid "Divi Contact Form"
5578
+ msgstr "Divi Kontaktformular"
5579
+
5580
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5581
  msgid "Elementor Forms"
5582
  msgstr "Elementor Forms"
5586
  msgid "includes videos"
5587
  msgstr "beinhaltet Videos"
5588
 
5589
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5590
+ msgid "Five Star Restaurant Reservations"
5591
+ msgstr "Five Star Restaurant Reservations"
5592
+
5593
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5594
  msgid "Formidable"
5595
  msgstr "Formidable"
languages/real-cookie-banner-de_CH.mo CHANGED
Binary file
languages/real-cookie-banner-de_CH.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-02-04 14:11+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
- "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -573,6 +573,7 @@ msgstr "Funktional"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
 
576
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
577
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
578
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
@@ -1046,6 +1047,7 @@ msgstr "ActiveCampaign-Account-ID"
1046
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1047
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1048
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
 
1049
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1050
  msgid "Please fill in a valid ID!"
1051
  msgstr "Bitte trage eine gültige ID ein!"
@@ -1521,7 +1523,9 @@ msgstr "ActiveCampaign Formular mit Google reCAPTCHA"
1521
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1522
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1523
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
 
1524
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
 
1525
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1526
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
@@ -1574,6 +1578,10 @@ msgstr ""
1574
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1575
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1576
 
 
 
 
 
1577
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1578
  msgid "Elementor Forms with Google reCAPTCHA"
1579
  msgstr "Elementor Forms mit Google reCAPTCHA"
@@ -1586,6 +1594,10 @@ msgstr ""
1586
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1587
  "hast, diese zu laden."
1588
 
 
 
 
 
1589
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1590
  msgid "Formidable with Google reCAPTCHA"
1591
  msgstr "Formidable mit Google reCAPTCHA"
@@ -3516,6 +3528,138 @@ msgstr ""
3516
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3517
  "Funktion) für den Pinterst Tag verwendest."
3518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3519
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3520
  msgid ""
3521
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
@@ -5405,7 +5549,9 @@ msgstr "ActiveCampaign Form"
5405
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5406
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5407
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
 
5408
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
 
5409
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5410
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5411
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
@@ -5427,6 +5573,10 @@ msgstr "CleverReach"
5427
  msgid "Contact Form 7"
5428
  msgstr "Contact Form 7"
5429
 
 
 
 
 
5430
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5431
  msgid "Elementor Forms"
5432
  msgstr "Elementor Forms"
@@ -5436,6 +5586,10 @@ msgstr "Elementor Forms"
5436
  msgid "includes videos"
5437
  msgstr "beinhaltet Videos"
5438
 
 
 
 
 
5439
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5440
  msgid "Formidable"
5441
  msgstr "Formidable"
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-02-11 13:55+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
576
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
577
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
578
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
579
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
1047
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1048
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1049
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
1050
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1051
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1052
  msgid "Please fill in a valid ID!"
1053
  msgstr "Bitte trage eine gültige ID ein!"
1523
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1524
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1525
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
1526
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1528
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1529
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1530
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1531
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
1578
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1579
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1580
 
1581
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1582
+ msgid "Divi Contact Form with Google reCAPTCHA"
1583
+ msgstr "Divi Kontaktformular mit Google reCAPTCHA"
1584
+
1585
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1586
  msgid "Elementor Forms with Google reCAPTCHA"
1587
  msgstr "Elementor Forms mit Google reCAPTCHA"
1594
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1595
  "hast, diese zu laden."
1596
 
1597
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1598
+ msgid "Restaurant Reservations with Google reCAPTCHA"
1599
+ msgstr "Restaurant Reservierungen mit Google reCAPTCHA"
1600
+
1601
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1602
  msgid "Formidable with Google reCAPTCHA"
1603
  msgstr "Formidable mit Google reCAPTCHA"
3528
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3529
  "Funktion) für den Pinterst Tag verwendest."
3530
 
3531
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3532
+ msgid ""
3533
+ "Piwik is a service for creating detailed statistics about user behavior on "
3534
+ "the website. This includes the pages viewed, technical and geographic data "
3535
+ "of the requesting device, the time spent on a page and the click behavior on "
3536
+ "the Website. The collected data is mostly used in aggregated form for "
3537
+ "analyses of the website, e.g. to improve it. Cookies are used to distinguish "
3538
+ "users and link data from multiple page views. Also, the user is assigned to "
3539
+ "a session to recognize different independent visits. The last interaction of "
3540
+ "the visitor with the website and the website from which the visitor can be "
3541
+ "stored. In addition, traffic source prioritization is performed and "
3542
+ "returning visitors are flagged as such."
3543
+ msgstr ""
3544
+ "Piwik ist ein Service zur Erstellung detaillierter Statistiken über das "
3545
+ "Nutzerverhalten auf der Website. Dazu gehören die aufgerufenen Seiten, "
3546
+ "technische und geografische Daten des anfragenden Geräts, die Verweildauer "
3547
+ "auf einer Seite und das Klickverhalten auf der Website. Die gesammelten "
3548
+ "Daten werden meist in aggregierter Form für Analysen der Website verwendet, "
3549
+ "z.B. um sie zu verbessern. Cookies werden verwendet, um Nutzer zu "
3550
+ "unterscheiden und Daten von mehreren Seitenaufrufen zu verknüpfen. Außerdem "
3551
+ "wird der Nutzer einer Sitzung zugewiesen, um verschiedene unabhängige "
3552
+ "Besuche zu erkennen. Die letzte Interaktion des Besuchers mit der Website "
3553
+ "und die Website, von welcher der Besucher kommt, können gespeichert werden. "
3554
+ "Darüber hinaus wird eine Priorisierung der Traffic-Quellen vorgenommen und "
3555
+ "wiederkehrende Besucher werden als solche gekennzeichnet."
3556
+
3557
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3558
+ msgid "https://piwik.pro/privacy-policy/"
3559
+ msgstr "https://piwikpro.de/datenschutz/"
3560
+
3561
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3562
+ msgid "Piwik container address (URL)"
3563
+ msgstr "Piwik Container Adresse (URL)"
3564
+
3565
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3566
+ msgid "Please fill in a valid container address!"
3567
+ msgstr "Bitte trage eine gültige Container Adresse ein!"
3568
+
3569
+ #. translators:
3570
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3571
+ msgid ""
3572
+ "You can find your Piwik container address in your Piwik PRO dashboard (e.g. "
3573
+ "at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. "
3574
+ "Afterwards, open the tab \"Installation\" and there you need to extract the "
3575
+ "URL from the script (<a href=\"%s\" target=\"_blank\">see example</a>)"
3576
+ msgstr ""
3577
+ "Du findest deine Piwik Container Adresse in deinem Piwik PRO Dashboard (z.B. "
3578
+ "unter owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine "
3579
+ "Domain]</i> gehst. Danach öffnest du den Reiter \"Installation\" und musst "
3580
+ "dort die URL aus dem Skript extrahieren (<a href=\"%s\" target=\"_blank\""
3581
+ ">siehe Beispiel</a>)"
3582
+
3583
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3584
+ msgid ""
3585
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/piwik-"
3586
+ "container-address.png"
3587
+ msgstr ""
3588
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/de/piwik-"
3589
+ "container-address.png"
3590
+
3591
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3592
+ msgid ""
3593
+ "Example standard URL: <code>https://yourname.containers.piwik.pro</code>.<br/"
3594
+ ">Example custom domain URL: <code>https://yourname.piwik.pro/containers</"
3595
+ "code>."
3596
+ msgstr ""
3597
+ "Beispiel Standard-URL: <code>https://yourname.containers.piwik.pro</code>.<"
3598
+ "br/>Beispiel benutzerdefinierte Domain-URL: <code>https://yourname.piwik.pro/"
3599
+ "containers</code>."
3600
+
3601
+ #. translators:
3602
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3603
+ msgid ""
3604
+ "This address may be different for Piwik PRO on-premises or private cloud "
3605
+ "accounts. Please <a href=\"%s\" target=\"_blank\">contact Piwik PRO</a> to "
3606
+ "get the right address."
3607
+ msgstr ""
3608
+ "Diese Adresse kann für Piwik PRO On-Premises- oder Private Cloud-Konten "
3609
+ "unterschiedlich sein. Bitte <a href=\"%s\" target=\"_blank\">kontaktiere "
3610
+ "Piwik PRO</a>, um die richtige Adresse zu erhalten."
3611
+
3612
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3613
+ msgid "https://piwik.pro/contact/"
3614
+ msgstr "https://piwikpro.de/kontakt/"
3615
+
3616
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3617
+ msgid "Piwik PRO Site ID"
3618
+ msgstr "Piwik PRO Site ID"
3619
+
3620
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3621
+ msgid ""
3622
+ "You can find your Piwik PRO Site ID in your Piwik PRO dashboard (e.g. at "
3623
+ "devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. In the "
3624
+ "dialog that opens, you will find your ID directly under your domain name."
3625
+ msgstr ""
3626
+ "Du findest deine Piwik PRO Site ID in deinem Piwik PRO Dashboard (z.B. unter "
3627
+ "owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine Domain]</i> "
3628
+ "gehst. In dem Dialog, der sich öffnet, findest du deine ID direkt unter "
3629
+ "deinem Domainnamen."
3630
+
3631
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3632
+ msgid ""
3633
+ "In the same dialog, in the \"Privacy\" tab, please disable the \"Ask "
3634
+ "visitors for consent” option. You already obtain the necessary consent for "
3635
+ "the use of Piwik PRO via Real Cookie Banner."
3636
+ msgstr ""
3637
+ "Im gleichen Dialog, auf der Registerkarte \"Datenschutz\", deaktiviere bitte "
3638
+ "die Option \"Fragen Sie Besucher um Ihre Zustimmung”. Die notwendige "
3639
+ "Einwilligung für die Nutzung von Piwik PRO erhältst du bereits über Real "
3640
+ "Cookie Banner."
3641
+
3642
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3643
+ msgid ""
3644
+ "You should also for more privacy in the Piwik PRO dashboard (e.g. owlreview."
3645
+ "piwik.pro) under <i>Settings > Global site & app settings > Privacy > IP "
3646
+ "addresses</i> enable the option \"Mask IP addresses\" and activate at least "
3647
+ "\"Level 1\" so that the IP addresses of your visitors are stored anonymously."
3648
+ msgstr ""
3649
+ "Außerdem solltest du für mehr Datenschutz im Piwik PRO Dashboard (z.B. "
3650
+ "owlreview.piwik.pro) unter <i>Einstellungen > Einstellungen für globale "
3651
+ "Websites und Apps > Datenschutz > IP-Adressen ausblenden</i> die Option \"IP-"
3652
+ "Adressen maskieren\" aktivieren und mindestens \"Level 1\" aktivieren, damit "
3653
+ "die IP-Adressen deiner Besucher anonymisiert gespeichert werden."
3654
+
3655
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3656
+ msgid ""
3657
+ "This template assumes that you are using the statistics feature of Piwik "
3658
+ "PRO. Using the integrated tag manager is not expected."
3659
+ msgstr ""
3660
+ "Diese Vorlage geht davon aus, dass du die Statistikfunktion von Piwik PRO "
3661
+ "verwendest. Die Verwendung des integrierten Tag-Managers wird nicht erwartet."
3662
+
3663
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3664
  msgid ""
3665
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
5549
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5550
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5551
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
5552
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5553
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5554
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5555
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5556
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5557
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
5573
  msgid "Contact Form 7"
5574
  msgstr "Contact Form 7"
5575
 
5576
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5577
+ msgid "Divi Contact Form"
5578
+ msgstr "Divi Kontaktformular"
5579
+
5580
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5581
  msgid "Elementor Forms"
5582
  msgstr "Elementor Forms"
5586
  msgid "includes videos"
5587
  msgstr "beinhaltet Videos"
5588
 
5589
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5590
+ msgid "Five Star Restaurant Reservations"
5591
+ msgstr "Five Star Restaurant Reservations"
5592
+
5593
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5594
  msgid "Formidable"
5595
  msgstr "Formidable"
languages/real-cookie-banner-de_CH_informal.mo CHANGED
Binary file
languages/real-cookie-banner-de_CH_informal.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-02-04 14:11+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
- "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -573,6 +573,7 @@ msgstr "Funktional"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
 
576
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
577
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
578
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
@@ -1046,6 +1047,7 @@ msgstr "ActiveCampaign-Account-ID"
1046
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1047
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1048
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
 
1049
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1050
  msgid "Please fill in a valid ID!"
1051
  msgstr "Bitte trage eine gültige ID ein!"
@@ -1521,7 +1523,9 @@ msgstr "ActiveCampaign Formular mit Google reCAPTCHA"
1521
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1522
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1523
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
 
1524
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
 
1525
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1526
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
@@ -1574,6 +1578,10 @@ msgstr ""
1574
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1575
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1576
 
 
 
 
 
1577
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1578
  msgid "Elementor Forms with Google reCAPTCHA"
1579
  msgstr "Elementor Forms mit Google reCAPTCHA"
@@ -1586,6 +1594,10 @@ msgstr ""
1586
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1587
  "hast, diese zu laden."
1588
 
 
 
 
 
1589
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1590
  msgid "Formidable with Google reCAPTCHA"
1591
  msgstr "Formidable mit Google reCAPTCHA"
@@ -3516,6 +3528,138 @@ msgstr ""
3516
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3517
  "Funktion) für den Pinterst Tag verwendest."
3518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3519
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3520
  msgid ""
3521
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
@@ -5405,7 +5549,9 @@ msgstr "ActiveCampaign Form"
5405
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5406
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5407
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
 
5408
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
 
5409
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5410
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5411
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
@@ -5427,6 +5573,10 @@ msgstr "CleverReach"
5427
  msgid "Contact Form 7"
5428
  msgstr "Contact Form 7"
5429
 
 
 
 
 
5430
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5431
  msgid "Elementor Forms"
5432
  msgstr "Elementor Forms"
@@ -5436,6 +5586,10 @@ msgstr "Elementor Forms"
5436
  msgid "includes videos"
5437
  msgstr "beinhaltet Videos"
5438
 
 
 
 
 
5439
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5440
  msgid "Formidable"
5441
  msgstr "Formidable"
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-02-11 13:55+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
576
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
577
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
578
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
579
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
1047
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1048
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1049
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
1050
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1051
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1052
  msgid "Please fill in a valid ID!"
1053
  msgstr "Bitte trage eine gültige ID ein!"
1523
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1524
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1525
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
1526
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1528
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1529
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1530
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1531
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
1578
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1579
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1580
 
1581
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1582
+ msgid "Divi Contact Form with Google reCAPTCHA"
1583
+ msgstr "Divi Kontaktformular mit Google reCAPTCHA"
1584
+
1585
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1586
  msgid "Elementor Forms with Google reCAPTCHA"
1587
  msgstr "Elementor Forms mit Google reCAPTCHA"
1594
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1595
  "hast, diese zu laden."
1596
 
1597
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1598
+ msgid "Restaurant Reservations with Google reCAPTCHA"
1599
+ msgstr "Restaurant Reservierungen mit Google reCAPTCHA"
1600
+
1601
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1602
  msgid "Formidable with Google reCAPTCHA"
1603
  msgstr "Formidable mit Google reCAPTCHA"
3528
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3529
  "Funktion) für den Pinterst Tag verwendest."
3530
 
3531
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3532
+ msgid ""
3533
+ "Piwik is a service for creating detailed statistics about user behavior on "
3534
+ "the website. This includes the pages viewed, technical and geographic data "
3535
+ "of the requesting device, the time spent on a page and the click behavior on "
3536
+ "the Website. The collected data is mostly used in aggregated form for "
3537
+ "analyses of the website, e.g. to improve it. Cookies are used to distinguish "
3538
+ "users and link data from multiple page views. Also, the user is assigned to "
3539
+ "a session to recognize different independent visits. The last interaction of "
3540
+ "the visitor with the website and the website from which the visitor can be "
3541
+ "stored. In addition, traffic source prioritization is performed and "
3542
+ "returning visitors are flagged as such."
3543
+ msgstr ""
3544
+ "Piwik ist ein Service zur Erstellung detaillierter Statistiken über das "
3545
+ "Nutzerverhalten auf der Website. Dazu gehören die aufgerufenen Seiten, "
3546
+ "technische und geografische Daten des anfragenden Geräts, die Verweildauer "
3547
+ "auf einer Seite und das Klickverhalten auf der Website. Die gesammelten "
3548
+ "Daten werden meist in aggregierter Form für Analysen der Website verwendet, "
3549
+ "z.B. um sie zu verbessern. Cookies werden verwendet, um Nutzer zu "
3550
+ "unterscheiden und Daten von mehreren Seitenaufrufen zu verknüpfen. Außerdem "
3551
+ "wird der Nutzer einer Sitzung zugewiesen, um verschiedene unabhängige "
3552
+ "Besuche zu erkennen. Die letzte Interaktion des Besuchers mit der Website "
3553
+ "und die Website, von welcher der Besucher kommt, können gespeichert werden. "
3554
+ "Darüber hinaus wird eine Priorisierung der Traffic-Quellen vorgenommen und "
3555
+ "wiederkehrende Besucher werden als solche gekennzeichnet."
3556
+
3557
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3558
+ msgid "https://piwik.pro/privacy-policy/"
3559
+ msgstr "https://piwikpro.de/datenschutz/"
3560
+
3561
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3562
+ msgid "Piwik container address (URL)"
3563
+ msgstr "Piwik Container Adresse (URL)"
3564
+
3565
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3566
+ msgid "Please fill in a valid container address!"
3567
+ msgstr "Bitte trage eine gültige Container Adresse ein!"
3568
+
3569
+ #. translators:
3570
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3571
+ msgid ""
3572
+ "You can find your Piwik container address in your Piwik PRO dashboard (e.g. "
3573
+ "at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. "
3574
+ "Afterwards, open the tab \"Installation\" and there you need to extract the "
3575
+ "URL from the script (<a href=\"%s\" target=\"_blank\">see example</a>)"
3576
+ msgstr ""
3577
+ "Du findest deine Piwik Container Adresse in deinem Piwik PRO Dashboard (z.B. "
3578
+ "unter owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine "
3579
+ "Domain]</i> gehst. Danach öffnest du den Reiter \"Installation\" und musst "
3580
+ "dort die URL aus dem Skript extrahieren (<a href=\"%s\" target=\"_blank\""
3581
+ ">siehe Beispiel</a>)"
3582
+
3583
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3584
+ msgid ""
3585
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/piwik-"
3586
+ "container-address.png"
3587
+ msgstr ""
3588
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/de/piwik-"
3589
+ "container-address.png"
3590
+
3591
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3592
+ msgid ""
3593
+ "Example standard URL: <code>https://yourname.containers.piwik.pro</code>.<br/"
3594
+ ">Example custom domain URL: <code>https://yourname.piwik.pro/containers</"
3595
+ "code>."
3596
+ msgstr ""
3597
+ "Beispiel Standard-URL: <code>https://yourname.containers.piwik.pro</code>.<"
3598
+ "br/>Beispiel benutzerdefinierte Domain-URL: <code>https://yourname.piwik.pro/"
3599
+ "containers</code>."
3600
+
3601
+ #. translators:
3602
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3603
+ msgid ""
3604
+ "This address may be different for Piwik PRO on-premises or private cloud "
3605
+ "accounts. Please <a href=\"%s\" target=\"_blank\">contact Piwik PRO</a> to "
3606
+ "get the right address."
3607
+ msgstr ""
3608
+ "Diese Adresse kann für Piwik PRO On-Premises- oder Private Cloud-Konten "
3609
+ "unterschiedlich sein. Bitte <a href=\"%s\" target=\"_blank\">kontaktiere "
3610
+ "Piwik PRO</a>, um die richtige Adresse zu erhalten."
3611
+
3612
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3613
+ msgid "https://piwik.pro/contact/"
3614
+ msgstr "https://piwikpro.de/kontakt/"
3615
+
3616
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3617
+ msgid "Piwik PRO Site ID"
3618
+ msgstr "Piwik PRO Site ID"
3619
+
3620
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3621
+ msgid ""
3622
+ "You can find your Piwik PRO Site ID in your Piwik PRO dashboard (e.g. at "
3623
+ "devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. In the "
3624
+ "dialog that opens, you will find your ID directly under your domain name."
3625
+ msgstr ""
3626
+ "Du findest deine Piwik PRO Site ID in deinem Piwik PRO Dashboard (z.B. unter "
3627
+ "owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine Domain]</i> "
3628
+ "gehst. In dem Dialog, der sich öffnet, findest du deine ID direkt unter "
3629
+ "deinem Domainnamen."
3630
+
3631
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3632
+ msgid ""
3633
+ "In the same dialog, in the \"Privacy\" tab, please disable the \"Ask "
3634
+ "visitors for consent” option. You already obtain the necessary consent for "
3635
+ "the use of Piwik PRO via Real Cookie Banner."
3636
+ msgstr ""
3637
+ "Im gleichen Dialog, auf der Registerkarte \"Datenschutz\", deaktiviere bitte "
3638
+ "die Option \"Fragen Sie Besucher um Ihre Zustimmung”. Die notwendige "
3639
+ "Einwilligung für die Nutzung von Piwik PRO erhältst du bereits über Real "
3640
+ "Cookie Banner."
3641
+
3642
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3643
+ msgid ""
3644
+ "You should also for more privacy in the Piwik PRO dashboard (e.g. owlreview."
3645
+ "piwik.pro) under <i>Settings > Global site & app settings > Privacy > IP "
3646
+ "addresses</i> enable the option \"Mask IP addresses\" and activate at least "
3647
+ "\"Level 1\" so that the IP addresses of your visitors are stored anonymously."
3648
+ msgstr ""
3649
+ "Außerdem solltest du für mehr Datenschutz im Piwik PRO Dashboard (z.B. "
3650
+ "owlreview.piwik.pro) unter <i>Einstellungen > Einstellungen für globale "
3651
+ "Websites und Apps > Datenschutz > IP-Adressen ausblenden</i> die Option \"IP-"
3652
+ "Adressen maskieren\" aktivieren und mindestens \"Level 1\" aktivieren, damit "
3653
+ "die IP-Adressen deiner Besucher anonymisiert gespeichert werden."
3654
+
3655
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3656
+ msgid ""
3657
+ "This template assumes that you are using the statistics feature of Piwik "
3658
+ "PRO. Using the integrated tag manager is not expected."
3659
+ msgstr ""
3660
+ "Diese Vorlage geht davon aus, dass du die Statistikfunktion von Piwik PRO "
3661
+ "verwendest. Die Verwendung des integrierten Tag-Managers wird nicht erwartet."
3662
+
3663
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3664
  msgid ""
3665
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
5549
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5550
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5551
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
5552
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5553
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5554
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5555
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5556
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5557
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
5573
  msgid "Contact Form 7"
5574
  msgstr "Contact Form 7"
5575
 
5576
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5577
+ msgid "Divi Contact Form"
5578
+ msgstr "Divi Kontaktformular"
5579
+
5580
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5581
  msgid "Elementor Forms"
5582
  msgstr "Elementor Forms"
5586
  msgid "includes videos"
5587
  msgstr "beinhaltet Videos"
5588
 
5589
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5590
+ msgid "Five Star Restaurant Reservations"
5591
+ msgstr "Five Star Restaurant Reservations"
5592
+
5593
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5594
  msgid "Formidable"
5595
  msgstr "Formidable"
languages/real-cookie-banner-de_DE.mo CHANGED
Binary file
languages/real-cookie-banner-de_DE.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-02-04 14:11+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
- "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -573,6 +573,7 @@ msgstr "Funktional"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
 
576
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
577
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
578
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
@@ -1046,6 +1047,7 @@ msgstr "ActiveCampaign-Account-ID"
1046
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1047
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1048
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
 
1049
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1050
  msgid "Please fill in a valid ID!"
1051
  msgstr "Bitte trage eine gültige ID ein!"
@@ -1521,7 +1523,9 @@ msgstr "ActiveCampaign Formular mit Google reCAPTCHA"
1521
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1522
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1523
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
 
1524
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
 
1525
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1526
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
@@ -1574,6 +1578,10 @@ msgstr ""
1574
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1575
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1576
 
 
 
 
 
1577
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1578
  msgid "Elementor Forms with Google reCAPTCHA"
1579
  msgstr "Elementor Forms mit Google reCAPTCHA"
@@ -1586,6 +1594,10 @@ msgstr ""
1586
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1587
  "hast, diese zu laden."
1588
 
 
 
 
 
1589
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1590
  msgid "Formidable with Google reCAPTCHA"
1591
  msgstr "Formidable mit Google reCAPTCHA"
@@ -3516,6 +3528,138 @@ msgstr ""
3516
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3517
  "Funktion) für den Pinterst Tag verwendest."
3518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3519
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3520
  msgid ""
3521
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
@@ -5405,7 +5549,9 @@ msgstr "ActiveCampaign Form"
5405
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5406
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5407
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
 
5408
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
 
5409
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5410
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5411
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
@@ -5427,6 +5573,10 @@ msgstr "CleverReach"
5427
  msgid "Contact Form 7"
5428
  msgstr "Contact Form 7"
5429
 
 
 
 
 
5430
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5431
  msgid "Elementor Forms"
5432
  msgstr "Elementor Forms"
@@ -5436,6 +5586,10 @@ msgstr "Elementor Forms"
5436
  msgid "includes videos"
5437
  msgstr "beinhaltet Videos"
5438
 
 
 
 
 
5439
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5440
  msgid "Formidable"
5441
  msgstr "Formidable"
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-02-11 13:55+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
573
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
574
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
575
  #: inc/overrides/pro/presets/MatomoPreset.php:1
576
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
577
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
578
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
579
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
1047
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1048
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1049
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
1050
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1051
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1052
  msgid "Please fill in a valid ID!"
1053
  msgstr "Bitte trage eine gültige ID ein!"
1523
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1524
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1525
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
1526
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1527
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1528
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1529
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1530
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1531
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
1578
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1579
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1580
 
1581
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1582
+ msgid "Divi Contact Form with Google reCAPTCHA"
1583
+ msgstr "Divi Kontaktformular mit Google reCAPTCHA"
1584
+
1585
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1586
  msgid "Elementor Forms with Google reCAPTCHA"
1587
  msgstr "Elementor Forms mit Google reCAPTCHA"
1594
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1595
  "hast, diese zu laden."
1596
 
1597
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1598
+ msgid "Restaurant Reservations with Google reCAPTCHA"
1599
+ msgstr "Restaurant Reservierungen mit Google reCAPTCHA"
1600
+
1601
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1602
  msgid "Formidable with Google reCAPTCHA"
1603
  msgstr "Formidable mit Google reCAPTCHA"
3528
  "Drittanbieter-Plugin einbettest oder Event-Codes (<code>pintrk</code> "
3529
  "Funktion) für den Pinterst Tag verwendest."
3530
 
3531
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3532
+ msgid ""
3533
+ "Piwik is a service for creating detailed statistics about user behavior on "
3534
+ "the website. This includes the pages viewed, technical and geographic data "
3535
+ "of the requesting device, the time spent on a page and the click behavior on "
3536
+ "the Website. The collected data is mostly used in aggregated form for "
3537
+ "analyses of the website, e.g. to improve it. Cookies are used to distinguish "
3538
+ "users and link data from multiple page views. Also, the user is assigned to "
3539
+ "a session to recognize different independent visits. The last interaction of "
3540
+ "the visitor with the website and the website from which the visitor can be "
3541
+ "stored. In addition, traffic source prioritization is performed and "
3542
+ "returning visitors are flagged as such."
3543
+ msgstr ""
3544
+ "Piwik ist ein Service zur Erstellung detaillierter Statistiken über das "
3545
+ "Nutzerverhalten auf der Website. Dazu gehören die aufgerufenen Seiten, "
3546
+ "technische und geografische Daten des anfragenden Geräts, die Verweildauer "
3547
+ "auf einer Seite und das Klickverhalten auf der Website. Die gesammelten "
3548
+ "Daten werden meist in aggregierter Form für Analysen der Website verwendet, "
3549
+ "z.B. um sie zu verbessern. Cookies werden verwendet, um Nutzer zu "
3550
+ "unterscheiden und Daten von mehreren Seitenaufrufen zu verknüpfen. Außerdem "
3551
+ "wird der Nutzer einer Sitzung zugewiesen, um verschiedene unabhängige "
3552
+ "Besuche zu erkennen. Die letzte Interaktion des Besuchers mit der Website "
3553
+ "und die Website, von welcher der Besucher kommt, können gespeichert werden. "
3554
+ "Darüber hinaus wird eine Priorisierung der Traffic-Quellen vorgenommen und "
3555
+ "wiederkehrende Besucher werden als solche gekennzeichnet."
3556
+
3557
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3558
+ msgid "https://piwik.pro/privacy-policy/"
3559
+ msgstr "https://piwikpro.de/datenschutz/"
3560
+
3561
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3562
+ msgid "Piwik container address (URL)"
3563
+ msgstr "Piwik Container Adresse (URL)"
3564
+
3565
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3566
+ msgid "Please fill in a valid container address!"
3567
+ msgstr "Bitte trage eine gültige Container Adresse ein!"
3568
+
3569
+ #. translators:
3570
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3571
+ msgid ""
3572
+ "You can find your Piwik container address in your Piwik PRO dashboard (e.g. "
3573
+ "at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. "
3574
+ "Afterwards, open the tab \"Installation\" and there you need to extract the "
3575
+ "URL from the script (<a href=\"%s\" target=\"_blank\">see example</a>)"
3576
+ msgstr ""
3577
+ "Du findest deine Piwik Container Adresse in deinem Piwik PRO Dashboard (z.B. "
3578
+ "unter owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine "
3579
+ "Domain]</i> gehst. Danach öffnest du den Reiter \"Installation\" und musst "
3580
+ "dort die URL aus dem Skript extrahieren (<a href=\"%s\" target=\"_blank\""
3581
+ ">siehe Beispiel</a>)"
3582
+
3583
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3584
+ msgid ""
3585
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/piwik-"
3586
+ "container-address.png"
3587
+ msgstr ""
3588
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/de/piwik-"
3589
+ "container-address.png"
3590
+
3591
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3592
+ msgid ""
3593
+ "Example standard URL: <code>https://yourname.containers.piwik.pro</code>.<br/"
3594
+ ">Example custom domain URL: <code>https://yourname.piwik.pro/containers</"
3595
+ "code>."
3596
+ msgstr ""
3597
+ "Beispiel Standard-URL: <code>https://yourname.containers.piwik.pro</code>.<"
3598
+ "br/>Beispiel benutzerdefinierte Domain-URL: <code>https://yourname.piwik.pro/"
3599
+ "containers</code>."
3600
+
3601
+ #. translators:
3602
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3603
+ msgid ""
3604
+ "This address may be different for Piwik PRO on-premises or private cloud "
3605
+ "accounts. Please <a href=\"%s\" target=\"_blank\">contact Piwik PRO</a> to "
3606
+ "get the right address."
3607
+ msgstr ""
3608
+ "Diese Adresse kann für Piwik PRO On-Premises- oder Private Cloud-Konten "
3609
+ "unterschiedlich sein. Bitte <a href=\"%s\" target=\"_blank\">kontaktiere "
3610
+ "Piwik PRO</a>, um die richtige Adresse zu erhalten."
3611
+
3612
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3613
+ msgid "https://piwik.pro/contact/"
3614
+ msgstr "https://piwikpro.de/kontakt/"
3615
+
3616
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3617
+ msgid "Piwik PRO Site ID"
3618
+ msgstr "Piwik PRO Site ID"
3619
+
3620
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3621
+ msgid ""
3622
+ "You can find your Piwik PRO Site ID in your Piwik PRO dashboard (e.g. at "
3623
+ "devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. In the "
3624
+ "dialog that opens, you will find your ID directly under your domain name."
3625
+ msgstr ""
3626
+ "Du findest deine Piwik PRO Site ID in deinem Piwik PRO Dashboard (z.B. unter "
3627
+ "owlreview.piwik.pro), indem du auf <i>Websites & Apps > [deine Domain]</i> "
3628
+ "gehst. In dem Dialog, der sich öffnet, findest du deine ID direkt unter "
3629
+ "deinem Domainnamen."
3630
+
3631
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3632
+ msgid ""
3633
+ "In the same dialog, in the \"Privacy\" tab, please disable the \"Ask "
3634
+ "visitors for consent” option. You already obtain the necessary consent for "
3635
+ "the use of Piwik PRO via Real Cookie Banner."
3636
+ msgstr ""
3637
+ "Im gleichen Dialog, auf der Registerkarte \"Datenschutz\", deaktiviere bitte "
3638
+ "die Option \"Fragen Sie Besucher um Ihre Zustimmung”. Die notwendige "
3639
+ "Einwilligung für die Nutzung von Piwik PRO erhältst du bereits über Real "
3640
+ "Cookie Banner."
3641
+
3642
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3643
+ msgid ""
3644
+ "You should also for more privacy in the Piwik PRO dashboard (e.g. owlreview."
3645
+ "piwik.pro) under <i>Settings > Global site & app settings > Privacy > IP "
3646
+ "addresses</i> enable the option \"Mask IP addresses\" and activate at least "
3647
+ "\"Level 1\" so that the IP addresses of your visitors are stored anonymously."
3648
+ msgstr ""
3649
+ "Außerdem solltest du für mehr Datenschutz im Piwik PRO Dashboard (z.B. "
3650
+ "owlreview.piwik.pro) unter <i>Einstellungen > Einstellungen für globale "
3651
+ "Websites und Apps > Datenschutz > IP-Adressen ausblenden</i> die Option \"IP-"
3652
+ "Adressen maskieren\" aktivieren und mindestens \"Level 1\" aktivieren, damit "
3653
+ "die IP-Adressen deiner Besucher anonymisiert gespeichert werden."
3654
+
3655
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3656
+ msgid ""
3657
+ "This template assumes that you are using the statistics feature of Piwik "
3658
+ "PRO. Using the integrated tag manager is not expected."
3659
+ msgstr ""
3660
+ "Diese Vorlage geht davon aus, dass du die Statistikfunktion von Piwik PRO "
3661
+ "verwendest. Die Verwendung des integrierten Tag-Managers wird nicht erwartet."
3662
+
3663
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3664
  msgid ""
3665
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
5549
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5550
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5551
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
5552
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5553
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5554
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5555
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5556
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5557
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
5573
  msgid "Contact Form 7"
5574
  msgstr "Contact Form 7"
5575
 
5576
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5577
+ msgid "Divi Contact Form"
5578
+ msgstr "Divi Kontaktformular"
5579
+
5580
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5581
  msgid "Elementor Forms"
5582
  msgstr "Elementor Forms"
5586
  msgid "includes videos"
5587
  msgstr "beinhaltet Videos"
5588
 
5589
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5590
+ msgid "Five Star Restaurant Reservations"
5591
+ msgstr "Five Star Restaurant Reservations"
5592
+
5593
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5594
  msgid "Formidable"
5595
  msgstr "Formidable"
languages/real-cookie-banner-de_DE_formal.mo CHANGED
Binary file
languages/real-cookie-banner-de_DE_formal.po CHANGED
@@ -5,7 +5,7 @@ msgstr ""
5
  "Project-Id-Version: n/a\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
7
  "POT-Creation-Date: n/a\n"
8
- "PO-Revision-Date: 2022-02-04 14:11+0000\n"
9
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
10
  "Language-Team: German (formal) <https://translate.devowl.io/projects/"
11
  "wordpress-real-cookie-banner-backend-php/develop/de@formal/>\n"
@@ -576,6 +576,7 @@ msgstr "Funktional"
576
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
577
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
578
  #: inc/overrides/pro/presets/MatomoPreset.php:1
 
579
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
580
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
581
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
@@ -1051,6 +1052,7 @@ msgstr "ActiveCampaign Account ID"
1051
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1052
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1053
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
 
1054
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1055
  msgid "Please fill in a valid ID!"
1056
  msgstr "Bitte geben Sie einen gültigen Ausweis an!"
@@ -1528,7 +1530,9 @@ msgstr "ActiveCampaign-Formular mit Google reCAPTCHA"
1528
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1529
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1530
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
 
1531
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
 
1532
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1533
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1534
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
@@ -1581,6 +1585,10 @@ msgstr ""
1581
  "Das Anmeldeformular für den E-Mail-Newsletter ist blockiert, weil Sie "
1582
  "unserem E-Mail-Marketing-Anbieter ConvertKit das Laden nicht erlaubt haben."
1583
 
 
 
 
 
1584
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1585
  msgid "Elementor Forms with Google reCAPTCHA"
1586
  msgstr "Elementor Forms mit Google reCAPTCHA"
@@ -1593,6 +1601,10 @@ msgstr ""
1593
  "Informationen über eine Facebook-Seite wurden blockiert, weil du nicht "
1594
  "erlaubt hast, sie zu laden."
1595
 
 
 
 
 
1596
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1597
  msgid "Formidable with Google reCAPTCHA"
1598
  msgstr "Formidable mit Google reCAPTCHA"
@@ -3520,6 +3532,138 @@ msgstr ""
3520
  "über ein Plugin eines Drittanbieters einbetten oder Ereigniscodes "
3521
  "(<code>pintrk</code>-Funktion) für den Pinterest-Tag verwenden."
3522
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3523
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3524
  msgid ""
3525
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
@@ -5418,7 +5562,9 @@ msgstr "ActiveCampaign Formular"
5418
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5419
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5420
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
 
5421
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
 
5422
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5423
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5424
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
@@ -5440,6 +5586,10 @@ msgstr "CleverReach"
5440
  msgid "Contact Form 7"
5441
  msgstr "Contact Form 7"
5442
 
 
 
 
 
5443
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5444
  msgid "Elementor Forms"
5445
  msgstr "Elementor Forms"
@@ -5449,6 +5599,10 @@ msgstr "Elementor Forms"
5449
  msgid "includes videos"
5450
  msgstr "umfasst Videos"
5451
 
 
 
 
 
5452
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5453
  msgid "Formidable"
5454
  msgstr "Formidable"
5
  "Project-Id-Version: n/a\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
7
  "POT-Creation-Date: n/a\n"
8
+ "PO-Revision-Date: 2022-02-11 13:55+0000\n"
9
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
10
  "Language-Team: German (formal) <https://translate.devowl.io/projects/"
11
  "wordpress-real-cookie-banner-backend-php/develop/de@formal/>\n"
576
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
577
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
578
  #: inc/overrides/pro/presets/MatomoPreset.php:1
579
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
580
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
581
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
582
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
1052
  #: inc/overrides/pro/presets/FoundEePreset.php:1
1053
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
1054
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
1055
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1056
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
1057
  msgid "Please fill in a valid ID!"
1058
  msgstr "Bitte geben Sie einen gültigen Ausweis an!"
1530
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1531
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
1532
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
1533
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1534
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1535
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1536
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1537
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
1538
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
1585
  "Das Anmeldeformular für den E-Mail-Newsletter ist blockiert, weil Sie "
1586
  "unserem E-Mail-Marketing-Anbieter ConvertKit das Laden nicht erlaubt haben."
1587
 
1588
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1589
+ msgid "Divi Contact Form with Google reCAPTCHA"
1590
+ msgstr "Divi Kontaktformular mit Google reCAPTCHA"
1591
+
1592
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1593
  msgid "Elementor Forms with Google reCAPTCHA"
1594
  msgstr "Elementor Forms mit Google reCAPTCHA"
1601
  "Informationen über eine Facebook-Seite wurden blockiert, weil du nicht "
1602
  "erlaubt hast, sie zu laden."
1603
 
1604
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1605
+ msgid "Restaurant Reservations with Google reCAPTCHA"
1606
+ msgstr "Restaurant Reservierungen mit Google reCAPTCHA"
1607
+
1608
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1609
  msgid "Formidable with Google reCAPTCHA"
1610
  msgstr "Formidable mit Google reCAPTCHA"
3532
  "über ein Plugin eines Drittanbieters einbetten oder Ereigniscodes "
3533
  "(<code>pintrk</code>-Funktion) für den Pinterest-Tag verwenden."
3534
 
3535
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3536
+ msgid ""
3537
+ "Piwik is a service for creating detailed statistics about user behavior on "
3538
+ "the website. This includes the pages viewed, technical and geographic data "
3539
+ "of the requesting device, the time spent on a page and the click behavior on "
3540
+ "the Website. The collected data is mostly used in aggregated form for "
3541
+ "analyses of the website, e.g. to improve it. Cookies are used to distinguish "
3542
+ "users and link data from multiple page views. Also, the user is assigned to "
3543
+ "a session to recognize different independent visits. The last interaction of "
3544
+ "the visitor with the website and the website from which the visitor can be "
3545
+ "stored. In addition, traffic source prioritization is performed and "
3546
+ "returning visitors are flagged as such."
3547
+ msgstr ""
3548
+ "Piwik ist ein Service zur Erstellung detaillierter Statistiken über das "
3549
+ "Nutzerverhalten auf der Website. Dazu gehören die aufgerufenen Seiten, "
3550
+ "technische und geografische Daten des anfragenden Geräts, die Verweildauer "
3551
+ "auf einer Seite und das Klickverhalten auf der Website. Die gesammelten "
3552
+ "Daten werden meist in aggregierter Form für Analysen der Website verwendet, "
3553
+ "z.B. um sie zu verbessern. Cookies werden verwendet, um Nutzer zu "
3554
+ "unterscheiden und Daten von mehreren Seitenaufrufen zu verknüpfen. Außerdem "
3555
+ "wird der Nutzer einer Sitzung zugewiesen, um verschiedene unabhängige "
3556
+ "Besuche zu erkennen. Die letzte Interaktion des Besuchers mit der Website "
3557
+ "und die Website, von welcher der Besucher kommt, können gespeichert werden. "
3558
+ "Darüber hinaus wird eine Priorisierung der Traffic-Quellen vorgenommen und "
3559
+ "wiederkehrende Besucher werden als solche gekennzeichnet."
3560
+
3561
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3562
+ msgid "https://piwik.pro/privacy-policy/"
3563
+ msgstr "https://piwikpro.de/datenschutz/"
3564
+
3565
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3566
+ msgid "Piwik container address (URL)"
3567
+ msgstr "Piwik Container Adresse (URL)"
3568
+
3569
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3570
+ msgid "Please fill in a valid container address!"
3571
+ msgstr "Bitte geben Sie eine gültige Container Adresse an!"
3572
+
3573
+ #. translators:
3574
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3575
+ msgid ""
3576
+ "You can find your Piwik container address in your Piwik PRO dashboard (e.g. "
3577
+ "at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. "
3578
+ "Afterwards, open the tab \"Installation\" and there you need to extract the "
3579
+ "URL from the script (<a href=\"%s\" target=\"_blank\">see example</a>)"
3580
+ msgstr ""
3581
+ "Sie finden Ihre Piwik Container Adresse in Ihrem Piwik PRO Dashboard (z.B. "
3582
+ "unter owlreview.piwik.pro), indem Sie auf <i>Websites & Apps > [Ihre "
3583
+ "Domain]</i> gehen. Öffnen Sie anschließend die Registerkarte \"Installation\""
3584
+ " und extrahieren Sie dort die URL aus dem Skript (<a href=\"%s\" target="
3585
+ "\"_blank\">siehe Beispiel</a>)"
3586
+
3587
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3588
+ msgid ""
3589
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/piwik-"
3590
+ "container-address.png"
3591
+ msgstr ""
3592
+ "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/de/piwik-"
3593
+ "container-address.png"
3594
+
3595
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3596
+ msgid ""
3597
+ "Example standard URL: <code>https://yourname.containers.piwik.pro</code>.<br/"
3598
+ ">Example custom domain URL: <code>https://yourname.piwik.pro/containers</"
3599
+ "code>."
3600
+ msgstr ""
3601
+ "Beispiel Standard-URL: <code>https://yourname.containers.piwik.pro</code>.<"
3602
+ "br/>Beispiel benutzerdefinierte Domain-URL: <code>https://yourname.piwik.pro/"
3603
+ "containers</code>."
3604
+
3605
+ #. translators:
3606
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3607
+ msgid ""
3608
+ "This address may be different for Piwik PRO on-premises or private cloud "
3609
+ "accounts. Please <a href=\"%s\" target=\"_blank\">contact Piwik PRO</a> to "
3610
+ "get the right address."
3611
+ msgstr ""
3612
+ "Diese Adresse kann für Piwik PRO On-Premises- oder Private Cloud-Konten "
3613
+ "unterschiedlich sein. Bitte <a href=\"%s\" target=\"_blank\">kontaktieren "
3614
+ "Sie Piwik PRO</a>, um die richtige Adresse zu erhalten."
3615
+
3616
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3617
+ msgid "https://piwik.pro/contact/"
3618
+ msgstr "https://piwikpro.de/kontakt/"
3619
+
3620
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3621
+ msgid "Piwik PRO Site ID"
3622
+ msgstr "Piwik PRO Site ID"
3623
+
3624
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3625
+ msgid ""
3626
+ "You can find your Piwik PRO Site ID in your Piwik PRO dashboard (e.g. at "
3627
+ "devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. In the "
3628
+ "dialog that opens, you will find your ID directly under your domain name."
3629
+ msgstr ""
3630
+ "Sie finden Ihre Piwik PRO Site ID in Ihrem Piwik PRO Dashboard (z.B. unter "
3631
+ "owlreview.piwik.pro), indem Sie auf <i>Websites & Apps > [Ihre Domain]</i> "
3632
+ "gehen. In dem sich öffnenden Dialog finden Sie Ihre ID direkt unter Ihrem "
3633
+ "Domainnamen."
3634
+
3635
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3636
+ msgid ""
3637
+ "In the same dialog, in the \"Privacy\" tab, please disable the \"Ask "
3638
+ "visitors for consent” option. You already obtain the necessary consent for "
3639
+ "the use of Piwik PRO via Real Cookie Banner."
3640
+ msgstr ""
3641
+ "Im gleichen Dialog deaktivieren Sie bitte auf der Registerkarte \"Datenschutz"
3642
+ "\" die Option \"Fragen Sie Besucher um Ihre Zustimmung\". Die notwendige "
3643
+ "Einwilligung für die Nutzung von Piwik PRO erhalten Sie bereits über Real "
3644
+ "Cookie Banner."
3645
+
3646
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3647
+ msgid ""
3648
+ "You should also for more privacy in the Piwik PRO dashboard (e.g. owlreview."
3649
+ "piwik.pro) under <i>Settings > Global site & app settings > Privacy > IP "
3650
+ "addresses</i> enable the option \"Mask IP addresses\" and activate at least "
3651
+ "\"Level 1\" so that the IP addresses of your visitors are stored anonymously."
3652
+ msgstr ""
3653
+ "Außerdem sollten Sie für mehr Datenschutz im Piwik PRO Dashboard (z.B. "
3654
+ "owlreview.piwik.pro) unter <i>Einstellungen > Einstellungen für globale "
3655
+ "Websites und Apps > Datenschutz > IP-Adressen ausblenden</i> die Option \"IP-"
3656
+ "Adressen maskieren\" aktivieren und mindestens “Level 1\" aktivieren, damit "
3657
+ "die IP-Adressen Ihrer Besucher anonymisiert gespeichert werden."
3658
+
3659
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
3660
+ msgid ""
3661
+ "This template assumes that you are using the statistics feature of Piwik "
3662
+ "PRO. Using the integrated tag manager is not expected."
3663
+ msgstr ""
3664
+ "Diese Vorlage geht davon aus, dass Sie die Statistikfunktion von Piwik PRO "
3665
+ "verwenden. Die Verwendung des integrierten Tag-Managers wird nicht erwartet."
3666
+
3667
  #: inc/overrides/pro/presets/PodigeePreset.php:1
3668
  msgid ""
3669
  "Podigee allows embedding audio content uploaded on podigee.com directly into "
5562
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
5563
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
5564
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
5565
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5566
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5567
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5568
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5569
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
5570
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
5586
  msgid "Contact Form 7"
5587
  msgstr "Contact Form 7"
5588
 
5589
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
5590
+ msgid "Divi Contact Form"
5591
+ msgstr "Divi Kontaktformular"
5592
+
5593
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
5594
  msgid "Elementor Forms"
5595
  msgstr "Elementor Forms"
5599
  msgid "includes videos"
5600
  msgstr "umfasst Videos"
5601
 
5602
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
5603
+ msgid "Five Star Restaurant Reservations"
5604
+ msgstr "Five Star Restaurant Reservations"
5605
+
5606
  #: inc/presets/pro/blocker/FormidablePreset.php:1
5607
  msgid "Formidable"
5608
  msgstr "Formidable"
languages/real-cookie-banner.pot CHANGED
@@ -453,6 +453,7 @@ msgstr ""
453
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
454
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
455
  #: inc/overrides/pro/presets/MatomoPreset.php:1
 
456
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
457
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
458
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
@@ -784,6 +785,7 @@ msgstr ""
784
  #: inc/overrides/pro/presets/FoundEePreset.php:1
785
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
786
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
 
787
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
788
  msgid "Please fill in a valid ID!"
789
  msgstr ""
@@ -975,7 +977,9 @@ msgstr ""
975
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
976
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
977
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
 
978
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
 
979
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
980
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
981
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
@@ -1009,6 +1013,10 @@ msgstr ""
1009
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider ConvertKit to load."
1010
  msgstr ""
1011
 
 
 
 
 
1012
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1013
  msgid "Elementor Forms with Google reCAPTCHA"
1014
  msgstr ""
@@ -1017,6 +1025,10 @@ msgstr ""
1017
  msgid "Information about a Facebook Page has been blocked because you did not allow to load it."
1018
  msgstr ""
1019
 
 
 
 
 
1020
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1021
  msgid "Formidable with Google reCAPTCHA"
1022
  msgstr ""
@@ -1732,6 +1744,64 @@ msgstr ""
1732
  msgid "You only need a content blocker if you embed the Pinterest Tag through a third party plugin or use event codes (<code>pintrk</code> function) for the Pinterest Tag."
1733
  msgstr ""
1734
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1735
  #: inc/overrides/pro/presets/PodigeePreset.php:1
1736
  msgid "Podigee allows embedding audio content uploaded on podigee.com directly into websites. No cookies in the technical sense are set on the client of the user, but technical and personal data such as the IP address will be transmitted from the client to the server of the service provider to make the use of the service possible."
1737
  msgstr ""
@@ -2709,7 +2779,9 @@ msgstr ""
2709
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
2710
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
2711
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
 
2712
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
 
2713
  #: inc/presets/pro/blocker/FormidablePreset.php:1
2714
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
2715
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
@@ -2731,6 +2803,10 @@ msgstr ""
2731
  msgid "Contact Form 7"
2732
  msgstr ""
2733
 
 
 
 
 
2734
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
2735
  msgid "Elementor Forms"
2736
  msgstr ""
@@ -2740,6 +2816,10 @@ msgstr ""
2740
  msgid "includes videos"
2741
  msgstr ""
2742
 
 
 
 
 
2743
  #: inc/presets/pro/blocker/FormidablePreset.php:1
2744
  msgid "Formidable"
2745
  msgstr ""
453
  #: inc/overrides/pro/presets/GoogleAnalytics4Preset.php:1
454
  #: inc/overrides/pro/presets/GoogleAnalyticsPreset.php:1
455
  #: inc/overrides/pro/presets/MatomoPreset.php:1
456
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
457
  #: inc/overrides/pro/presets/YandexMetricaPreset.php:1
458
  #: inc/presets/free/JetpackSiteStatsPreset.php:1
459
  #: inc/presets/middleware/CookieGroupNamesBackwardsCompatibleMiddleware.php:1
785
  #: inc/overrides/pro/presets/FoundEePreset.php:1
786
  #: inc/overrides/pro/presets/FreshchatPreset.php:1
787
  #: inc/overrides/pro/presets/LinkedInAdsPreset.php:1
788
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
789
  #: inc/overrides/pro/presets/TikTokPixelPreset.php:1
790
  msgid "Please fill in a valid ID!"
791
  msgstr ""
977
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
978
  #: inc/overrides/pro/presets/blocker/CleverReachRecaptchaPreset.php:1
979
  #: inc/overrides/pro/presets/blocker/ContactForm7RecaptchaPreset.php:1
980
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
981
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
982
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
983
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
984
  #: inc/overrides/pro/presets/blocker/FormMakerRecaptchaPreset.php:1
985
  #: inc/overrides/pro/presets/blocker/HappyFormsPreset.php:1
1013
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider ConvertKit to load."
1014
  msgstr ""
1015
 
1016
+ #: inc/overrides/pro/presets/blocker/DiviContactFormPreset.php:1
1017
+ msgid "Divi Contact Form with Google reCAPTCHA"
1018
+ msgstr ""
1019
+
1020
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1021
  msgid "Elementor Forms with Google reCAPTCHA"
1022
  msgstr ""
1025
  msgid "Information about a Facebook Page has been blocked because you did not allow to load it."
1026
  msgstr ""
1027
 
1028
+ #: inc/overrides/pro/presets/blocker/FiveStarRestaurantReservationsPreset.php:1
1029
+ msgid "Restaurant Reservations with Google reCAPTCHA"
1030
+ msgstr ""
1031
+
1032
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1033
  msgid "Formidable with Google reCAPTCHA"
1034
  msgstr ""
1744
  msgid "You only need a content blocker if you embed the Pinterest Tag through a third party plugin or use event codes (<code>pintrk</code> function) for the Pinterest Tag."
1745
  msgstr ""
1746
 
1747
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1748
+ msgid "Piwik is a service for creating detailed statistics about user behavior on the website. This includes the pages viewed, technical and geographic data of the requesting device, the time spent on a page and the click behavior on the Website. The collected data is mostly used in aggregated form for analyses of the website, e.g. to improve it. Cookies are used to distinguish users and link data from multiple page views. Also, the user is assigned to a session to recognize different independent visits. The last interaction of the visitor with the website and the website from which the visitor can be stored. In addition, traffic source prioritization is performed and returning visitors are flagged as such."
1749
+ msgstr ""
1750
+
1751
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1752
+ msgid "https://piwik.pro/privacy-policy/"
1753
+ msgstr ""
1754
+
1755
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1756
+ msgid "Piwik container address (URL)"
1757
+ msgstr ""
1758
+
1759
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1760
+ msgid "Please fill in a valid container address!"
1761
+ msgstr ""
1762
+
1763
+ #. translators:
1764
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1765
+ msgid "You can find your Piwik container address in your Piwik PRO dashboard (e.g. at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. Afterwards, open the tab \"Installation\" and there you need to extract the URL from the script (<a href=\"%s\" target=\"_blank\">see example</a>)"
1766
+ msgstr ""
1767
+
1768
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1769
+ msgid "https://assets.devowl.io/in-app/wp-real-cookie-banner/services/piwik-container-address.png"
1770
+ msgstr ""
1771
+
1772
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1773
+ msgid "Example standard URL: <code>https://yourname.containers.piwik.pro</code>.<br/>Example custom domain URL: <code>https://yourname.piwik.pro/containers</code>."
1774
+ msgstr ""
1775
+
1776
+ #. translators:
1777
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1778
+ msgid "This address may be different for Piwik PRO on-premises or private cloud accounts. Please <a href=\"%s\" target=\"_blank\">contact Piwik PRO</a> to get the right address."
1779
+ msgstr ""
1780
+
1781
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1782
+ msgid "https://piwik.pro/contact/"
1783
+ msgstr ""
1784
+
1785
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1786
+ msgid "Piwik PRO Site ID"
1787
+ msgstr ""
1788
+
1789
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1790
+ msgid "You can find your Piwik PRO Site ID in your Piwik PRO dashboard (e.g. at devowl.piwik.pro) by going to <i>Sites & apps > [your domain]</i>. In the dialog that opens, you will find your ID directly under your domain name."
1791
+ msgstr ""
1792
+
1793
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1794
+ msgid "In the same dialog, in the \"Privacy\" tab, please disable the \"Ask visitors for consent” option. You already obtain the necessary consent for the use of Piwik PRO via Real Cookie Banner."
1795
+ msgstr ""
1796
+
1797
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1798
+ msgid "You should also for more privacy in the Piwik PRO dashboard (e.g. owlreview.piwik.pro) under <i>Settings > Global site & app settings > Privacy > IP addresses</i> enable the option \"Mask IP addresses\" and activate at least \"Level 1\" so that the IP addresses of your visitors are stored anonymously."
1799
+ msgstr ""
1800
+
1801
+ #: inc/overrides/pro/presets/PiwikProPreset.php:1
1802
+ msgid "This template assumes that you are using the statistics feature of Piwik PRO. Using the integrated tag manager is not expected."
1803
+ msgstr ""
1804
+
1805
  #: inc/overrides/pro/presets/PodigeePreset.php:1
1806
  msgid "Podigee allows embedding audio content uploaded on podigee.com directly into websites. No cookies in the technical sense are set on the client of the user, but technical and personal data such as the IP address will be transmitted from the client to the server of the service provider to make the use of the service possible."
1807
  msgstr ""
2779
  #: inc/presets/pro/blocker/CalderaFormsPreset.php:1
2780
  #: inc/presets/pro/blocker/CleverReachRecaptchaPreset.php:1
2781
  #: inc/presets/pro/blocker/ContactForm7RecaptchaPreset.php:1
2782
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
2783
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
2784
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
2785
  #: inc/presets/pro/blocker/FormidablePreset.php:1
2786
  #: inc/presets/pro/blocker/FormMakerRecaptchaPreset.php:1
2787
  #: inc/presets/pro/blocker/HappyFormsPreset.php:1
2803
  msgid "Contact Form 7"
2804
  msgstr ""
2805
 
2806
+ #: inc/presets/pro/blocker/DiviContactFormPreset.php:1
2807
+ msgid "Divi Contact Form"
2808
+ msgstr ""
2809
+
2810
  #: inc/presets/pro/blocker/ElementorFormsPreset.php:1
2811
  msgid "Elementor Forms"
2812
  msgstr ""
2816
  msgid "includes videos"
2817
  msgstr ""
2818
 
2819
+ #: inc/presets/pro/blocker/FiveStarRestaurantReservationsPreset.php:1
2820
+ msgid "Five Star Restaurant Reservations"
2821
+ msgstr ""
2822
+
2823
  #: inc/presets/pro/blocker/FormidablePreset.php:1
2824
  msgid "Formidable"
2825
  msgstr ""
public/dist/banner.lite.js CHANGED
@@ -1,2 +1,2 @@
1
- var realCookieBanner_banner;!function(){var t,e={4930:function(t,e,n){"use strict";n.d(e,{c:function(){return o}});var r=/{{([A-Za-z0-9_]+)}}/gm;function o(t,e){return t.replace(r,(function(t,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:t}))}},6825:function(t,e,n){"use strict";n.d(e,{jb:function(){return r},zm:function(){return o},rG:function(){return i},d3:function(){return a},_W:function(){return c},NY:function(){return s},i7:function(){return u},Ng:function(){return l},CT:function(){return d},v4:function(){return f},YO:function(){return p},Ti:function(){return h},Ks:function(){return v},dW:function(){return m},Kh:function(){return b},Wm:function(){return g},Qt:function(){return y}});var r="consent-original",o="consent-click-original",i="_",a="consent-by",c="consent-required",s="consent-visual-use-parent",u="consent-inline",l="consent-inline-style",d="consent-id",f="script",p="consent-blocker-connected",h="consent-transaction-complete",v="consent-transform-wrapper",m="1",b="consent-strict-hidden",g="consent-cb-reset-parent",y="1"},8865:function(t,e,n){"use strict";n.d(e,{L:function(){return u},K:function(){return l}});var r=n(9749),o=n.n(r),i=n(4930),a=n(4184);function c(t){var e;return(0,a.C)(t)?null===(e=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===e?void 0:e.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent}var s=n(3532).default,u="rcbInitiatorOnload";function l(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body;return new s((function(r){t?o()(n,(0,i.c)(t,e),{done:r,error:function(t){console.error(t)},beforeWriteToken:function(t){var e=t.attrs,n=t.booleanAttrs,r=t.src,o=t.href,i=t.content;if(null!=n&&n["skip-write"])return!1;for(var a in i&&(t.content=i.replace(/window\.onload\s+=/g,"window.".concat(u," ="))),e)if(e[a]=c(e[a]),"unique-write-name"===a&&document.querySelector('[unique-write-name="'.concat(e[a],'"]')))return!1;return r&&(t.src=c(r)),o&&(t.href=c(o)),t}}):r()}))}},4052:function(t,e,n){"use strict";n.d(e,{T:function(){return r}});var r="RCB/OptIn/ContentBlocker"},4184:function(t,e,n){"use strict";function r(t){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(t)}n.d(e,{C:function(){return r}})},784:function(t,e,n){"use strict";n.d(e,{w:function(){return o}});var r=n(8527);function o(t,e){for(var n=[],o=t.parentElement;null!==o;)o.nodeType===Node.ELEMENT_NODE&&(0,r.D)(o,e)&&n.push(o),o=o.parentElement;return n}},8527:function(t,e,n){"use strict";function r(t,e){if(!t||!t.parentElement)return!1;var n=t.parentElement.querySelectorAll(e);for(var r in n)if(n[r]===t)return!0;return!1}n.d(e,{D:function(){return r}})},86:function(t,e,n){"use strict";n.d(e,{D:function(){return Z}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c=n(4742),s=n.n(c),u=n(7577),l=n(2992),d=n(5566),f=n.n(d);function p(t){for(var e=t.location,n=t.params,r=void 0===n?{}:n,o=t.nonce,i=void 0===o||o,a=t.options,c=new(s())(a.restRoot,!0),d=c.query,p=d.rest_route||c.pathname,h=[],v=e.path.replace(/:([A-Za-z0-9-_]+)/g,(function(t,e){return h.push(e),r[e]})),m={},b=0,g=Object.keys(r);b<g.length;b++){var y=g[b];-1===h.indexOf(y)&&(m[y]=r[y])}var x=(0,u.Ab)(p)+(0,u.XO)(e.namespace||a.restNamespace)+v,k=new(s())(window.location.href).protocol.slice(0,-1);c.set("protocol",k),d.rest_route?d.rest_route=x:c.set("pathname",x),i&&a.restNonce&&(d._wpnonce=a.restNonce);var w=c.toString();return["wp-json/","rest_route="].filter((function(t){return w.indexOf(t)>-1})).length>0&&e.method&&e.method!==l.O.GET&&(d._method=e.method),c.set("query",f().all([a.restQuery,m,d])).toString()}var h=n(3532).default,v=n(5654).default,m={},b={};function g(t,e){return y.apply(this,arguments)}function y(){return y=(0,o.Z)(a().mark((function t(e,n){var r,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===n){t.next=6;break}return r=b[e]||new h(function(){var t=(0,o.Z)(a().mark((function t(r,o){var i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,v(n);case 3:if(!(i=t.sent).ok){t.next=12;break}return t.next=7,i.text();case 7:c=t.sent,m[e]=c,r(c),t.next=13;break;case 12:o();case 13:t.next=18;break;case 15:t.prev=15,t.t0=t.catch(0),o();case 18:case"end":return t.stop()}}),t,null,[[0,15]])})));return function(e,n){return t.apply(this,arguments)}}()),b[e]=r,t.abrupt("return",r);case 6:if(void 0!==e){t.next=8;break}return t.abrupt("return",void 0);case 8:return t.next=10,h.all(Object.values(b));case 10:for(i=e;m[i];)i=m[i];return t.abrupt("return",h.resolve(i));case 13:case"end":return t.stop()}}),t)}))),y.apply(this,arguments)}var x=n(38);function k(t,e,n){return w.apply(this,arguments)}function w(){return(w=(0,o.Z)(a().mark((function t(e,n,r){var o,i,c,s,u,d;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=n.clone(),t.prev=1,t.next=4,n.json();case 4:return t.abrupt("return",t.sent);case 7:return t.prev=7,t.t0=t.catch(1),t.next=11,o.text();case 11:if(!(""===(i=t.sent)&&[l.O.DELETE,l.O.PUT].indexOf(r)>-1)){t.next=14;break}return t.abrupt("return",void 0);case 14:console.warn("The response of ".concat(e," contains unexpected JSON, try to resolve the JSON line by line..."),{body:i}),s=(0,x.Z)(i.split("\n")),t.prev=16,s.s();case 18:if((u=s.n()).done){t.next=30;break}if(!(d=u.value).startsWith("[")&&!d.startsWith("{")){t.next=28;break}return t.prev=21,t.abrupt("return",JSON.parse(d));case 25:t.prev=25,t.t1=t.catch(21),c=t.t1;case 28:t.next=18;break;case 30:t.next=35;break;case 32:t.prev=32,t.t2=t.catch(16),s.e(t.t2);case 35:return t.prev=35,s.f(),t.finish(35);case 38:throw c;case 39:case"end":return t.stop()}}),t,null,[[1,7],[16,32,35,38],[21,25]])})))).apply(this,arguments)}var C=n(2680),S=n.n(C),A=n(5654).default,O="application/json;charset=utf-8";function Z(t){return E.apply(this,arguments)}function E(){return(E=(0,o.Z)(a().mark((function t(e){var n,o,i,c,u,d,h,v,m,b,y,x,w,C,E,B,I,T,D,N,P,R,z;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.location,o=e.options,i=e.request,c=e.params,u=e.settings,d=void 0===u?{}:u,h=e.multipart,v=void 0!==h&&h,m=e.sendRestNonce,b=void 0===m||m,y=p({location:n,params:c,nonce:!1,options:o}),["wp-json/","rest_route="].filter((function(t){return y.indexOf(t)>-1})).length>0&&n.method&&n.method!==l.O.GET?d.method=l.O.POST:d.method=n.method||l.O.GET,x=new(s())(y,!0),!(w=-1===["HEAD","GET"].indexOf(d.method))&&i&&x.set("query",f()(x.query,i)),w&&(C=v?S()(i,"boolean"==typeof v?{}:v):JSON.stringify(i)),t.next=9,g(o.restNonce);case 9:return E=t.sent,B=void 0!==E,(I=f().all([d,{headers:(0,r.Z)((0,r.Z)((0,r.Z)({},"string"==typeof C?{"Content-Type":O}:{}),B&&b?{"X-WP-Nonce":E}:{}),{},{Accept:"application/json, */*;q=0.1"})}])).body=C,T=x.toString(),t.next=16,A(T,I);case 16:if((D=t.sent).ok){t.next=47;break}return N=void 0,P=!1,t.prev=20,t.next=23,k(T,D,n.method);case 23:if("private_site"===(N=t.sent).code&&403===D.status&&B&&!b&&(P=!0),"rest_cookie_invalid_nonce"!==N.code||!B){t.next=35;break}return R=o.restRecreateNonceEndpoint,t.prev=27,t.next=30,g(E,R);case 30:P=!0,t.next=35;break;case 33:t.prev=33,t.t0=t.catch(27);case 35:t.next=39;break;case 37:t.prev=37,t.t1=t.catch(20);case 39:if(!P){t.next=43;break}return t.next=42,Z({location:n,options:o,multipart:v,params:c,request:i,sendRestNonce:!0,settings:d});case 42:return t.abrupt("return",t.sent);case 43:throw d.method===l.O.GET&&(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1),(z=D).responseJSON=N,z;case 47:return t.abrupt("return",k(T,D,n.method));case 48:case"end":return t.stop()}}),t,null,[[20,37],[27,33]])})))).apply(this,arguments)}},2992:function(t,e,n){"use strict";var r;n.d(e,{O:function(){return r}}),function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(r||(r={}))},7577:function(t,e,n){"use strict";n.d(e,{XO:function(){return r},Ab:function(){return o},sE:function(){return i}});var r=function t(e){return e.endsWith("/")||e.endsWith("\\")?t(e.slice(0,-1)):e},o=function(t){return"".concat(r(t),"/")},i=function(t){var e=window[t.slug.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")}},373:function(t,e,n){"use strict";n.d(e,{h:function(){return u}});var r=n(38),o=n(6703),i=n(3416),a=n(6825),c=n(4052),s=n(3532).default;function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.createElement("div");return new s((function(n){var s,u,l=(0,o.u)().blocker,d=!e.parentElement,f=(0,r.Z)(l);try{t:for(f.s();!(u=f.n()).done;){var p,h=u.value,v=h.hosts,m=(0,r.Z)(v);try{for(m.s();!(p=m.n()).done;){var b=p.value,g=(0,i.D)(b);if(t.match(g)){s=h;break t}}}catch(t){m.e(t)}finally{m.f()}}}catch(t){f.e(t)}finally{f.f()}s?(e.setAttribute(a.d3,"cookies"),e.setAttribute(a._W,s.cookies.join(",")),e.setAttribute(a.CT,s.id.toString()),e.addEventListener(c.T,(function(){d&&e.remove(),n()})),d&&document.body.appendChild(e)):n()}))}},5346:function(t,e,n){"use strict";n.r(e),n.d(e,{consent:function(){return Ae},consentAll:function(){return Ee},consentSync:function(){return Ce},unblock:function(){return xe.h}});var r={};n.r(r),n.d(r,{consent:function(){return Ae},consentAll:function(){return Ee},consentSync:function(){return Ce},unblock:function(){return xe.h}});var o=n(5213),i=n(63),a=n(2711),c=n(7663),s=n(2722);function u(t,e,n,r){return t.enabled,t.scalePercent,t.scalePercentVertical,n}function l(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function d(t,e){var n=l(t),r=n.r,o=n.g,i=n.b;return"rgba(".concat(r,", ").concat(o,", ").concat(i,", ").concat(e/100,")")}var f=n(4115),p=n(38),h=n(6845);function v(){var t=(0,h.S)(),e=t.individualPrivacyOpen,n=t.onSave,r=t.updateGroupChecked,i=t.updateCookieChecked,c=t.groups,s=t.essentialGroup,u=t.updateIndividualPrivacyOpen,l=t.activeAction,d=t.onClose,f=e?"ind_all":"main_all",v=e?"ind_essential":"main_essential",m=e?"ind_close_icon":"main_close_icon",b=e?"ind_custom":"main_custom",g={buttonClickedAll:f,buttonClickedEssentials:v,buttonClickedCloseIcon:m,buttonClickedCustom:b,acceptAll:(0,o.I4)((function(){c.forEach((function(t){return r(t.id,!0)})),n(!1,f)}),[f]),acceptEssentials:(0,o.I4)((function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];c.forEach((function(t){var e=t.slug,n=t.id,o=t.items;if(e===s)r(n,!0);else{var a,c=(0,p.Z)(o);try{for(c.s();!(a=c.n()).done;){var u=a.value,l=u.legalBasis,d=u.id;i(n,d,"legitimate-interest"===l)}}catch(t){c.e(t)}finally{c.f()}}})),n(!1,t?m:v)}),[v]),acceptIndividual:(0,o.I4)((function(){return n(!1,b)}),[b]),openIndividualPrivacy:(0,o.I4)((function(){u(!0)}),[u])};return(0,a.Z)((0,a.Z)({},g),{},{closeIcon:(0,o.I4)((function(){l?d():g.acceptEssentials(!0)}),[l,d,g.acceptEssentials])})}var m,b=n(6228),g=n(617),y=n(6703),x=n(7778),k=function(t){var e=t.children,n=t.className,r=t.tag,i=void 0===r?"div":r,a=t.renderInContainer,s=(0,o.eJ)((function(){var t=document.createElement(i);return n&&t.classList.add(n),t})),u=(0,c.Z)(s,1)[0];return(0,o.d4)((function(){return document.body.appendChild(u),function(){document.body.removeChild(u)}}),[]),(0,o.jz)(e,a||u)},w=n(7029).h,C=0,S=function(){var t=(0,o.Ye)((function(){return"react-close-icon-".concat((C++).toString(36))}),[]),e=(0,o.Ye)((function(){return"react-close-icon-".concat((C++).toString(36))}),[]),n=(0,o.sO)(),r=(0,x.EL)(n),i=(0,h.S)(),a=i.headerDesign,c=a.fontSize,s=a.fontColor,l=i.texts.acceptEssentials,d=i.mobile,f=i.activeAction,p=i.pageRequestUuid4,m=i.buttonClicked,S=void 0===m?"":m,A=u(d,0,c),O=v(),Z=O.buttonClickedCloseIcon,E=O.closeIcon,B=(0,y.u)().bannerI18n,I=B.close,T=B.closeWithoutSaving,D=f?"change"===f?T:I:l;(0,b.G)("#".concat(e," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(A,"px / 2 * -1);\n display: block;\n width: ").concat(A,"px;\n height: ").concat(A,"px; \n pointer-events: none;\n}\n\n#").concat(t," {\n position: fixed !important;\n ").concat(r?"top: ".concat(r.y,"px;left: ").concat(r.x,"px;display:block;"):"display:none;","\n width: ").concat(A,"px;\n height: ").concat(A,"px;\n cursor: pointer;\n z-index: 99;\n pointer-events: all;\n ").concat(S===Z?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n#").concat(t,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(t," > span:before,#").concat(t," > span:after{\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(1,"px;\n height: ").concat(A,"px;\n background-color: ").concat(s,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(t," > span:after{\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(t," > span:hover:before,#").concat(t," > span:hover:after{\n opacity: 1;\n width: ").concat(2,"px;\n}"));var N=document.getElementById(p);return w(o.HY,null,w("div",{id:e,ref:n}),(null==r?void 0:r.y)>0&&w(k,{renderInContainer:N},w(g.z,{title:D,id:t,onClick:E,position:r.y>50?"top-left":"left",always:(null==N?void 0:N.clientWidth)<700},w("span",null))))},A=[200,400,600,800,1e3];function O(t){var e=(0,o.sO)(),n=(0,h.S)(),r=(n.renderedHeights,(0,f.Z)(n,["renderedHeights"])),i=r.updateRenderedHeight,a=function(){var n;return i(t,(null===(n=e.current)||void 0===n?void 0:n.getBoundingClientRect().height)||0)};return(0,o.bt)((function(){return window.addEventListener("resize",a),function(){return window.removeEventListener("resize",a)}}),[t]),(0,o.bt)((function(){a(),clearTimeout(m),m=setTimeout((function(){a();var t,e=(0,p.Z)(A);try{for(e.s();!(t=e.n()).done;){var n=t.value;setTimeout(a,n)}}catch(t){e.e(t)}finally{e.f()}}),100)}),Object.values(r)),e}var Z=n(7029).h,E=function(){var t,e,n,r,o,i,c,l,d,p,v,m,b,g,x,k,w,C=(0,h.S)(),A=C.headerDesign,E=A.logo,B=A.logoRetina,I=C.decision.showCloseIcon,T=C.texts.headline,D=C.activeAction,N=C.individualPrivacyOpen,P=C.individualTexts,R=O("headerContainer"),z=(0,y.u)().bannerI18n.headerTitlePrivacyPolicyHistory,W=B&&!(null!=E&&E.endsWith(".svg"))&&window.devicePixelRatio>1,H=W?B:E,L=N?"history"===D?z:P.headline:T;return Z("div",(0,s.Z)({ref:R},(n=(e=(t=C).layout).type,r=e.dialogBorderRadius,i=(o=t.design).borderWidth,c=o.borderColor,l=(0,f.Z)(o,["borderWidth","borderColor"]),p=(d=t.headerDesign).inheritBg,v=d.bg,m=d.padding,b=t.customCss.antiAdBlocker,g=t.mobile,t.pageRequestUuid4,x=u(g,0,n),k=u(g,0,i),w={padding:u(g,0,m,0).map((function(t){return"".concat(t,"px")})).join(" "),background:p?l.bg:v,borderRadius:"dialog"===x?"".concat(r,"px ").concat(r,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0},"dialog"===x&&k>0&&(w.borderTop="".concat(k,"px solid ").concat(c),w.borderLeft=w.borderTop,w.borderRight=w.borderTop),{className:"y"===b?void 0:"rcb-header-container",style:w})),Z("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.design.textAlign,i=t.headerDesign,a=i.inheritTextAlign,c=i.logo,s=i.logoPosition,l=(0,f.Z)(i,["inheritTextAlign","logo","logoPosition"]),d=t.texts.headline,p=t.individualLayout,h=t.customCss.antiAdBlocker,v=t.mobile,m=(t.pageRequestUuid4,t.individualPrivacyOpen),b=a?o:l.textAlign;return{className:"y"===h?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===u(v,0,n)?+(m&&!p.inheritBannerMaxWidth?p.bannerMaxWidth:r):void 0,margin:"auto",display:"flex",justifyContent:"center"===b?"center":"right"===b?"flex-end":void 0,alignItems:"center",position:"relative",flexDirection:c&&d?"left"===s?"row":"right"===s?"row-reverse":"column":void 0}}}(C),!!H&&Z("img",(0,s.Z)({src:H},function(t,e){var n=t.headerDesign,r=n.logoMaxHeight,o=n.logoMargin,i=n.logoFitDim,c=n.logoRetinaFitDim,s=t.customCss.antiAdBlocker,l=t.mobile,d=(t.pageRequestUuid4,e?c:i),f=d?{width:d[0],height:d[1]}:{width:"auto",height:u(l,0,+r)};return{className:"y"===s?void 0:"rcb-logo",style:(0,a.Z)((0,a.Z)({},f),{},{margin:u(l,0,o).map((function(t){return"".concat(t,"px")})).join(" ")})}}(C,W))),!!L&&Z("div",function(t){var e=t.headerDesign,n=e.fontSize,r=e.fontColor,o=e.fontInheritFamily,i=e.fontFamily,a=e.fontWeight;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-headline",style:{color:r,fontSize:u(t.mobile,t.pageRequestUuid4,+n),fontFamily:o?void 0:i,fontWeight:a}}}(C),L),(!!I||!!D)&&Z(S,null)))},B=n(7029).h,I=function(t){var e=t.title,n=t.children,r=(0,h.S)();return B("div",function(t){var e=t.group,n=e.headlineFontSize,r=e.headlineFontColor,o=e.headlineFontWeight;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group",style:{color:r,fontSize:u(t.mobile,t.pageRequestUuid4,n),fontWeight:o,textAlign:"left"}}}(r),e,n&&B("div",function(t){var e=t.design.fontWeight,n=t.group,r=n.descriptionFontColor,o=n.descriptionFontSize;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group-description",style:{color:r,fontSize:u(t.mobile,t.pageRequestUuid4,+o),fontWeight:e,marginTop:5}}}(r),n))};function T(t,e,n,r,o){var i=t.layout.borderRadius,a=t.group,c=a.headlineFontSize,s=a.checkboxBg,l=a.checkboxBorderWidth,d=a.checkboxBorderColor,f=a.checkboxActiveBg,p=a.checkboxActiveBorderColor,h=a.checkboxActiveColor,v=t.customCss.antiAdBlocker,m=t.mobile,b=(t.pageRequestUuid4,u(m,0,o||c)),g=u(m,0,+l),y=+b+2*g+6;return{className:"y"===v?void 0:"rcb-checkbox",style:{cursor:r?"not-allowed":"pointer",opacity:r?.5:void 0,color:n?h:s,display:e?"inline-block":"none",background:n?f:s,border:"".concat(g,"px solid ").concat(n?p:d),padding:3,height:y,width:y,marginRight:10,borderRadius:+i,verticalAlign:"middle",lineHeight:0}}}function D(t,e){var n=t.design.linkTextDecoration,r=t.group,o=r.linkColor,i=r.linkHoverColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group-more",style:{color:e?i:o,textDecoration:n}}}var N=n(4184),P=n(7029).h,R=function(t){var e=t.label,n=t.value,r=t.children,o=(0,h.S)(),i="string"==typeof n&&(0,N.C)(n),a=i?P("a",(0,s.Z)({href:n,style:{lineBreak:i?"anywhere":void 0},target:"_blank",rel:"noopener noreferrer"},D(o,!1)),n):"string"==typeof n?P("span",{dangerouslySetInnerHTML:{__html:n}}):n;return P("div",(0,s.Z)({key:e},function(t){var e=t.group,n=e.groupBorderWidth,r=e.groupBorderColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-cookie-prop",style:{borderLeft:u(t.mobile,t.pageRequestUuid4,n)>0?"1px solid ".concat(r):void 0,paddingLeft:15,wordBreak:"break-all"}}}(o)),e&&P("strong",null,e,": "),a,!!r&&P("div",null,r))},z=n(3251),W=n(3282),H=n(595),L=n(4930),_=n(7029).h,Y=function(t){var e,n=t.group,r=t.cookie,i=r.id,a=r.name,u=r.purpose,l=r.provider,d=r.providerPrivacyPolicy,f=r.legalBasis,p=r.ePrivacyUSA,v=r.noTechnicalDefinitions,m=r.technicalDefinitions,b=r.codeDynamics,g=(0,o.eJ)(!1),x=(0,c.Z)(g,2),k=x[0],w=x[1],C=(0,h.S)(),S=C.ePrivacyUSA,A=C.group.descriptionFontSize,O=C.consent,Z=C.activeAction,E=C.essentialGroup,B=(0,y.u)().bannerI18n,I=(0,z.w)();(0,o.bt)((function(){w(!0)}),[]);var D=E===n.slug,N=D||"history"===Z,P=D||((null===(e=O.groups)||void 0===e?void 0:e[n.id])||[]).some((function(t){return t===i})),Y=(0,o.I4)((function(){return!N&&C.updateCookieChecked(n.id,i,!P)}),[N,C,n,i,P]);return _("div",function(t){return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-cookie",style:{marginTop:10}}}(C),_("div",{style:{marginBottom:10}},_(H.p,(0,s.Z)({icon:W.Z,onClick:Y},T(C,k,P,N,A))),_("strong",{style:{verticalAlign:"middle",cursor:"pointer"},onClick:Y},a)),!!u&&_(R,{label:B.purpose,value:u}),_(R,{label:B.legalBasis,value:"legal-requirement"===f?B.legalRequirement:"legitimate-interest"===f||D?B.legitimateInterest:B.consent}),_(R,{label:B.provider,value:l}),!!d&&_(R,{label:B.providerPrivacyPolicy,value:d}),!!S&&_(R,{label:B.ePrivacyUSA,value:p?B.yes:B.no}),!v&&m.map((function(t){var e=t.type,n=t.name,r=t.host,o=t.duration,i=t.durationUnit,a=t.sessionDuration;return _(R,{key:n,label:B.technicalCookieDefinition,value:_("span",{style:{fontFamily:"monospace"}},(0,L.c)(n,b))},_(R,{label:B.type,value:I[e].name}),!!r&&_(R,{label:B.host,value:_("span",{style:{fontFamily:"monospace"}},r)}),-1===["local","session","indexedDb","flash"].indexOf(e)&&_(R,{label:B.duration,value:a?"Session":"".concat(o," ").concat(B.durationUnit[i])}))})))},F=n(4769),U=n(7029).h,M=function(t){var e,n=t.group,r=(0,h.S)(),i=n.id,a=n.slug,l=n.name,d=n.description,f=n.items,p=(0,o.eJ)(!1),v=(0,c.Z)(p,2),m=v[0],b=v[1],g=(0,o.eJ)(!1),y=(0,c.Z)(g,2),x=y[0],k=y[1],w=(0,o.eJ)(!1),C=(0,c.Z)(w,2),S=C[0],A=C[1],O=r.previewCheckboxActiveState,Z=r.individualTexts,E=Z.showMore,B=Z.hideMore,N=r.consent,P=r.activeAction,R=r.essentialGroup;(0,o.bt)((function(){b(!0)}),[]);var z=R===a,L=z||"history"===P,_=O||z||!!N.groups[i],M=z||JSON.stringify(f.map((function(t){return t.id})).sort())===JSON.stringify((null===(e=N.groups[i])||void 0===e?void 0:e.sort())||[])?W.Z:F.Z,j=(0,o.I4)((function(){return!L&&r.updateGroupChecked(i,!_)}),[L,r,i,_]);return U("div",function(t){var e=t.group,n=e.groupBg,r=e.groupBorderRadius,o=e.groupBorderColor,i=e.groupPadding,a=e.groupBorderWidth,c=e.groupInheritBg,s=t.customCss.antiAdBlocker,l=t.mobile,d=(t.pageRequestUuid4,u(l,0,a));return{className:"y"===s?void 0:"rcb-group",style:{background:c?void 0:n,border:d>0?"".concat(d,"px solid ").concat(o):void 0,padding:u(l,0,i).map((function(t){return"".concat(t,"px")})).join(" "),borderRadius:+r,textAlign:"left"}}}(r),U(I,{title:U(o.HY,null,U(H.p,(0,s.Z)({icon:M,onClick:j},T(r,m,_,L))),U("span",{style:{verticalAlign:"middle",cursor:"pointer"},onClick:j},l," (",f.length,")"))},d,!!f&&U(o.HY,null,"  •  ",U("a",(0,s.Z)({href:"#"},D(r,x),{onClick:function(t){A(!S),t.preventDefault()},onMouseEnter:function(){return k(!0)},onMouseLeave:function(){return k(!1)}}),S?B:E),S&&f.map((function(t){return U(Y,{key:t.id,group:n,cookie:t})})))))},j=n(7029).h,q=function(){var t=(0,h.S)(),e=t.groups,n=t.group.groupSpacing,r=t.mobile,i=(t.pageRequestUuid4,e.filter((function(t){return t.items.length})));return j("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}},i.map((function(t,e){return j(o.HY,{key:t.id},j(M,{key:t.id,group:t}),e!==i.length-1&&j("div",{style:{height:u(r,0,+n)}}))})))},X=n(7029).h,G=function(t){var e=t.group,n=e.id,r=e.slug,i=e.name,a=(0,o.eJ)(!1),l=(0,c.Z)(a,2),d=l[0],f=l[1],p=(0,h.S)(),v=p.decision.groupsFirstView,m=p.design.fontSize,b=p.consent,g=p.essentialGroup,x=(0,y.u)().isPro;(0,o.bt)((function(){f(!0)}),[]);var k=g===r,w=k||!!b.groups[n],C=(0,o.I4)((function(){return x&&v&&!k&&p.updateGroupChecked(n,!w)}),[x,k,p,n,w,v]);return X("span",(0,s.Z)({key:i},function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.dottedGroupsInheritFontSize,o=n.dottedGroupsFontSize;return{className:void 0,style:{paddingRight:10,fontSize:u(t.mobile,t.pageRequestUuid4,r?+e:+o),whiteSpace:"nowrap",display:"inline-block"}}}(p)),X("span",null,x&&v?X(H.p,(0,s.Z)({icon:W.Z,onClick:C},T(p,d,w,k,m))):X(o.HY,null,X("strong",function(t){return{className:void 0,style:{color:t.bodyDesign.dottedGroupsBulletColor}}}(p),"●")," "),X("span",{style:{verticalAlign:"middle",cursor:v?"pointer":void 0},onClick:C},i)))},J=n(7029).h,V=function(){var t=(0,h.S)(),e=t.groups;return J("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}},e.filter((function(t){return!!t.items.length})).map((function(t){return J(G,{key:t.id,group:t})})))},Q=n(7029).h,$=function(){var t,e=(0,h.S)(),n=(0,o.eJ)(-1),r=(0,c.Z)(n,2),i=r[0],a=r[1],l=e.activeAction,f=e.history,p=e.selectHistoryEntry,v=(0,y.u)().bannerI18n,m=v.historyLabel,b=v.historySelectNone;(0,o.d4)((function(){l?"history"===l&&null!=f&&f.length&&a(f[0].id):a(-1)}),[l,f]);var g,x,k,w,C,S,A,O=null==f||null===(t=f[0])||void 0===t?void 0:t.uuid;return Q(o.HY,null,m," ",Q("select",(0,s.Z)({},(k=(x=(g=e).design).fontSize,w=x.fontColor,S=(C=g.bodyDesign).descriptionInheritFontSize,A=C.descriptionFontSize,{className:"y"===g.customCss.antiAdBlocker?void 0:"rcb-history-select",style:{fontSize:u(g.mobile,g.pageRequestUuid4,S?+k:+A),background:"transparent",border:0,color:w,borderBottom:"1px solid ".concat(d(w,50))}}),{disabled:!(null!=f&&f.length),value:i,onChange:function(t){var e=+t.target.value;f.forEach((function(t){var n=t.id,r=t.decision,o=t.groups,i=t.tcf;n===e&&(a(n),p(o,r,i))}))}}),(null==f?void 0:f.length)>0?f.map((function(t){var e=t.id,n=t.isDoNotTrack,r=t.isUnblock,o=t.isForwarded,i=t.created;return Q("option",{key:e,value:e},new Date(i).toLocaleString(document.documentElement.lang),n?" (Do Not Track)":"",r?" (Content Blocker)":"",o?" (Consent Forwarding)":"")})):Q("option",{value:-1},b)),!!O&&Q("div",{style:{opacity:.5,marginTop:5}},"UUID: ",O))};function K(t){var e=t.bodyDesign,n=e.teachingsInheritTextAlign,r=e.teachingsTextAlign,o=e.teachingsInheritFontSize,i=e.teachingsFontSize,a=e.teachingsInheritFontColor,c=e.teachingsFontColor,s=t.customCss.antiAdBlocker,l=t.mobile;t.pageRequestUuid4;return{className:"y"===s?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:n?void 0:r,fontSize:o?void 0:u(l,0,+i),color:a?void 0:c}}}function tt(t,e,n,r){var o=t.name,i=t.order,a=t.fullWidth,c=t.marginLeft,s=t.marginRight,l=t.type,d=t.borderRadius,f=t.bg,p=t.hoverBg,h=t.fontSize,v=t.textAlign,m=t.linkTextDecoration,b=t.fontColor,g=t.fontWeight,y=t.hoverFontColor,x=t.borderWidth,k=t.borderColor,w=t.hoverBorderColor,C=t.padding,S=t.antiAdBlocker,A=(t.pageRequestUuid4,u(e,0,+x)),O={textDecoration:"link"===l?m:"none",borderRadius:+d,cursor:"button"===l?"pointer":void 0,backgroundColor:"button"===l?n?p:f:void 0,fontSize:u(e,0,+h),fontWeight:g,color:n?y:b,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(s,"px ").concat(u(e,0,10,0),"px ").concat(c,"px"),border:"button"===l&&A>0?"".concat(A,"px solid ").concat(n?w:k):void 0,padding:u(e,0,C,0).map((function(t){return"".concat(t,"px")})).join(" "),overflow:"hidden",outline:r?"rgb(255, 94, 94) solid 5px":void 0,flex:a?"1 1 100%":"0 0 calc(50% - ".concat(c+s,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===v?"flex-end":"center"===v?"center":"left",order:i};return{className:"y"===S?void 0:"rcb-btn-".concat(o),style:O}}function et(t,e,n,r){var o=t.isTcf,i=t.decision.acceptEssentials,a=t.layout.borderRadius,c=t.design.linkTextDecoration,s=t.bodyDesign,u=s.acceptEssentialsFontSize,l=s.acceptEssentialsBg,d=s.acceptEssentialsTextAlign,f=s.acceptEssentialsBorderColor,p=s.acceptEssentialsPadding,h=s.acceptEssentialsBorderWidth,v=s.acceptEssentialsFontColor,m=s.acceptEssentialsFontWeight,b=s.acceptEssentialsHoverBg,g=s.acceptEssentialsHoverFontColor,y=s.acceptEssentialsHoverBorderColor,x=s.acceptAllFontWeight,k=s.acceptAllFontSize,w=s.acceptAllPadding,C=t.customCss.antiAdBlocker,S=t.mobile;return tt({name:"accept-essentials",order:r?0:1,fullWidth:!r,marginLeft:0,marginRight:r?5:0,type:i,borderRadius:a,bg:l,hoverBg:b,fontSize:r||o?k:u,textAlign:d,linkTextDecoration:c,fontColor:v,fontWeight:o?x:m,hoverFontColor:g,borderWidth:h,borderColor:f,hoverBorderColor:y,padding:r?w:p,antiAdBlocker:C,pageRequestUuid4:t.pageRequestUuid4},S,e,n)}function nt(t,e,n){var r=t.decision.acceptIndividual,o=t.layout.borderRadius,i=t.design.linkTextDecoration,a=t.bodyDesign,c=a.acceptIndividualFontSize,s=a.acceptIndividualBg,u=a.acceptIndividualTextAlign,l=a.acceptIndividualBorderColor,d=a.acceptIndividualPadding,f=a.acceptIndividualBorderWidth,p=a.acceptIndividualFontColor,h=a.acceptIndividualFontWeight,v=a.acceptIndividualHoverBg,m=a.acceptIndividualHoverFontColor,b=a.acceptIndividualHoverBorderColor,g=t.customCss.antiAdBlocker,y=t.mobile;return tt({name:"accept-individual",order:2,fullWidth:!0,marginLeft:0,marginRight:0,type:r,borderRadius:o,bg:s,hoverBg:v,fontSize:c,textAlign:u,linkTextDecoration:i,fontColor:p,fontWeight:h,hoverFontColor:m,borderWidth:f,borderColor:l,hoverBorderColor:b,padding:d,antiAdBlocker:g,pageRequestUuid4:t.pageRequestUuid4},y,e,n)}function rt(t,e,n){var r=t.isTcf,o=t.layout.borderRadius,i=t.design.linkTextDecoration,a=t.bodyDesign,c=a.acceptAllFontWeight,s=a.acceptAllFontSize,u=t.saveButton,l=u.type,d=u.fontSize,f=u.bg,p=u.textAlign,h=u.borderColor,v=u.padding,m=u.borderWidth,b=u.fontColor,g=u.fontWeight,y=u.hoverBg,x=u.hoverFontColor,k=u.hoverBorderColor,w=t.customCss.antiAdBlocker,C=t.mobile;return tt({name:"accept-individual-save",order:2,fullWidth:!0,marginLeft:0,marginRight:0,type:l,borderRadius:o,bg:f,hoverBg:y,fontSize:r?s:d,textAlign:p,linkTextDecoration:i,fontColor:b,fontWeight:r?c:g,hoverFontColor:x,borderWidth:m,borderColor:h,hoverBorderColor:k,padding:v,antiAdBlocker:w,pageRequestUuid4:t.pageRequestUuid4},C,e,n)}function ot(t,e,n,r){var o=t.decision.acceptAll,i=t.layout.borderRadius,a=t.design.linkTextDecoration,c=t.bodyDesign,s=c.acceptAllFontSize,u=c.acceptAllBg,l=c.acceptAllTextAlign,d=c.acceptAllBorderColor,f=c.acceptAllPadding,p=c.acceptAllBorderWidth,h=c.acceptAllFontColor,v=c.acceptAllFontWeight,m=c.acceptAllHoverBg,b=c.acceptAllHoverFontColor,g=c.acceptAllHoverBorderColor,y=t.customCss.antiAdBlocker,x=t.mobile;return tt({name:"accept-all",order:r?1:0,fullWidth:!r,marginLeft:r?5:0,marginRight:0,type:o,borderRadius:i,bg:u,hoverBg:m,fontSize:s,textAlign:l,linkTextDecoration:a,fontColor:h,fontWeight:v,hoverFontColor:b,borderWidth:p,borderColor:d,hoverBorderColor:g,padding:f,antiAdBlocker:y,pageRequestUuid4:t.pageRequestUuid4},x,e,n)}var it=n(7029).h,at=function(t){var e=t.ms,n=void 0===e?100:e,r=t.chars,i=void 0===r?["&#9719;","&#9718;","&#9717;","&#9716;"]:r,a=(0,o.eJ)(1),s=(0,c.Z)(a,2),u=s[0],l=s[1];return(0,o.d4)((function(){var t=setInterval((function(){l(u+1)}),n);return function(){return clearInterval(t)}}),[u]),it("span",{dangerouslySetInnerHTML:{__html:i[u%4]}})},ct=n(7029).h,st=function(t){var e=t.inlineStyle,n=t.type,r=t.onClick,i=t.children,a=t.framed,u=t.busyOnClick;if("hide"===n)return null;var l=(0,o.eJ)(!1),d=(0,c.Z)(l,2),f=d[0],p=d[1],v=(0,o.I4)((function(){f||(u&&p(!0),null==r||r())}),[r,f,u]),m=(0,o.eJ)(!1),b=(0,c.Z)(m,2),g=b[0],y=b[1],x=(0,h.S)(),k=x.individualPrivacyOpen,w=x.decision,C=w.acceptAll,S=w.acceptEssentials,A=x.bodyDesign.acceptAllOneRowLayout,O={onClick:v,onMouseEnter:function(){return y(!0)},onMouseLeave:function(){return y(!1)}},Z=(0,o.Ye)((function(){switch(e){case"acceptEssentials":return et;case"acceptIndividual":return nt;case"save":return rt;default:return ot}}),[e]);return ct("div",(0,s.Z)({},"button"===n?O:{},Z(x,g,a,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===C||"hide"===S||k)&&A)),ct("span",(0,s.Z)({},{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"keep-all",overflow:"hidden",cursor:"pointer"}},"link"===n?O:{}),f?ct(at,null):i))},ut=n(9295),lt=n(7029).h,dt=function(){var t=(0,h.S)(),e=t.activeAction,n=t.decision,r=t.texts,i=r.acceptAll,a=r.acceptEssentials,c=r.acceptIndividual,s=t.saveButton,u=t.individualTexts,l=t.individualPrivacyOpen,d=t.didGroupFirstChange,f=t.buttonClicked,p=void 0===f?"":f,m=(0,y.u)().isPro,b=v(),g=b.buttonClickedAll,x=b.buttonClickedEssentials,k=b.buttonClickedCustom,w=b.acceptAll,C=b.acceptEssentials,S=b.acceptIndividual,A=b.openIndividualPrivacy,O="change"===e;return lt(o.HY,null,!l&&m&&n.groupsFirstView&&"afterChangeAll"===n.saveButton&&d?lt(st,{onClick:S,type:n.acceptAll,inlineStyle:"acceptAll",framed:p===k,busyOnClick:O},u.save):lt(st,{onClick:w,type:n.acceptAll,inlineStyle:"acceptAll",framed:p===g,busyOnClick:O},i),"change"!==e&&lt(st,{onClick:C,type:n.acceptEssentials,inlineStyle:"acceptEssentials",framed:p===x,busyOnClick:O},a),(l||m&&n.groupsFirstView&&("always"===n.saveButton||"afterChange"===n.saveButton&&d))&&lt(st,{onClick:S,type:s.type,inlineStyle:"save",framed:p===k,busyOnClick:O},u.save),!l&&lt(st,{type:n.acceptIndividual,onClick:A,inlineStyle:"acceptIndividual",framed:p.startsWith("ind_"),busyOnClick:O},c),lt(ut.m,null))},ft=n(9270),pt=n(7029).h,ht=function(){var t,e=(0,h.S)(),n=e.groups,r=e.layout.type,a=e.mobile,c=e.ePrivacyUSA,d=e.ageNotice,f=e.bodyDesign.teachingsSeparatorActive,p=e.texts,v=p.description,m=p.ePrivacyUSA,g=p.ageNoticeBanner,y=p.consentForwardingExternalHosts,x=p.tcfGlobalScope,k=e.renderedHeights,w=k.footerContainer,C=k.headerContainer,S=k.rightSideContainer,A=e.tcf,Z=e.consentForwardingExternalHosts,E=e.individualPrivacyOpen,B=e.individualTexts,I=e.activeAction,T=e.pageRequestUuid4,D=O("rightSideContainer"),N="bnnr-body-leftSide-".concat(T),P="bnnr-body-rightSide-".concat(T),R="cntnt-".concat(T);(0,b.G)(" #".concat(N," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(t=document.getElementById(T))||void 0===t?void 0:t.clientWidth)>700?"":"#".concat(N," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==u(a,0,r)||E?E?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(R," {\n min-height: ").concat(w+C+S+60,"px;\n }\n \n #").concat(P," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(E?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));var z=Z?y.replace(/{{websites}}/g,Z.join(", ")):"",W=A?A.model.isServiceSpecific?"":x:"",H=[E?B.description:v,z,W].filter(Boolean).join(" "),L=(0,ft.Q)(n,A?{gvl:A.gvl,vendorConfigurations:A.original.vendorConfigurations}:void 0,c?m:"",(function(t,e){return(null==t?void 0:t.ePrivacyUSA)||1===(null==e?void 0:e.vendorConfiguration.ePrivacyUSA)}),3,!0),_=(0,o.Ye)((function(){return pt(E?q:V,null)}),[E,A]),Y=pt("div",(0,s.Z)({key:"leftSide",id:N},function(t){var e=t.layout.type,n=t.bodyDesign.padding,r=t.customCss.antiAdBlocker,o=t.mobile,i=t.individualPrivacyOpen,a=t.activeAction,c=(t.pageRequestUuid4,u(o,0,e)),s=u(o,0,n);return{className:"y"===r?void 0:"rcb-tb-left",style:{float:"banner"===c&&"history"!==a?"left":void 0,width:"banner"===c&&"history"!==a?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===c?20:void 0,paddingTop:+s[0],paddingBottom:"banner"===c||i?+s[2]:0}}}(e)),!!H&&pt(o.HY,null,pt("div",function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.descriptionInheritFontSize,o=n.descriptionFontSize,i=t.individualLayout.descriptionTextAlign,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.individualPrivacyOpen;return{className:"y"===a?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:u(c,t.pageRequestUuid4,r?+e:+o),textAlign:s?i:void 0}}}(e),"history"===I?pt($,null):pt(o.HY,null,pt("span",{dangerouslySetInnerHTML:{__html:H}}),(c||d)&&pt(o.HY,null,f&&pt("div",null,pt("span",function(t){var e=t.layout.borderRadius,n=t.bodyDesign,r=n.teachingsSeparatorActive,o=n.teachingsSeparatorWidth,i=n.teachingsSeparatorHeight,a=n.teachingsSeparatorColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+e,width:+o,height:r?+i:0,background:a}}}(e))),!!L&&pt("span",(0,s.Z)({},K(e),{dangerouslySetInnerHTML:{__html:L}})),d&&!!g&&pt("span",(0,s.Z)({},K(e),{dangerouslySetInnerHTML:{__html:g}})))))),_),F="history"===I?pt("div",{ref:D}):pt("div",(0,s.Z)({ref:D,key:"rightSide",id:P},function(t){var e,n=t.layout,r=n.type,o=n.dialogMaxWidth,a=t.design,c=a.borderWidth,s=a.bg,d=a.fontColor,f=t.headerDesign,p=t.footerDesign,h=t.bodyDesign.padding,v=t.individualLayout.inheritDialogMaxWidth,m=t.customCss.antiAdBlocker,b=t.mobile,g=t.renderedHeights,y=g.headerContainer,x=g.footerContainer,k=t.individualPrivacyOpen,w=(t.pageRequestUuid4,u(b,0,r)),C=u(b,0,c),S=u(b,0,h,0),A=l(d),O=A.r,Z=A.g,E=A.b,B="dialog"===w?+o-S[1]-S[3]-2*C:300;return{className:"y"===m?void 0:"rcb-tb-right",style:(e={background:s,paddingTop:"banner"===w||k?+S[0]:10,paddingBottom:k?10:+S[2],float:"banner"===w||k?"right":void 0,maxWidth:B,width:B,margin:"dialog"===w&&k&&!v?"0 0 10px 10px":void 0,position:k?void 0:"sticky"},(0,i.Z)(e,k?"top":"bottom",k?+y+u(b,0,f.borderWidth):+x+u(b,0,p.borderWidth)),(0,i.Z)(e,"zIndex",1),(0,i.Z)(e,"display","flex"),(0,i.Z)(e,"flexWrap","wrap"),(0,i.Z)(e,"transition","box-shadow ease-in-out .1s"),(0,i.Z)(e,"--boxShadowShowScroll","0 -15px 15px -15px rgba(".concat(O,", ").concat(Z,", ").concat(E,", 0.3)")),e)}}(e)),pt(dt,null));return pt("div",function(t){var e=t.layout.type,n=t.design,r=n.bg,o=n.borderWidth,i=n.borderColor,a=t.bodyDesign.padding,c=t.customCss.antiAdBlocker,s=t.mobile,l=(t.pageRequestUuid4,u(s,0,o)),d={background:r,padding:u(s,0,a).map((function(t,e){return"".concat([0,2].indexOf(e)>-1?0:t,"px")})).join(" "),lineHeight:1.4};return"dialog"===u(s,0,e)&&l>0&&(d.borderLeft="".concat(l,"px solid ").concat(i),d.borderRight=d.borderLeft),{className:"y"===c?void 0:"rcb-body-container",style:d}}(e),pt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.individualPrivacyOpen;return{className:"y"===i?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===u(a,t.pageRequestUuid4,n)?+(c&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto"}}}(e),E?[F,Y]:[Y,F],pt("div",{style:{clear:"both"}})))},vt=n(9549),mt=n(713),bt=n(7029).h,gt=function(t){var e=t.children,n=(0,f.Z)(t,["children"]),r=(0,h.S)(),i=(0,o.eJ)(!1),a=(0,c.Z)(i,2),l=a[0],d=a[1];return bt("a",(0,s.Z)({onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)}},function(t){var e=t.footerDesign,n=e.fontSize,r=e.fontColor,o=e.hoverFontColor,i=e.fontInheritFamily,a=e.fontFamily,c=t.design.linkTextDecoration,s=t.customCss.antiAdBlocker,l=t.mobile,d=(t.pageRequestUuid4,arguments.length>1&&void 0!==arguments[1]&&arguments[1]),f={textDecoration:c,fontSize:u(l,0,+n),color:d?o:r,fontFamily:i?void 0:a,padding:"0 5px"};return{className:"y"===s?void 0:"rcb-footer-link",style:f}}(r,l),n),e)},yt=n(7029).h,xt=function(){var t=(0,h.S)(),e=(t.isTcf,t.layout.type),n=t.mobile,r=t.legal,i=t.footerDesign,a=i.poweredByLink,c=i.linkTarget,l=(t.individualPrivacyOpen,t.updateIndividualPrivacyOpen,t.poweredLink),d=t.isConsentRecord,f=t.onClose,p=(t.pageRequestUuid4,(0,y.u)()),v=p.bannerI18n,m=v.close,b=(v.tcf,p.affiliate),x=O("footerContainer"),k=u(n,0,e),w=(0,o.I4)((function(t){f(),t.preventDefault()}),[f]),C="_blank"===c?{target:"_blank",rel:"noopener"}:{},S=(0,mt.X)(r),A=S.linkPrivacyPolicy,Z=S.linkImprint,E=[[d&&yt(gt,{href:"#",onClick:w,key:"close"},yt("strong",null,m)),!1,A&&yt(gt,(0,s.Z)({href:A.url},C,{key:"privacyPolicy"}),A.label),Z&&yt(gt,(0,s.Z)({href:Z.url},C,{key:"imprint"}),Z.label)].filter(Boolean),[]];return l&&a&&E["banner"===k?0:1].push(yt(gt,{href:b?b.link:l.href,target:l.target,key:"powered-by"},yt("span",{dangerouslySetInnerHTML:{__html:l.innerHTML}}),b&&yt(g.z,{title:b.description,position:"top-left"}," ",b.labelBehind))),yt("div",(0,s.Z)({ref:x},function(t){var e=t.layout,n=e.type,r=e.dialogBorderRadius,o=t.design,i=t.footerDesign,a=i.inheritBg,c=i.bg,s=i.inheritTextAlign,l=i.textAlign,d=i.padding,f=i.fontSize,p=i.fontColor,h=i.fontWeight,v=t.customCss.antiAdBlocker,m=t.mobile,b=(t.pageRequestUuid4,u(m,0,n)),g=u(m,0,o.borderWidth),y={padding:u(m,0,d,0).map((function(t){return"".concat(t,"px")})).join(" "),background:a?o.bg:c,borderRadius:"dialog"===b?"0 0 ".concat(r,"px ").concat(r,"px"):void 0,fontSize:u(m,0,+f),fontWeight:h,color:p,textAlign:s?o.textAlign:l,position:"sticky",bottom:0,zIndex:1};return"dialog"===b&&g>0&&(y.borderBottom="".concat(g,"px solid ").concat(o.borderColor),y.borderLeft=y.borderBottom,y.borderRight=y.borderBottom),{className:"y"===v?void 0:"rcb-footer-container",style:y}}(t)),yt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=(t.pageRequestUuid4,t.individualPrivacyOpen);return{className:"y"===i?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===u(a,0,n)?+(c&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto",lineHeight:1.8}}}(t),(0,vt.e)(E.map((function(t){return t.length?yt(o.HY,{key:t[0].key},(0,vt.e)(t,yt(o.HY,null," • "))):null})),yt("br",null))))},kt=n(7029).h,wt=function(){var t,e=(0,h.S)(),n=e.layout,r=n.type,i=n.dialogBorderRadius,a=e.decision,l=a.acceptEssentials,d=a.showCloseIcon,f=e.mobile,p=e.individualPrivacyOpen,v=e.design.bg,m=e.bodyDesign.teachingsFontColor,g=e.activeAction,y=e.pageRequestUuid4,x="bnnr-body-rightSide-".concat(y),k="cntnt-".concat(y),w=(0,o.sO)(),C=w.current,S=!0;!f.hideHeader||g||p||"hide"===l&&d||(S=u(f,0,S));var A=(0,o.eJ)(!1),O=(0,c.Z)(A,2),Z=O[0],B=O[1],I=(0,o.I4)((function(){if(C){var t=C.clientHeight,e=C.scrollHeight,n=C.scrollTop,r=C.offsetHeight,o=t<e,i=Math.ceil(n+r)>=e,a=o&&!i&&!p;Z!==a&&B(a)}}),[C,p,Z]);return I(),(0,o.bt)((function(){return C?(C.addEventListener("scroll",I),function(){return C.removeEventListener("scroll",I)}):function(){}}),[C,I]),(0,b.G)(Z&&(null===(t=document.getElementById(y))||void 0===t?void 0:t.clientWidth)<700?"#".concat(x," {box-shadow:var(--boxShadowShowScroll);}"):""),(0,b.G)("Win32"===navigator.platform&&"dialog"===r&&i>0?["#".concat(k,"{overflow:overlay!important;}"),"#".concat(k,"::-webkit-scrollbar{width:11px;}"),"#".concat(k,"{scrollbar-width:thin;scrollbar-color:").concat(m," transparent;}"),"#".concat(k,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(k,"::-webkit-scrollbar-thumb{background-color:").concat(m,";border-radius:").concat(i,"px;border:3px solid ").concat(v,";}"),"#".concat(k,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):""),kt("div",(0,s.Z)({},function(t){var e,n=t.layout.type,r=t.customCss.antiAdBlocker,o=t.decision.showCloseIcon,i=t.activeAction,a=(t.individualPrivacyOpen,t.mobile),c=t.pageRequestUuid4,s=(null===(e=document.getElementById(c))||void 0===e?void 0:e.clientHeight)||window.innerHeight,l=(a.maxHeight,o||i?51:0);return{className:"y"===r?void 0:"rcb-content",style:{position:"relative",maxHeight:u(a,0,s-("banner"===n?0:20)-l),overflow:"auto"}}}(e),{ref:w,id:k}),S&&kt(o.HY,null,kt(E,null),kt("div",function(t){var e=t.layout.type,n=t.design,r=t.headerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,s=(t.pageRequestUuid4,t.renderedHeights.headerContainer),l=u(c,0,n.borderWidth),d={height:u(c,0,+o),background:i,position:"sticky",top:+s,zIndex:9};return"dialog"===u(c,0,e)&&l>0&&(d.borderLeft="".concat(l,"px solid ").concat(n.borderColor),d.borderRight=d.borderLeft),{className:"y"===a?void 0:"rcb-header-separator",style:d}}(e))),kt(ht,null),kt("div",function(t){var e=t.layout.type,n=t.design,r=t.footerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,s=(t.pageRequestUuid4,t.renderedHeights.footerContainer),l=u(c,0,n.borderWidth),d={height:u(c,0,+o),background:i,position:"sticky",bottom:+s};return"dialog"===u(c,0,e)&&l>0&&(d.borderLeft="".concat(l,"px solid ").concat(n.borderColor),d.borderRight=d.borderLeft),{className:"y"===a?void 0:"rcb-footer-separator",style:d}}(e)),kt(xt,null))};function Ct(t,e){var n=(0,o.eJ)(0),r=(0,c.Z)(n,2),i=r[0],a=r[1],s=(0,o.eJ)(0),u=(0,c.Z)(s,2),l=u[0],d=u[1],f=(0,o.eJ)(t),p=(0,c.Z)(f,2),h=p[0],v=p[1],m=(0,o.eJ)(void 0),b=(0,c.Z)(m,2),g=b[0],y=b[1],x=(0,o.eJ)(e),k=(0,c.Z)(x,2),w=k[0],C=k[1],S=(0,o.eJ)(void 0),A=(0,c.Z)(S,2),O=A[0],Z=A[1];return(0,o.d4)((function(){i>0&&("none"===t?v(t):(v("none"),y(t))),a(i+1)}),[t]),(0,o.d4)((function(){l>0&&(0===e?C(e):(C(0),Z(e),v("none"),y(t))),d(l+1)}),[e]),(0,o.d4)((function(){void 0!==g&&(v(g),y(void 0))}),[g]),(0,o.d4)((function(){void 0!==O&&(C(O),Z(void 0))}),[O]),[h,w]}var St=n(7938),At=n(5450),Ot=n.n(At),Zt=n(5194),Et=n(2992),Bt={path:"/consent",method:Et.O.GET},It=n(86),Tt=n(784),Dt=n(8527),Nt='[href^="#consent-"]',Pt=n(7029).h;function Rt(t){var e=t.isVisible,n=t.animationIn,r=t.animationOut,o=t.animationInDuration,i=t.animationOutDuration,a=t.animationInDelay,c=t.animationOutDelay;return e?{animation:n,duration:o,delay:a}:{animation:r,duration:i,delay:c}}var zt=function(t){var e=t.animateOnMount,n=void 0===e||e,r=t.isVisible,i=void 0===r||r,s=t.animationIn,u=void 0===s?"fadeIn":s,l=t.animationOut,d=void 0===l?"fadeOut":l,f=t.animationInDelay,p=void 0===f?0:f,h=t.animationOutDelay,v=void 0===h?0:h,m=t.animationInDuration,b=void 0===m?1e3:m,g=t.animationOutDuration,y=void 0===g?1e3:g,x=t.className,k=void 0===x?"":x,w=t.style,C=void 0===w?{}:w,S=t.children,A=(0,o.eJ)(n?Rt({isVisible:i,animationIn:u,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:b,animationOutDuration:y}):{animation:"",delay:void 0,duration:0}),O=(0,c.Z)(A,2),Z=O[0],E=Z.animation,B=Z.duration,I=Z.delay,T=O[1];(0,o.d4)((function(){T(Rt({isVisible:i,animationIn:u,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:b,animationOutDuration:y}))}),[i,u,d,p,v,b,y]);var D="animate__animated animate__".concat(E," ").concat(k),N=E?{}:{opacity:i?1:0,transition:"opacity ".concat(I,"ms")};return Pt("div",{className:D,style:(0,a.Z)((0,a.Z)({animationDelay:"".concat(I,"ms"),animationDuration:"".concat(B,"ms"),pointerEvents:i?"all":"none"},C),N)},S)};function Wt(t){var e=t.legal,n=e.imprint,r=e.imprintHide,o=e.privacyPolicy,i=e.privacyPolicyHide,a=t.pageId;return[r&&+n,i&&+o].filter(Boolean).indexOf(a)>-1}var Ht=n(8055),Lt=n(7029).h,_t=function(){var t=(0,h.S)(),e=((0,y.u)().isPro,t.layout),n=e.animationIn,r=e.animationInDuration,a=e.animationOut,l=e.animationOutDuration,f=e.overlay,p=(e.overlayBlur,t.customCss),v=p.antiAdBlocker,m=p.css,g=t.visible,x=t.animationVisible,k=t.activeAction,w=t.skipOverlay,C=t.gotHiddenDueLegal,S=t.pageRequestUuid4,A=t.individualPrivacyOpen,O=Ct(n,r),Z=(0,c.Z)(O,2),E=Z[0],B=Z[1],I=Ct("none"===a?"fadeOut":a,"none"===a?0:l),T=(0,c.Z)(I,2),D=T[0],N=T[1],P=Wt(t),R=g&&!P||!!k;(0,b.G)(v?m:""),(0,b.G)("#".concat(S,", #").concat(S," * {box-sizing: border-box;}")),function(t){(0,o.d4)((function(){var e=document.body,n=e.dataset,r=e.style;void 0===n.rcbPreviousOverflow&&(n.rcbPreviousOverflow=r.overflow),r.overflow=t?"hidden":n.rcbPreviousOverflow,document.body.parentElement.style.overflow=r.overflow}),[t])}(R&&f&&x);var z,W,H,L,_=(0,o.eJ)(0),Y=(0,c.Z)(_,2)[1],F=function(){return Y(+new Date)};if((0,o.bt)((function(){return window.addEventListener("resize",F),function(){return window.removeEventListener("resize",F)}}),[]),(0,o.bt)((function(){(0,Ht.s)(1e3)}),[x,A]),C&&(0,o.d4)((function(){C(P)}),[P]),function(){var t=(0,h.S)(),e=t.consent,n=t.groups,r=t.tcf,i=t.activeAction,a=t.selectHistoryEntry,s=t.setHistory,u=(0,o.eJ)({consent:e,groups:n,tcf:r}),l=(0,c.Z)(u,2),d=l[0],f=l[1];(0,o.d4)((function(){i||f({consent:e,groups:n,tcf:r})}),[e,n,r,i]),(0,o.d4)((function(){function t(){return(t=(0,St.Z)(Ot().mark((function t(){var e,n,r,o,i,u,l,d,f,p,h;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,Zt.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce,t.next=3,(0,It.D)({location:Bt,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1});case 3:u=t.sent,s(u),u.length?(l=(0,c.Z)(u,1),d=l[0],f=d.groups,p=d.decision,h=d.tcf,a(f,p,h)):a([],[]);case 6:case"end":return t.stop()}}),t)})))).apply(this,arguments)}if("history"===i)f({consent:e,groups:n,tcf:r}),function(){t.apply(this,arguments)}();else{var o=d.groups,u=d.consent.groups,l=d.tcf;null==a||a(o,u,l)}}),[i])}(),z=(0,h.S)(),W=z.openBanner,H=z.openHistory,L=z.revokeConsent,(0,o.d4)((function(){var t=function(t,e,n){switch(t){case"change":W(n);break;case"history":H(n);break;case"revoke":L(e,n)}},e=function(e){if(W){var n=e.target;(0,Tt.w)(n,Nt).concat((0,Dt.D)(n,Nt)?[n]:[]).forEach((function(n){t(n.getAttribute("href").slice(9),n.getAttribute("data-success-message"),e)})),(0,Dt.D)(n,".rcb-sc-link")&&t(n.getAttribute("href").slice(1),n.getAttribute("data-success-message"),e)}};return document.addEventListener("click",e,!0),function(){document.removeEventListener("click",e,!0)}}),[W,H,L]),!R)return null;var U=Lt("div",function(t){var e=t.layout,n=e.type,r=e.dialogPosition,o=t.customCss.antiAdBlocker,i={display:"flex",width:"100%",height:"100%"};return"dialog"===u(t.mobile,t.pageRequestUuid4,n)&&(i.alignItems=r.startsWith("top")?"flex-start":r.startsWith("bottom")?"flex-end":"center",i.justifyContent=r.endsWith("Center")?"center":r.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===o?"":"rcb-align"),style:i}}(t),Lt(zt,(0,s.Z)({animationIn:E,animationInDuration:B,animationOut:D,animationOutDuration:N,isVisible:x},function(t){var e=t.layout,n=e.type,r=e.dialogMaxWidth,o=e.dialogPosition,a=e.dialogMargin,c=e.bannerPosition,s=e.dialogBorderRadius,l=t.design,f=l.borderWidth,p=l.borderColor,h=l.textAlign,v=l.fontColor,m=l.fontInheritFamily,b=l.fontFamily,g=l.fontWeight,y=l.boxShadowEnabled,x=l.boxShadowOffsetX,k=l.boxShadowOffsetY,w=l.boxShadowBlurRadius,C=l.boxShadowSpreadRadius,S=l.boxShadowColor,A=l.boxShadowColorAlpha,O=t.individualLayout,Z=t.customCss.antiAdBlocker,E=t.mobile,B=(t.pageRequestUuid4,t.individualPrivacyOpen),I=(E.alignment,u(E,0,n)),T=u(E,0,f),D="dialog"===I?+(B&&!O.inheritDialogMaxWidth?O.dialogMaxWidth:r):"100%",N=(0,i.Z)({pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:D,textAlign:h,width:D,overflow:"hidden",alignSelf:u(E,0,"banner"===I?"top"===c?"flex-start":"flex-end":void 0),fontFamily:m?void 0:b,fontWeight:g,color:v,margin:"dialog"===I?10:void 0,borderRadius:"dialog"===I?+s:void 0,boxShadow:y?"".concat(x,"px ").concat(k,"px ").concat(w,"px ").concat(C,"px ").concat(d(S,A)):void 0},"banner"===I?"top"===c?"borderBottom":"borderTop":"border","banner"===I&&T>0?"".concat(T,"px solid ").concat(p):void 0);return"dialog"===I&&"middleCenter"!==o&&(N.margin=a.map((function(t){return"".concat(t,"px")})).join(" ")),{className:"y"===Z?void 0:"rcb-inner",style:N}}(t)),Lt(wt,null)));return w?U:Lt("div",(0,s.Z)({id:S},function(t){var e=t.layout,n=e.type,r=e.overlay,o=e.overlayBg,i=e.overlayBgAlpha,a=t.design.fontSize,c=t.customCss.antiAdBlocker,s=t.mobile;t.pageRequestUuid4;return{className:"y"===c?void 0:"rcb-bann3r rcb-bann3r-".concat(u(s,0,n)," ").concat(r?"":"overlay-deactivated"),style:{background:r?d(o,i):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:99999,pointerEvents:r?"all":"none",fontSize:u(s,0,+a)}}}(t)),U)},Yt=n(9747);function Ft(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=(0,y.u)(),n=e.groups,r=e.essentialGroup,o=n.filter((function(t){return t.slug===r})),a=(0,c.Z)(o,1),s=a[0],u=(0,i.Z)({},s.id,s.items.map((function(t){return t.id})));if(t){var l,d=(0,p.Z)(n);try{for(d.s();!(l=d.n()).done;){var f=l.value;if(f!==s){var h=f.items.filter((function(t){return"legitimate-interest"===t.legalBasis})).map((function(t){return t.id}));h.length&&(u[f.id]=h)}}}catch(t){d.e(t)}finally{d.f()}}return u}var Ut=n(7051),Mt=n(6341),jt=function(){var t=(0,St.Z)(Ot().mark((function t(){return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!(0,Mt.E)()&&"essentials");case 1:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),qt=function(){var t=(0,St.Z)(Ot().mark((function t(){var e;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=document.body.className,t.abrupt("return",e.indexOf("login-action-")>-1&&"consent");case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),Xt=n(4717),Gt=n.n(Xt);function Jt(){var t=navigator.userAgent;return!!t&&!/chrome-lighthouse/i.test(t)&&Gt()(t)}var Vt=n(3532).default;function Qt(t,e){return new Vt((function(n,r){t.then(n,r);var o=new Error("Timed out");setTimeout(r,e,o)}))}var $t=n(2624),Kt={path:"/consent/dynamic-predecision",method:Et.O.GET},te=function(){var t=(0,St.Z)(Ot().mark((function t(){var e,n,r,o,i,a,c,s,u,l,d,f,p,h,v;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=(0,Zt.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce,a=e.others,c=a.revisionHash,s=a.hasDynamicPreDecisions,!Jt()&&s){t.next=3;break}return t.abrupt("return",!1);case 3:if(!(u=(0,$t.h)())){t.next=8;break}if(l=u.revision,c!==l){t.next=8;break}return t.abrupt("return","consent");case 8:return d=document.documentElement,f=d.clientWidth,p=d.clientHeight,t.prev=9,t.next=12,Qt((0,It.D)({location:Kt,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1,request:{viewPortWidth:f,viewPortHeight:p},params:{_wp_http_referer:window.location.href}}),1e4);case 12:return h=t.sent,v=h.predecision,t.abrupt("return",v);case 17:return t.prev=17,t.t0=t.catch(9),t.abrupt("return",!1);case 20:case"end":return t.stop()}}),t,null,[[9,17]])})));return function(){return t.apply(this,arguments)}}(),ee=function(){var t=(0,St.Z)(Ot().mark((function t(e){return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!!Wt(e)&&"consent");case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),ne=function(){var t=(0,St.Z)(Ot().mark((function t(){var e,n;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,y.u)(),n=(0,$t.h)(),t.abrupt("return",!(!e.isPreventPreDecision||!1!==n)&&(Jt()?"all":"consent"));case 3:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),re=function(){var t=(0,St.Z)(Ot().mark((function t(){var e,n;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=(0,y.u)(),n=e.isAcceptAllForBots,!1===(0,$t.h)()&&n){t.next=3;break}return t.abrupt("return",!1);case 3:return t.abrupt("return",!!Jt()&&"all");case 4:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();function oe(){try{var t=window;if((t.doNotTrack||t.navigator.doNotTrack||t.navigator.msDoNotTrack||"msTrackingProtectionEnabled"in t.external)&&("1"==t.doNotTrack||"yes"==t.navigator.doNotTrack||"1"==t.navigator.doNotTrack||"1"==t.navigator.msDoNotTrack||t.external.msTrackingProtectionEnabled()))return!0}catch(t){}return!1}var ie=function(){var t=(0,St.Z)(Ot().mark((function t(){var e,n,r,o,i,a,s,u,l,d,f,h;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=(0,y.u)(),n=e.isRespectDoNotTrack,r=e.groups,o=e.essentialGroup,i=r.filter((function(t){return t.slug===o})),a=(0,c.Z)(i,1),s=a[0],!1===(0,$t.h)()&&n){t.next=4;break}return t.abrupt("return",!1);case 4:u=(0,p.Z)(r),t.prev=5,u.s();case 7:if((l=u.n()).done){t.next=29;break}if((d=l.value)===s){t.next=27;break}f=(0,p.Z)(d.items),t.prev=11,f.s();case 13:if((h=f.n()).done){t.next=19;break}if("legitimate-interest"!==h.value.legalBasis){t.next=17;break}return t.abrupt("return",!1);case 17:t.next=13;break;case 19:t.next=24;break;case 21:t.prev=21,t.t0=t.catch(11),f.e(t.t0);case 24:return t.prev=24,f.f(),t.finish(24);case 27:t.next=7;break;case 29:t.next=34;break;case 31:t.prev=31,t.t1=t.catch(5),u.e(t.t1);case 34:return t.prev=34,u.f(),t.finish(34);case 37:return t.abrupt("return",!!oe()&&"dnt");case 38:case"end":return t.stop()}}),t,null,[[5,31,34,37],[11,21,24,27]])})));return function(){return t.apply(this,arguments)}}(),ae=function(){var t=(0,St.Z)(Ot().mark((function t(){var e,n,r,o;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!1!==(e=(0,$t.h)())){t.next=3;break}return t.abrupt("return",!1);case 3:return n=e.revision,r=(0,y.u)(),o=r.revisionHash,t.abrupt("return",o===n&&"consent");case 6:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),ce=n(7248),se=n(996);var ue=n(7029).h,le=function(t){var e=t.poweredLink,n=(0,$t.h)(),r=(0,y.u)(),s=r.customizeValuesBanner,u=s.layout,l=s.decision,d=s.legal,f=s.design,p=s.headerDesign,v=s.bodyDesign,m=s.footerDesign,b=s.texts,g=s.individualLayout,x=s.saveButton,k=s.group,w=s.individualTexts,C=s.customCss,S=s.mobile,A=r.pageId,O=r.pageRequestUuid4,Z=r.pageIdToPermalink,E=r.consentForwardingExternalHosts,B=r.essentialGroup,I=r.isTcf,T=r.isEPrivacyUSA,D=r.isAgeNotice,N=r.tcf,P=r.tcfMetadata,R=r.groups,z=r.isRefreshSiteAfterConsent,W=function(t,e,n){return(0,o.Ye)((function(){}),[t,e,n])}(I,N,P),H=function(){var t=(0,y.u)().pageRequestUuid4,e=document.getElementById(t),n=(0,o.I4)((function(t,n){var r=t.layout,o=r.animationIn,i=r.animationInDuration,c=r.animationOut,s=r.animationOutDuration,u=n?"none"===o?0:i:"none"===c?0:s;u>0&&(e.style.transition="background ".concat(u,"ms")),e.style.background="transparent",n?(setTimeout((function(){e.style.display="block"}),0),setTimeout((function(){var t=e.getAttribute("data-bg");e.style.background=t?t.split(":")[1].trim().replace(";",""):"transparent"}),100)):setTimeout((function(){e.style.display="none"}),u);var l={animationVisible:n};return n?(0,a.Z)({visible:!0},l):l}),[]);return{overlay:e,toggleOverlay:n}}(),L=H.toggleOverlay,_=(0,o.eJ)({layout:(0,a.Z)({},u),decision:(0,a.Z)({},l),legal:(0,a.Z)({},d),design:(0,a.Z)({},f),headerDesign:(0,a.Z)({},p),bodyDesign:(0,a.Z)({},v),footerDesign:(0,a.Z)({},m),texts:(0,a.Z)({},b),individualLayout:(0,a.Z)({},g),saveButton:(0,a.Z)({},x),group:(0,a.Z)({},k),individualTexts:(0,a.Z)({},w),customCss:(0,a.Z)({},C),mobile:(0,a.Z)({},S),pageRequestUuid4:O,pageIdToPermalink:Z,consentForwardingExternalHosts:E,pageId:A,isTcf:I,ePrivacyUSA:T,ageNotice:D,tcf:W,tcfFilterBy:"legInt",updateTcfFilterBy:function(t){U((function(e){return(0,a.Z)((0,a.Z)({},e),{},{tcfFilterBy:t})}))},groups:R,essentialGroup:B,poweredLink:e,visible:!1,animationVisible:!0,skipOverlay:!0,previewCheckboxActiveState:!1,individualPrivacyOpen:!1,updateIndividualPrivacyOpen:function(t){U((function(e){return(0,a.Z)((0,a.Z)({},e),{},{individualPrivacyOpen:t})}))},renderedHeights:{headerContainer:0,footerContainer:0,rightSideContainer:0},updateRenderedHeight:function(t,e){U((function(n){return(0,a.Z)((0,a.Z)({},n),{},{renderedHeights:(0,a.Z)((0,a.Z)({},n.renderedHeights),{},(0,i.Z)({},t,e))})}))},consent:{groups:(0,a.Z)((0,a.Z)({},!1===n?{}:n.consent),Ft(!1===n))},didGroupFirstChange:!1,updateGroupChecked:function(t,e){U((function(n){var r=JSON.parse(JSON.stringify(n.consent));return e?r.groups[t]=n.groups.filter((function(e){return e.id===t}))[0].items.map((function(t){return t.id})):delete r.groups[t],(0,a.Z)((0,a.Z)({},n),{},{consent:r,didGroupFirstChange:!0})}))},updateCookieChecked:function(t,e,n){U((function(r){var o=JSON.parse(JSON.stringify(r.consent));o.groups[t]||(o.groups[t]=[]);var i=o.groups[t],c=i.indexOf(e);return n&&-1===c?i.push(e):!n&&c>-1&&i.splice(c,1),i.length||delete o.groups[t],(0,a.Z)((0,a.Z)({},r),{},{consent:o})}))},onSave:function(t,e){U((function(n){var r=(0,Yt.$)({consent:n.consent,markAsDoNotTrack:t,buttonClicked:e,tcfString:void 0});return z||n.refreshSiteAfterSave?(r.then((function(){return setTimeout((function(){return window.location.reload()}),n.refreshSiteAfterSave||2e3)})),n):(0,a.Z)((0,a.Z)({},n),L(n,!1))}))},onClose:function(){U((function(t){return(0,a.Z)((0,a.Z)((0,a.Z)({},t),L(t,!1)),{},{refreshSiteAfterSave:!1})}))},setHistory:function(t){U((function(e){return(0,a.Z)((0,a.Z)({},e),{},{history:t})}))},selectHistoryEntry:function(t,e,n){U((function(r){var o={isTcf:!!n,tcf:null};return(0,a.Z)((0,a.Z)({},r),{},{groups:t,consent:(0,a.Z)((0,a.Z)({},r.consent),{},{groups:e})},o)}))}}),Y=(0,c.Z)(_,2),F=Y[0],U=Y[1];!function(t,e){(0,o.Ye)((function(){var n=function(n){return t((function(t){return(0,a.Z)((0,a.Z)({},t),{},{activeAction:n,individualPrivacyOpen:!0,refreshSiteAfterSave:"change"===n&&2e3},e(t,!0))}))},r=function(t){t&&(t.preventDefault(),t.stopPropagation())},o={openHistory:function(t){n("history"),r(t)},openBanner:function(t){n("change"),r(t)},revokeConsent:function(e,n){t((function(t){return t.tcf,(0,St.Z)(Ot().mark((function t(){return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=4,(0,Yt.$)({consent:{groups:Ft(!0)},buttonClicked:"shortcode_revoke",tcfString:void 0});case 4:e&&alert(e),setTimeout((function(){return window.location.reload()}),2e3);case 6:case"end":return t.stop()}}),t)})))(),t})),r(n)}};t((function(t){return(0,a.Z)((0,a.Z)({},t),o)}))}),[t,e])}(U,L),function(t,e,n){!(0,y.u)().customizeIdsBanner&&(0,o.d4)((function(){(0,St.Z)(Ot().mark((function r(){var o,i,c,s,u,l;return Ot().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=t.onSave,i=!0,c=0,s=[jt,qt,te,ee,ne,re,ie,ae];case 4:if(!(c<s.length)){r.next=16;break}return u=s[c],r.next=8,u(t);case 8:if(!1===(l=r.sent)){r.next=13;break}return i=!1,"all"===l?(0,ce.k)("all"):"essentials"===l?(0,ce.k)("essentials"):"dnt"===l?o(u===ie,"none"):"consent"===l&&(0,ce.k)("consent"),r.abrupt("break",16);case 13:c++,r.next=4;break;case 16:if(!i){r.next=21;break}return e((function(t){return(0,a.Z)((0,a.Z)({},t),{},{consent:{groups:Ft()}},n(t,!0))})),r.next=20,(0,Ut.C)();case 20:document.dispatchEvent(new CustomEvent(se.I,{detail:{}}));case 21:case"end":return r.stop()}}),r)})))()}),[])}(F,U,L);var M=h.k.Context();return ue(M.Provider,{value:F},ue(_t,null))},de=n(8865),fe=n(4052),pe=n(2785),he=n(3532).default;function ve(t){return me.apply(this,arguments)}function me(){return me=(0,St.Z)(Ot().mark((function t(e){var n,r,o,i=arguments;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=i.length>1&&void 0!==i[1]?i[1]:500,r=i.length>2&&void 0!==i[2]?i[2]:0,o=0;case 3:if(e()){t.next=11;break}if(!(r>0&&o>=r)){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,new he((function(t){return setTimeout(t,n)}));case 8:o++,t.next=3;break;case 11:return t.abrupt("return",e());case 12:case"end":return t.stop()}}),t)}))),me.apply(this,arguments)}var be=0,ge=n(2207),ye=n(3657),xe=n(373),ke=n(3421),we=n(3416);function Ce(t,e,n){var r,o=[],i=(0,y.u)(),a=i.groups,c=i.revisionHash,s=a.map((function(t){return t.items})).flat(),u=(0,p.Z)(s);try{for(u.s();!(r=u.n()).done;){var l=r.value;if("number"==typeof t)l.id===t&&o.push({cookie:l,relevance:10});else{var d=l.technicalDefinitions;if(null!=d&&d.length){var f,h=(0,p.Z)(d);try{for(h.s();!(f=h.n()).done;){var v=f.value,m=(0,we.D)(v.name);if(v.type===t&&(v.name===e||e.match(m))&&(v.host===n||"*"===n)){o.push({cookie:l,relevance:d.length+d.indexOf(v)+1});break}}}catch(t){h.e(t)}finally{h.f()}}}}}catch(t){u.e(t)}finally{u.f()}var b=(0,$t.h)();if(o.length){var g=o.sort((function(t,e){return t.relevance-e.relevance}))[0].cookie;return b&&c===b.revision?Object.values(b.consent).flat().indexOf(g.id)>-1?{cookie:g,consentGiven:!0,cookieOptIn:!0}:{cookie:g,consentGiven:!0,cookieOptIn:!1}:{cookie:g,consentGiven:!1,cookieOptIn:!1}}return{cookie:null,consentGiven:!!b,cookieOptIn:!0}}var Se=n(3532).default;function Ae(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new Se((function(t,n){var r=Ce.apply(void 0,e),o=r.cookie,i=r.consentGiven,a=r.cookieOptIn;o?i?a?t():n():(document.addEventListener(pe.g,function(){var e=(0,St.Z)(Ot().mark((function e(n){return Ot().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n.detail.cookie===o&&t();case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),document.addEventListener(ke.E,function(){var t=(0,St.Z)(Ot().mark((function t(e){return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.detail.cookie===o&&n();case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())):t()}))}var Oe=n(965),Ze=n(3532).default;function Ee(t){return Ze.all(t.map((function(t){return Ae.apply(void 0,(0,Oe.Z)(t))})))}var Be,Ie=n(7577),Te=n(7029).h;n.p=(0,Ie.sE)({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"0",TCF_CMP_ID:367}),document.addEventListener(pe.g,function(){var t=(0,St.Z)(Ot().mark((function t(e){var n,r,o,i,a,c,s,u;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=e.detail.cookie,r=n.presetId,o=n.codeOptIn,i=n.codeDynamics,t.t0=r,t.next="amazon-associates-widget"===t.t0?4:"google-maps"===t.t0?16:18;break;case 4:if(!(a=(i||{}).amznAssoWidgetHtmlId)){t.next=15;break}if(!(c=document.getElementById(a))){t.next=15;break}return s=be,be++,(0,de.K)(o,i,c),t.next=13,ve((function(){return document.querySelector('[id^="amzn_assoc_ad_div_"][id$="'.concat(s,'"]'))}),500,50);case 13:(u=t.sent)&&c.appendChild(u);case 15:return t.abrupt("break",19);case 16:return document.addEventListener(fe.T,function(){var t=(0,St.Z)(Ot().mark((function t(e){var n,r,o,i;return Ot().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.detail.element,r=window,o=r.et_pb_map_init,!((i=r.jQuery)&&n.matches(".et_pb_map")&&o)){t.next=6;break}return t.next=5,ve((function(){return window.google}));case 5:o(i(n).parent());case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("break",19);case 18:return t.abrupt("break",19);case 19:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),Be=Array.prototype.slice.call(document.querySelectorAll(".rcb-consent-print-uuid")),document.addEventListener(se.I,(function(){Be.forEach((function(t){return t.innerHTML=t.getAttribute("data-fallback")}))})),document.addEventListener(ge.V,(function(){var t=(0,$t.h)();Be.forEach((function(e){return e.innerHTML=!1===t?e.getAttribute("data-fallback"):t.uuid}))})),(0,y.u)().isTcf,(0,Ut.C)((function(){var t=(0,y.u)().pageRequestUuid4,e=(0,ye.U)(),n=function(t){var e=document.body;return t.parentElement!==e&&e.appendChild(t),t}(document.getElementById(t));n&&(0,o.sY)(Te(le,{poweredLink:e}),n)}),"interactive"),window&&(window.consentApi=r)},9295:function(t,e,n){"use strict";n.d(e,{m:function(){return i}});var r=n(6703),o=n(7029).h,i=function(){var t=(0,r.u)(),e=t.isPro,n=t.isLicensed,i=t.isDevLicense,a=t.bannerI18n,c=a.noLicense,s=a.devLicense;if(!e)return null;var u="";return i?u=s:n||(u=c),u?o("div",{style:{fontSize:13,color:"#c95252",fontWeight:"bold",order:9}},u):null}},617:function(t,e,n){"use strict";n.d(e,{z:function(){return u}});var r=n(2722),o=n(4115),i=n(5213),a=n(3428),c=n(6228),s=n(7029).h,u=(0,i.Gp)((function(t,e){var n=t.children,i=t.className,u=t.title,l=t.position,d=void 0===l?"top":l,f=t.color,p=t.size,h=void 0===p?"large":p,v=t.always,m=t.rounded,b=t.noAnimate,g=t.bounce,y=(0,o.Z)(t,["children","className","title","position","color","size","always","rounded","noAnimate","bounce"]);return(0,c.G)(a,"hint-css"),s("div",(0,r.Z)({style:{position:"relative",display:"inline"},ref:e,"aria-label":u,className:"hint--".concat(d," hint--").concat(h," ").concat(f?"hint--".concat(f):""," ").concat(v?"hint--always":""," ").concat(m?"hint--rounded":""," ").concat(b?"hint--no-animate":""," ").concat(g?"hint--bounce":""," ").concat(i||"")},y),n)}))},595:function(t,e,n){"use strict";n.d(e,{p:function(){return s}});var r=n(2722),o=n(4115),i=n(5213),a=n(1680),c=n(7029).h,s=function(t){var e=t.icon,n=(0,o.Z)(t,["icon"]),s=(0,i.Ye)((function(){return(0,a.x)(e,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})}),[e]);return c("div",(0,r.Z)({},n,{dangerouslySetInnerHTML:{__html:s}}))}},6845:function(t,e,n){"use strict";n.d(e,{k:function(){return a},S:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},6943:function(t,e,n){"use strict";n.d(e,{Z:function(){return a},_:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},713:function(t,e,n){"use strict";n.d(e,{X:function(){return c}});var r=n(6845),o=n(6943),i=n(6703);function a(t){var e=(0,r.S)().pageIdToPermalink,n=(0,o._)().pageIdToPermalink,a=e||n,c=(0,i.u)().pageByIdUrl;return(null==a?void 0:a[t])||"".concat(c,"=").concat(t)}function c(t){var e=t.privacyPolicy,n=t.privacyPolicyExternalUrl,r=t.privacyPolicyIsExternalUrl,o=t.privacyPolicyLabel,i=t.imprint,c=t.imprintExternalUrl,s=t.imprintIsExternalUrl,u=t.imprintLabel,l=a(e),d=a(i);return r&&(l=n),s&&(d=c),{linkPrivacyPolicy:!!o&&{url:l,label:o},linkImprint:!!u&&{url:d,label:u}}}},6228:function(t,e,n){"use strict";n.d(e,{G:function(){return i}});var r=n(5213),o=0;function i(t,e){var n=(0,r.Ye)((function(){return"react-use-plain-css-".concat(e||(o++).toString(36))}),[]);return(0,r.bt)((function(){var e=document.getElementById(n);return e||((e=document.createElement("style")).style.type="text/css",e.id=n,document.getElementsByTagName("head")[0].appendChild(e)),e.innerHTML=t,function(){var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),[t]),n}},9747:function(t,e,n){"use strict";n.d(e,{$:function(){return b}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c={path:"/consent",method:n(2992).O.POST},s=n(5194),u=n(38),l=n(6703),d=n(5654).default,f=n(3532).default;function p(t){var e=t.endpoints,n=t.data;if((0,l.u)().isPro){var r,o=[],i=(0,u.Z)(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;o.push(d(a,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)}))}}catch(t){i.e(t)}finally{i.f()}return f.all(o)}return f.reject()}var h=n(7248),v=n(86),m=n(3532).default;function b(t){return g.apply(this,arguments)}function g(){return(g=(0,o.Z)(a().mark((function t(e){var n,o,i,u,l,d,f,b,g,y,x,k,w,C,S,A,O,Z,E,B;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.consent,o=e.markAsDoNotTrack,i=void 0!==o&&o,u=e.buttonClicked,l=e.blocker,d=void 0===l?0:l,f=e.tcfString,b=document.documentElement,g=b.clientWidth,y=b.clientHeight,x=(0,s.m)(),k=x.restNamespace,w=x.restRoot,C=x.restQuery,S=x.restNonce,t.next=5,(0,v.D)({location:c,options:{restNamespace:k,restRoot:w,restQuery:C,restNonce:S},sendRestNonce:!1,request:(0,r.Z)((0,r.Z)({},n),{},{markAsDoNotTrack:i,buttonClicked:u,viewPortWidth:g,viewPortHeight:y,blocker:d,tcfString:f}),params:{_wp_http_referer:window.location.href}});case 5:return A=t.sent,O=A.forward,Z=A.uuid,E=A.cookie_revision,B=A.decision_in_cookie,window.rcbDisabledCookieComp={uuid:Z,revision:E,consent:B},t.next=13,m.all([O&&p(O),(0,h.k)("consent")].filter(Boolean));case 13:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},7248:function(t,e,n){"use strict";n.d(e,{k:function(){return z}});var r=n(7938),o=n(5450),i=n.n(o),a=n(4115),c=n(38),s=n(63),u=n(7663),l=n(6703),d=n(2624);function f(t){var e,n,o=(0,l.u)(),a=o.groups,f=o.essentialGroup,p=o.setCookiesViaManager,h=o.isPro&&"none"!==p,v=a.filter((function(t){return t.slug===f})),m=(0,u.Z)(v,1)[0],b=(0,s.Z)({},m.id,m.items.map((function(t){return t.id})));if("consent"===t){var g=(0,d.h)();!1!==g?e=g.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),e=b)}return"essentials"===t&&(e=b),{isManagerActive:h,selectedGroups:e,iterateCookies:(n=(0,r.Z)(i().mark((function n(r){var o,s,u,l,d,f,p,h;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=(0,c.Z)(a),n.prev=1,o.s();case 3:if((s=o.n()).done){n.next=25;break}u=s.value,l=(0,c.Z)(u.items),n.prev=6,l.s();case 8:if((d=l.n()).done){n.next=15;break}return p=d.value,h="all"===t||(null===(f=e[u.id])||void 0===f?void 0:f.indexOf(p.id))>-1,n.next=13,r(u,p,h);case 13:n.next=8;break;case 15:n.next=20;break;case 17:n.prev=17,n.t0=n.catch(6),l.e(n.t0);case 20:return n.prev=20,l.f(),n.finish(20);case 23:n.next=3;break;case 25:n.next=30;break;case 27:n.prev=27,n.t1=n.catch(1),o.e(n.t1);case 30:return n.prev=30,o.f(),n.finish(30);case 33:case"end":return n.stop()}}),n,null,[[1,27,30,33],[6,17,20,23]])}))),function(t){return n.apply(this,arguments)})}}function p(t,e){var n,r,o;return t&&(r=(n=e).charAt(0).toUpperCase()+n.slice(1),o="googleTagManager"===e?"dataLayer":"_mtm"),{useVariableNameCamel:n,useVariableNamePascal:r,useGlobalObjectName:o}}var h=n(2785),v=n(2207),m=n(8865),b=n(3532).default;function g(t){return y.apply(this,arguments)}function y(){return y=(0,r.Z)(i().mark((function t(e){var n,o,c,s,u,d,g,y,x,k;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=[],o=f(e),c=o.isManagerActive,s=o.iterateCookies,u=(0,l.u)(),d=u.setCookiesViaManager,(g=p(c,d)).useGlobalObjectName,y=g.useVariableNamePascal,x=!1,k=b.resolve(void 0),t.next=8,s(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var s,u,l,d,f,p;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:s=r.presetId,u=r.codeDynamics,l=r.codeOptIn,d=(0,a.Z)(r,["presetId","codeDynamics","codeOptIn"]),c&&d["thisIs".concat(y)],o&&(f=c&&d["codeOptInNo".concat(y)],p=["amazon-associates-widget"].indexOf(s)>-1,f||p||(0,m.K)(l,u),document.dispatchEvent(new CustomEvent(h.g,{detail:{group:e,cookie:r}})),n.push({group:e,cookie:r}));case 3:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 8:return document.dispatchEvent(new CustomEvent(v.V,{detail:{cookies:n}})),t.abrupt("return",{isManagerOptOut:x,dataLayerPromise:k});case 10:case"end":return t.stop()}}),t)}))),y.apply(this,arguments)}var x=n(3532).default;function k(t,e,n){return w.apply(this,arguments)}function w(){return w=(0,r.Z)(i().mark((function t(e,n,o){var c,u,d,h,v,b,g,y;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(c=f(e),u=c.isManagerActive,d=c.iterateCookies,h=(0,l.u)(),v=h.setCookiesViaManager,b=p(u,v),g=b.useVariableNameCamel,y=b.useVariableNamePascal,!n){t.next=10;break}return d((function(t,e,r){var o=e["".concat(g,"InEventName")];r&&o&&n.push({realCookieBannerOptInEvents:(0,s.Z)({},o,!0),event:o})})),t.next=7,new x((function(t){return setTimeout(t,1e3)}));case 7:d((function(t,e,r){var o=e["".concat(g,"OutEventName")];!r&&o&&n.push({realCookieBannerOptOutEvents:(0,s.Z)({},o,!0),event:o})})),t.next=13;break;case 10:if(!u||!o){t.next=13;break}return t.next=13,d(function(){var t=(0,r.Z)(i().mark((function t(e,n,r){var o,c,s;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=n.codeDynamics,c=n.codeOptIn,s=(0,a.Z)(n,["codeDynamics","codeOptIn"]),r&&s["codeOptInNo".concat(y)]&&(0,m.K)(c,o);case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 13:case"end":return t.stop()}}),t)}))),w.apply(this,arguments)}var C=n(3416),S=n(8542),A=n.n(S),O=n(4930);function Z(t,e){var n,r=(0,c.Z)(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=o.type,a=o.name,s=new RegExp((0,C.D)((0,O.c)(a,e)),"g");switch(i){case"http":for(var u=0,l=Object.keys(A().get());u<l.length;u++){var d=l[u];s.test(d)&&A().remove(d)}break;case"local":case"session":try{var f="local"===i?window.localStorage:window.sessionStorage;if(f)for(var p=0,h=Object.keys(f);p<h.length;p++){var v=h[p];if(s.test(v)){try{f.setItem(v,null)}catch(t){}for(var m=0;f.getItem(v)&&m<100;)m++,f.removeItem(v)}}}catch(t){continue}}}}catch(t){r.e(t)}finally{r.f()}}var E=n(86),B=n(5194),I={path:"/consent/clear",method:n(2992).O.DELETE};function T(t){var e=(0,B.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce;return(0,E.D)({location:I,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1,params:{cookies:t.join(",")}})}var D=n(3421);function N(t,e){return P.apply(this,arguments)}function P(){return P=(0,r.Z)(i().mark((function t(e,n){var o,c,s,u,d,h,v,b;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=f(e),c=o.isManagerActive,s=o.iterateCookies,u=(0,l.u)(),d=u.setCookiesViaManager,h=p(c,d),v=h.useVariableNamePascal,b=[],t.next=6,s(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var s,u,l,d,f,p,h,g;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:s=r.id,u=r.codeDynamics,l=r.codeOptOut,d=r.codeOptOutDelete,f=r.noTechnicalDefinitions,p=r.technicalDefinitions,h=(0,a.Z)(r,["id","codeDynamics","codeOptOut","codeOptOutDelete","noTechnicalDefinitions","technicalDefinitions"]),o||(((g=c&&h["codeOptInNo".concat(v)])&&!n||!g)&&(0,m.K)(l,u),d&&!f&&(Z(p,u),p.some((function(t){return"http"===t.type}))&&b.push(s)),document.dispatchEvent(new CustomEvent(D.E,{detail:{group:e,cookie:r}})));case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 6:b.length&&setTimeout((function(){return T(b)}),0);case 7:case"end":return t.stop()}}),t)}))),P.apply(this,arguments)}var R=n(7051);function z(t){return W.apply(this,arguments)}function W(){return(W=(0,r.Z)(i().mark((function t(e){var n,r,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,R.C)();case 2:return t.next=4,g(e);case 4:return n=t.sent,r=n.dataLayerPromise,o=n.isManagerOptOut,t.t0=k,t.t1=e,t.next=11,r;case 11:return t.t2=t.sent,t.t3=o,t.next=15,(0,t.t0)(t.t1,t.t2,t.t3);case 15:return t.next=17,N(e,o);case 17:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},9270:function(t,e,n){"use strict";n.d(e,{Q:function(){return c}});var r=n(38),o=n(6703),i="eprivacy-usa-expand",a=!1;function c(t,e,n,c){var s,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3,l=arguments.length>5&&void 0!==arguments[5]&&arguments[5],d=(0,o.u)(),f=d.bannerI18n,p=f.ePrivacyNoteMore,h=f.none,v=[],m=[],b=(0,r.Z)(t);try{for(b.s();!(s=b.n()).done;){var g,y=s.value.items,x=(0,r.Z)(y);try{for(x.s();!(g=x.n()).done;){var k=g.value;c(k)&&m.push(k.name)}}catch(t){x.e(t)}finally{x.f()}}}catch(t){b.e(t)}finally{b.f()}return m.length-u>1&&(v=m.slice(u,m.length),(m=m.slice(0,u)).push("<span ".concat(i,'="').concat(v.join(", "),'" style="text-decoration:none;border-bottom:0.5px dashed;padding-bottom:1px;cursor:pointer;">').concat(p.replace("%d",v.length.toString()),"</span>")),!a&&document.addEventListener("click",(function(t){var e=t.target;null!=e&&e.hasAttribute(i)&&(e.innerHTML=e.getAttribute(i),e.removeAttribute("style"))})),a=!0),l&&0===m.length?"":n.replace(/{{services}}/g,m.length?m.join(", "):'<span style="color:red;">'.concat(h,"</span>"))}},3251:function(t,e,n){"use strict";function r(){return{http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}}}n.d(e,{w:function(){return r}})},8055:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;setTimeout((function(){try{window.dispatchEvent(new Event("resize"))}catch(t){}}),t)}n.d(e,{s:function(){return r}})},3657:function(t,e,n){"use strict";n.d(e,{U:function(){return i}});var r=n(6703),o=n(8527);function i(){var t=(0,r.u)().pageRequestUuid4,e=document.getElementById(t).nextElementSibling,n=document.createElement("div");return window.rcbPoweredByCacheOuterHTML?n.innerHTML=window.rcbPoweredByCacheOuterHTML:(0,o.D)(e,"a")&&e.innerHTML.toLowerCase().indexOf("Real Cookie Banner")&&(window.rcbPoweredByCacheOuterHTML=e.outerHTML,n.innerHTML=window.rcbPoweredByCacheOuterHTML,e.parentNode.removeChild(e)),n.children[0]}window.rcbPoweredByCacheOuterHTML=""},2624:function(t,e,n){"use strict";n.d(e,{h:function(){return a}});var r=n(7663),o=n(6703),i=n(6341);function a(){var t=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=(null===(e=document.cookie.match("(^|;)\\s*".concat(t,"\\s*=\\s*([^;]+)")))||void 0===e?void 0:e.pop())||"";return n?decodeURIComponent(r):r}((0,o.u)().userConsentCookieName);if(!t)return!(0,i.E)()&&(window.rcbDisabledCookieComp||!1);var e=function(t,e,n){var r=t.split(":");if(r.length<=3)return r;var o=r.slice(0,2);return o.push(r.slice(2).join(":")),o}(t);if(3!==e.length)return!1;var n=(0,r.Z)(e,2);return{uuid:n[0],revision:n[1],consent:JSON.parse(e[2])}}},996:function(t,e,n){"use strict";n.d(e,{I:function(){return r}});var r="RCB/Banner/Show"},2207:function(t,e,n){"use strict";n.d(e,{V:function(){return r}});var r="RCB/OptIn/All"},2785:function(t,e,n){"use strict";n.d(e,{g:function(){return r}});var r="RCB/OptIn"},3421:function(t,e,n){"use strict";n.d(e,{E:function(){return r}});var r="RCB/OptOut"},3416:function(t,e,n){"use strict";function r(t){var e,n=t.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((e=n,e.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$")}n.d(e,{D:function(){return r}})},5194:function(t,e,n){"use strict";function r(){return window["real-cookie-banner".replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))]}n.d(e,{m:function(){return r}})},6703:function(t,e,n){"use strict";n.d(e,{u:function(){return o}});var r=n(5194);function o(){return(0,r.m)().others}},9549:function(t,e,n){"use strict";n.d(e,{e:function(){return a}});var r=n(965),o=n(5213),i=n(7029).h;function a(t,e){var n=t.filter(Boolean);return 0===n.length?null:n.reduce((function(t,n,a){return t.length?[].concat((0,r.Z)(t),[i(o.HY,{key:a},e),n]):[n]}),[])}},4741:function(){String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.indexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var n=this.toString();("number"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>n.length)&&(e=n.length),e-=t.length;var r=n.indexOf(t,e);return-1!==r&&r===e}),null==Element.prototype.getAttributeNames&&(Element.prototype.getAttributeNames=function(){for(var t=this.attributes,e=t.length,n=new Array(e),r=0;r<e;r++)n[r]=t[r].name;return n}),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),Object.values=Object.values?Object.values:function(t){var e=Object.prototype.toString.call(t);if(null==t)throw new TypeError("Cannot convert undefined or null to object");if(~["[object String]","[object Object]","[object Array]","[object Function]"].indexOf(e)){if(Object.keys)return Object.keys(t).map((function(e){return t[e]}));var n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.push(t[r]);return n}return[]},"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=e[0];if(null==r)throw new TypeError("Cannot convert undefined or null to object");for(var o=Object(r),i=1;i<e.length;i++){var a=e[i];if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(o[c]=a[c])}return o},writable:!0,configurable:!0}),[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach((function(t){t.hasOwnProperty("remove")||Object.defineProperty(t,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}))},7051:function(t,e,n){"use strict";n.d(e,{C:function(){return o}});var r=n(3532).default,o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"complete";return new r((function(n){var r=function(){null==t||t(),setTimeout(n,0)};document.readyState===e?r():document.addEventListener("readystatechange",(function(){document.readyState===e&&r()}))}))}},6341:function(t,e,n){"use strict";n.d(e,{E:function(){return o}});var r="real_cookie_banner-test";function o(){try{document.cookie="".concat(r,"=1");var t=-1!==document.cookie.indexOf("".concat(r,"="));return document.cookie="".concat(r,"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"),t}catch(t){return!1}}},3428:function(t){"use strict";t.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={exports:{}};return e[t].call(i.exports,i,i.exports,r),i.exports}r.m=e,t=[],r.O=function(e,n,o,i){if(!n){var a=1/0;for(l=0;l<t.length;l++){n=t[l][0],o=t[l][1],i=t[l][2];for(var c=!0,s=0;s<n.length;s++)(!1&i||a>=i)&&Object.keys(r.O).every((function(t){return r.O[t](n[s])}))?n.splice(s--,1):(c=!1,i<a&&(a=i));if(c){t.splice(l--,1);var u=o();void 0!==u&&(e=u)}}return e}i=i||0;for(var l=t.length;l>0&&t[l-1][2]>i;l--)t[l]=t[l-1];t[l]=[n,o,i]},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;r.g.importScripts&&(t=r.g.location+"");var e=r.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=t}(),function(){var t={392:0};r.O.j=function(e){return 0===t[e]};var e=function(e,n){var o,i,a=n[0],c=n[1],s=n[2],u=0;if(a.some((function(e){return 0!==t[e]}))){for(o in c)r.o(c,o)&&(r.m[o]=c[o]);if(s)var l=s(r)}for(e&&e(n);u<a.length;u++)i=a[u],r.o(t,i)&&t[i]&&t[i][0](),t[a[u]]=0;return r.O(l)},n=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),r.O(void 0,[568],(function(){return r(4741)}));var o=r.O(void 0,[568],(function(){return r(5346)}));o=r.O(o),realCookieBanner_banner=o}();
2
  //# sourceMappingURL=banner.lite.js.map
1
+ var realCookieBanner_banner;!function(){var t,e={4930:function(t,e,n){"use strict";n.d(e,{c:function(){return o}});var r=/{{([A-Za-z0-9_]+)}}/gm;function o(t,e){return t.replace(r,(function(t,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:t}))}},6825:function(t,e,n){"use strict";n.d(e,{jb:function(){return r},zm:function(){return o},rG:function(){return i},d3:function(){return a},_W:function(){return c},NY:function(){return s},i7:function(){return u},Ng:function(){return l},CT:function(){return d},v4:function(){return f},YO:function(){return p},Ti:function(){return h},Ks:function(){return v},dW:function(){return m},Kh:function(){return g},Wm:function(){return b},Qt:function(){return y}});var r="consent-original",o="consent-click-original",i="_",a="consent-by",c="consent-required",s="consent-visual-use-parent",u="consent-inline",l="consent-inline-style",d="consent-id",f="script",p="consent-blocker-connected",h="consent-transaction-complete",v="consent-transform-wrapper",m="1",g="consent-strict-hidden",b="consent-cb-reset-parent",y="1"},8865:function(t,e,n){"use strict";n.d(e,{L:function(){return u},K:function(){return l}});var r=n(9749),o=n.n(r),i=n(4930),a=n(4184);function c(t){var e;return(0,a.C)(t)?null===(e=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===e?void 0:e.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent}var s=n(3532).default,u="rcbInitiatorOnload";function l(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body;return new s((function(r){t?o()(n,(0,i.c)(t,e),{done:r,error:function(t){console.error(t)},beforeWriteToken:function(t){var e=t.attrs,n=t.booleanAttrs,r=t.src,o=t.href,i=t.content;if(null!=n&&n["skip-write"])return!1;for(var a in i&&(t.content=i.replace(/window\.onload\s+=/g,"window.".concat(u," ="))),e)if(e[a]=c(e[a]),"unique-write-name"===a&&document.querySelector('[unique-write-name="'.concat(e[a],'"]')))return!1;return r&&(t.src=c(r)),o&&(t.href=c(o)),t}}):r()}))}},4052:function(t,e,n){"use strict";n.d(e,{T:function(){return r}});var r="RCB/OptIn/ContentBlocker"},4184:function(t,e,n){"use strict";function r(t){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(t)}n.d(e,{C:function(){return r}})},784:function(t,e,n){"use strict";n.d(e,{w:function(){return o}});var r=n(8527);function o(t,e){for(var n=[],o=t.parentElement;null!==o;)o.nodeType===Node.ELEMENT_NODE&&(0,r.D)(o,e)&&n.push(o),o=o.parentElement;return n}},8527:function(t,e,n){"use strict";function r(t,e){if(!t||!t.parentElement)return!1;var n=t.parentElement.querySelectorAll(e);for(var r in n)if(n[r]===t)return!0;return!1}n.d(e,{D:function(){return r}})},86:function(t,e,n){"use strict";n.d(e,{D:function(){return Z}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c=n(4742),s=n.n(c),u=n(7577),l=n(2992),d=n(5566),f=n.n(d);function p(t){for(var e=t.location,n=t.params,r=void 0===n?{}:n,o=t.nonce,i=void 0===o||o,a=t.options,c=new(s())(a.restRoot,!0),d=c.query,p=d.rest_route||c.pathname,h=[],v=e.path.replace(/:([A-Za-z0-9-_]+)/g,(function(t,e){return h.push(e),r[e]})),m={},g=0,b=Object.keys(r);g<b.length;g++){var y=b[g];-1===h.indexOf(y)&&(m[y]=r[y])}var x=(0,u.Ab)(p)+(0,u.XO)(e.namespace||a.restNamespace)+v,k=new(s())(window.location.href).protocol.slice(0,-1);c.set("protocol",k),d.rest_route?d.rest_route=x:c.set("pathname",x),i&&a.restNonce&&(d._wpnonce=a.restNonce);var w=c.toString();return["wp-json/","rest_route="].filter((function(t){return w.indexOf(t)>-1})).length>0&&e.method&&e.method!==l.O.GET&&(d._method=e.method),c.set("query",f().all([a.restQuery,m,d])).toString()}var h=n(3532).default,v=n(5654).default,m={},g={};function b(t,e){return y.apply(this,arguments)}function y(){return y=(0,o.Z)(a().mark((function t(e,n){var r,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===n){t.next=6;break}return r=g[e]||new h(function(){var t=(0,o.Z)(a().mark((function t(r,o){var i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,v(n);case 3:if(!(i=t.sent).ok){t.next=12;break}return t.next=7,i.text();case 7:c=t.sent,m[e]=c,r(c),t.next=13;break;case 12:o();case 13:t.next=18;break;case 15:t.prev=15,t.t0=t.catch(0),o();case 18:case"end":return t.stop()}}),t,null,[[0,15]])})));return function(e,n){return t.apply(this,arguments)}}()),g[e]=r,t.abrupt("return",r);case 6:if(void 0!==e){t.next=8;break}return t.abrupt("return",void 0);case 8:return t.next=10,h.all(Object.values(g));case 10:for(i=e;m[i];)i=m[i];return t.abrupt("return",h.resolve(i));case 13:case"end":return t.stop()}}),t)}))),y.apply(this,arguments)}var x=n(38);function k(t,e,n){return w.apply(this,arguments)}function w(){return(w=(0,o.Z)(a().mark((function t(e,n,r){var o,i,c,s,u,d;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=n.clone(),t.prev=1,t.next=4,n.json();case 4:return t.abrupt("return",t.sent);case 7:return t.prev=7,t.t0=t.catch(1),t.next=11,o.text();case 11:if(!(""===(i=t.sent)&&[l.O.DELETE,l.O.PUT].indexOf(r)>-1)){t.next=14;break}return t.abrupt("return",void 0);case 14:console.warn("The response of ".concat(e," contains unexpected JSON, try to resolve the JSON line by line..."),{body:i}),s=(0,x.Z)(i.split("\n")),t.prev=16,s.s();case 18:if((u=s.n()).done){t.next=30;break}if(!(d=u.value).startsWith("[")&&!d.startsWith("{")){t.next=28;break}return t.prev=21,t.abrupt("return",JSON.parse(d));case 25:t.prev=25,t.t1=t.catch(21),c=t.t1;case 28:t.next=18;break;case 30:t.next=35;break;case 32:t.prev=32,t.t2=t.catch(16),s.e(t.t2);case 35:return t.prev=35,s.f(),t.finish(35);case 38:throw c;case 39:case"end":return t.stop()}}),t,null,[[1,7],[16,32,35,38],[21,25]])})))).apply(this,arguments)}var C=n(2680),S=n.n(C),O=n(5654).default,A="application/json;charset=utf-8";function Z(t){return E.apply(this,arguments)}function E(){return(E=(0,o.Z)(a().mark((function t(e){var n,o,i,c,u,d,h,v,m,g,y,x,w,C,E,B,I,T,D,N,P,R,z;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.location,o=e.options,i=e.request,c=e.params,u=e.settings,d=void 0===u?{}:u,h=e.multipart,v=void 0!==h&&h,m=e.sendRestNonce,g=void 0===m||m,y=p({location:n,params:c,nonce:!1,options:o}),["wp-json/","rest_route="].filter((function(t){return y.indexOf(t)>-1})).length>0&&n.method&&n.method!==l.O.GET?d.method=l.O.POST:d.method=n.method||l.O.GET,x=new(s())(y,!0),!(w=-1===["HEAD","GET"].indexOf(d.method))&&i&&x.set("query",f()(x.query,i)),w&&(C=v?S()(i,"boolean"==typeof v?{}:v):JSON.stringify(i)),t.next=9,b(o.restNonce);case 9:return E=t.sent,B=void 0!==E,(I=f().all([d,{headers:(0,r.Z)((0,r.Z)((0,r.Z)({},"string"==typeof C?{"Content-Type":A}:{}),B&&g?{"X-WP-Nonce":E}:{}),{},{Accept:"application/json, */*;q=0.1"})}])).body=C,T=x.toString(),t.next=16,O(T,I);case 16:if((D=t.sent).ok){t.next=47;break}return N=void 0,P=!1,t.prev=20,t.next=23,k(T,D,n.method);case 23:if("private_site"===(N=t.sent).code&&403===D.status&&B&&!g&&(P=!0),"rest_cookie_invalid_nonce"!==N.code||!B){t.next=35;break}return R=o.restRecreateNonceEndpoint,t.prev=27,t.next=30,b(E,R);case 30:P=!0,t.next=35;break;case 33:t.prev=33,t.t0=t.catch(27);case 35:t.next=39;break;case 37:t.prev=37,t.t1=t.catch(20);case 39:if(!P){t.next=43;break}return t.next=42,Z({location:n,options:o,multipart:v,params:c,request:i,sendRestNonce:!0,settings:d});case 42:return t.abrupt("return",t.sent);case 43:throw d.method===l.O.GET&&(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1),(z=D).responseJSON=N,z;case 47:return t.abrupt("return",k(T,D,n.method));case 48:case"end":return t.stop()}}),t,null,[[20,37],[27,33]])})))).apply(this,arguments)}},2992:function(t,e,n){"use strict";var r;n.d(e,{O:function(){return r}}),function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(r||(r={}))},7577:function(t,e,n){"use strict";n.d(e,{XO:function(){return r},Ab:function(){return o},sE:function(){return i}});var r=function t(e){return e.endsWith("/")||e.endsWith("\\")?t(e.slice(0,-1)):e},o=function(t){return"".concat(r(t),"/")},i=function(t){var e=window[t.slug.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")}},373:function(t,e,n){"use strict";n.d(e,{h:function(){return u}});var r=n(38),o=n(6703),i=n(3416),a=n(6825),c=n(4052),s=n(3532).default;function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.createElement("div");return new s((function(n){var s,u,l=(0,o.u)().blocker,d=!e.parentElement,f=(0,r.Z)(l);try{t:for(f.s();!(u=f.n()).done;){var p,h=u.value,v=h.hosts,m=(0,r.Z)(v);try{for(m.s();!(p=m.n()).done;){var g=p.value,b=(0,i.D)(g);if(t.match(b)){s=h;break t}}}catch(t){m.e(t)}finally{m.f()}}}catch(t){f.e(t)}finally{f.f()}s?(e.setAttribute(a.d3,"cookies"),e.setAttribute(a._W,s.cookies.join(",")),e.setAttribute(a.CT,s.id.toString()),e.addEventListener(c.T,(function(){d&&e.remove(),n()})),d&&document.body.appendChild(e)):n()}))}},6385:function(t,e,n){"use strict";n.r(e),n.d(e,{consent:function(){return Ce},consentAll:function(){return Ae},consentSync:function(){return ke},unblock:function(){return be.h}});var r={};n.r(r),n.d(r,{consent:function(){return Ce},consentAll:function(){return Ae},consentSync:function(){return ke},unblock:function(){return be.h}});var o=n(5213),i=n(2711),a=n(7663),c=n(2722);function s(t,e,n,r){return t.enabled,t.scalePercent,t.scalePercentVertical,n}var u=n(63);function l(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function d(t,e){var n=l(t),r=n.r,o=n.g,i=n.b;return"rgba(".concat(r,", ").concat(o,", ").concat(i,", ").concat(e/100,")")}var f=n(4115),p=n(38),h=n(6845);function v(){var t=(0,h.S)(),e=t.individualPrivacyOpen,n=t.onSave,r=t.updateGroupChecked,a=t.updateCookieChecked,c=t.groups,s=t.essentialGroup,u=t.updateIndividualPrivacyOpen,l=t.activeAction,d=t.onClose,f=e?"ind_all":"main_all",v=e?"ind_essential":"main_essential",m=e?"ind_close_icon":"main_close_icon",g=e?"ind_custom":"main_custom",b={buttonClickedAll:f,buttonClickedEssentials:v,buttonClickedCloseIcon:m,buttonClickedCustom:g,acceptAll:(0,o.I4)((function(){c.forEach((function(t){return r(t.id,!0)})),n(!1,f)}),[f]),acceptEssentials:(0,o.I4)((function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];c.forEach((function(t){var e=t.slug,n=t.id,o=t.items;if(e===s)r(n,!0);else{var i,c=(0,p.Z)(o);try{for(c.s();!(i=c.n()).done;){var u=i.value,l=u.legalBasis,d=u.id;a(n,d,"legitimate-interest"===l)}}catch(t){c.e(t)}finally{c.f()}}})),n(!1,t?m:v)}),[v]),acceptIndividual:(0,o.I4)((function(){return n(!1,g)}),[g]),openIndividualPrivacy:(0,o.I4)((function(){u(!0)}),[u])};return(0,i.Z)((0,i.Z)({},b),{},{closeIcon:(0,o.I4)((function(){l?d():b.acceptEssentials(!0)}),[l,d,b.acceptEssentials])})}var m=n(6228),g=n(617),b=n(6703),y=n(7778),x=function(t){var e=t.children,n=t.className,r=t.tag,i=void 0===r?"div":r,c=t.renderInContainer,s=(0,o.eJ)((function(){var t=document.createElement(i);return n&&t.classList.add(n),t})),u=(0,a.Z)(s,1)[0];return(0,o.d4)((function(){return document.body.appendChild(u),function(){document.body.removeChild(u)}}),[]),(0,o.jz)(e,c||u)},k=n(7029).h,w=0,C=function(){var t=(0,o.Ye)((function(){return"react-close-icon-".concat((w++).toString(36))}),[]),e=(0,o.Ye)((function(){return"react-close-icon-".concat((w++).toString(36))}),[]),n=(0,o.sO)(),r=(0,y.EL)(n),i=(0,h.S)(),a=i.headerDesign,c=a.fontSize,u=a.fontColor,l=i.texts.acceptEssentials,d=i.mobile,f=i.activeAction,p=i.pageRequestUuid4,C=i.buttonClicked,S=void 0===C?"":C,O=s(d,0,c),A=v(),Z=A.buttonClickedCloseIcon,E=A.closeIcon,B=(0,b.u)().bannerI18n,I=B.close,T=B.closeWithoutSaving,D=f?"change"===f?T:I:l;(0,m.G)("#".concat(e," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(O,"px / 2 * -1);\n display: block;\n width: ").concat(O,"px;\n height: ").concat(O,"px; \n pointer-events: none;\n}\n\n#").concat(t," {\n position: fixed !important;\n ").concat(r?"top: ".concat(r.y,"px;left: ").concat(r.x,"px;display:block;"):"display:none;","\n width: ").concat(O,"px;\n height: ").concat(O,"px;\n cursor: pointer;\n z-index: 99;\n pointer-events: all;\n ").concat(S===Z?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n#").concat(t,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(t," > span:before,#").concat(t," > span:after{\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(1,"px;\n height: ").concat(O,"px;\n background-color: ").concat(u,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(t," > span:after{\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(t," > span:hover:before,#").concat(t," > span:hover:after{\n opacity: 1;\n width: ").concat(2,"px;\n}"));var N=document.getElementById(p);return k(o.HY,null,k("div",{id:e,ref:n}),(null==r?void 0:r.y)>0&&k(x,{renderInContainer:N},k(g.z,{title:D,id:t,onClick:E,position:r.y>50?"top-left":"left",always:(null==N?void 0:N.clientWidth)<700},k("span",null))))},S=n(7029).h,O=(0,o.Gp)((function(t,e){var n,r,o,a,u,l,d,p,v,m,g,y,x,k,w,O,A,Z=(0,h.S)(),E=Z.headerDesign,B=E.logo,I=E.logoRetina,T=Z.decision.showCloseIcon,D=Z.texts.headline,N=Z.activeAction,P=Z.individualPrivacyOpen,R=Z.individualTexts,z=(0,b.u)().bannerI18n.headerTitlePrivacyPolicyHistory,W=I&&!(null!=B&&B.endsWith(".svg"))&&window.devicePixelRatio>1,L=W?I:B,_=P?"history"===N?z:R.headline:D;return S("div",(0,c.Z)({ref:e},(o=(r=(n=Z).layout).type,a=r.dialogBorderRadius,l=(u=n.design).borderWidth,d=u.borderColor,p=(0,f.Z)(u,["borderWidth","borderColor"]),m=(v=n.headerDesign).inheritBg,g=v.bg,y=v.padding,x=n.customCss.antiAdBlocker,k=n.mobile,n.pageRequestUuid4,w=s(k,0,o),O=s(k,0,l),A={padding:s(k,0,y,0).map((function(t){return"".concat(t,"px")})).join(" "),background:m?p.bg:g,borderRadius:"dialog"===w?"".concat(a,"px ").concat(a,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0},"dialog"===w&&O>0&&(A.borderTop="".concat(O,"px solid ").concat(d),A.borderLeft=A.borderTop,A.borderRight=A.borderTop),{className:"y"===x?void 0:"rcb-header-container",style:A})),S("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.design.textAlign,i=t.headerDesign,a=i.inheritTextAlign,c=i.logo,u=i.logoPosition,l=(0,f.Z)(i,["inheritTextAlign","logo","logoPosition"]),d=t.texts.headline,p=t.individualLayout,h=t.customCss.antiAdBlocker,v=t.mobile,m=(t.pageRequestUuid4,t.individualPrivacyOpen),g=a?o:l.textAlign;return{className:"y"===h?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===s(v,0,n)?+(m&&!p.inheritBannerMaxWidth?p.bannerMaxWidth:r):void 0,margin:"auto",display:"flex",justifyContent:"center"===g?"center":"right"===g?"flex-end":void 0,alignItems:"center",position:"relative",flexDirection:c&&d?"left"===u?"row":"right"===u?"row-reverse":"column":void 0}}}(Z),!!L&&S("img",(0,c.Z)({src:L},function(t,e){var n=t.headerDesign,r=n.logoMaxHeight,o=n.logoMargin,a=n.logoFitDim,c=n.logoRetinaFitDim,u=t.customCss.antiAdBlocker,l=t.mobile,d=(t.pageRequestUuid4,e?c:a),f=d?{width:d[0],height:d[1]}:{width:"auto",height:s(l,0,+r)};return{className:"y"===u?void 0:"rcb-logo",style:(0,i.Z)((0,i.Z)({},f),{},{margin:s(l,0,o).map((function(t){return"".concat(t,"px")})).join(" ")})}}(Z,W))),!!_&&S("div",function(t){var e=t.headerDesign,n=e.fontSize,r=e.fontColor,o=e.fontInheritFamily,i=e.fontFamily,a=e.fontWeight;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-headline",style:{color:r,fontSize:s(t.mobile,t.pageRequestUuid4,+n),fontFamily:o?void 0:i,fontWeight:a}}}(Z),_),(!!T||!!N)&&S(C,null)))})),A=n(7029).h,Z=function(t){var e=t.title,n=t.children,r=(0,h.S)();return A("div",function(t){var e=t.group,n=e.headlineFontSize,r=e.headlineFontColor,o=e.headlineFontWeight;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group",style:{color:r,fontSize:s(t.mobile,t.pageRequestUuid4,n),fontWeight:o,textAlign:"left"}}}(r),e,n&&A("div",function(t){var e=t.design.fontWeight,n=t.group,r=n.descriptionFontColor,o=n.descriptionFontSize;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group-description",style:{color:r,fontSize:s(t.mobile,t.pageRequestUuid4,+o),fontWeight:e,marginTop:5}}}(r),n))};function E(t,e,n,r,o){var i=t.layout.borderRadius,a=t.group,c=a.headlineFontSize,u=a.checkboxBg,l=a.checkboxBorderWidth,d=a.checkboxBorderColor,f=a.checkboxActiveBg,p=a.checkboxActiveBorderColor,h=a.checkboxActiveColor,v=t.customCss.antiAdBlocker,m=t.mobile,g=(t.pageRequestUuid4,s(m,0,o||c)),b=s(m,0,+l),y=+g+2*b+6;return{className:"y"===v?void 0:"rcb-checkbox",style:{cursor:r?"not-allowed":"pointer",opacity:r?.5:void 0,color:n?h:u,display:e?"inline-block":"none",background:n?f:u,border:"".concat(b,"px solid ").concat(n?p:d),padding:3,height:y,width:y,marginRight:10,borderRadius:+i,verticalAlign:"middle",lineHeight:0}}}function B(t,e){var n=t.design.linkTextDecoration,r=t.group,o=r.linkColor,i=r.linkHoverColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group-more",style:{color:e?i:o,textDecoration:n}}}var I=n(4184),T=n(7029).h,D=function(t){var e=t.label,n=t.value,r=t.children,o=(0,h.S)(),i="string"==typeof n&&(0,I.C)(n),a=i?T("a",(0,c.Z)({href:n,style:{lineBreak:i?"anywhere":void 0},target:"_blank",rel:"noopener noreferrer"},B(o,!1)),n):"string"==typeof n?T("span",{dangerouslySetInnerHTML:{__html:n}}):n;return T("div",(0,c.Z)({key:e},function(t){var e=t.group,n=e.groupBorderWidth,r=e.groupBorderColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-cookie-prop",style:{borderLeft:s(t.mobile,t.pageRequestUuid4,n)>0?"1px solid ".concat(r):void 0,paddingLeft:15,wordBreak:"break-all"}}}(o)),e&&T("strong",null,e,": "),a,!!r&&T("div",null,r))},N=n(3251),P=n(3282),R=n(595),z=n(4930),W=n(7029).h,L=function(t){var e,n=t.group,r=t.cookie,i=r.id,s=r.name,u=r.purpose,l=r.provider,d=r.providerPrivacyPolicy,f=r.legalBasis,p=r.ePrivacyUSA,v=r.noTechnicalDefinitions,m=r.technicalDefinitions,g=r.codeDynamics,y=(0,o.eJ)(!1),x=(0,a.Z)(y,2),k=x[0],w=x[1],C=(0,h.S)(),S=C.ePrivacyUSA,O=C.group.descriptionFontSize,A=C.consent,Z=C.activeAction,B=C.essentialGroup,I=(0,b.u)().bannerI18n,T=(0,N.w)();(0,o.bt)((function(){w(!0)}),[]);var L=B===n.slug,_=L||"history"===Z,H=L||((null===(e=A.groups)||void 0===e?void 0:e[n.id])||[]).some((function(t){return t===i})),Y=(0,o.I4)((function(){return!_&&C.updateCookieChecked(n.id,i,!H)}),[_,C,n,i,H]);return W("div",function(t){return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-cookie",style:{marginTop:10}}}(C),W("div",{style:{marginBottom:10}},W(R.p,(0,c.Z)({icon:P.Z,onClick:Y},E(C,k,H,_,O))),W("strong",{style:{verticalAlign:"middle",cursor:"pointer"},onClick:Y},s)),!!u&&W(D,{label:I.purpose,value:u}),W(D,{label:I.legalBasis,value:"legal-requirement"===f?I.legalRequirement:"legitimate-interest"===f||L?I.legitimateInterest:I.consent}),W(D,{label:I.provider,value:l}),!!d&&W(D,{label:I.providerPrivacyPolicy,value:d}),!!S&&W(D,{label:I.ePrivacyUSA,value:p?I.yes:I.no}),!v&&m.map((function(t){var e=t.type,n=t.name,r=t.host,o=t.duration,i=t.durationUnit,a=t.sessionDuration;return W(D,{key:n,label:I.technicalCookieDefinition,value:W("span",{style:{fontFamily:"monospace"}},(0,z.c)(n,g))},W(D,{label:I.type,value:T[e].name}),!!r&&W(D,{label:I.host,value:W("span",{style:{fontFamily:"monospace"}},r)}),-1===["local","session","indexedDb","flash"].indexOf(e)&&W(D,{label:I.duration,value:a?"Session":"".concat(o," ").concat(I.durationUnit[i])}))})))},_=n(4769),H=n(7029).h,Y=function(t){var e,n=t.group,r=(0,h.S)(),i=n.id,u=n.slug,l=n.name,d=n.description,f=n.items,p=(0,o.eJ)(!1),v=(0,a.Z)(p,2),m=v[0],g=v[1],b=(0,o.eJ)(!1),y=(0,a.Z)(b,2),x=y[0],k=y[1],w=(0,o.eJ)(!1),C=(0,a.Z)(w,2),S=C[0],O=C[1],A=r.previewCheckboxActiveState,I=r.individualTexts,T=I.showMore,D=I.hideMore,N=r.consent,z=r.activeAction,W=r.essentialGroup;(0,o.bt)((function(){g(!0)}),[]);var Y=W===u,F=Y||"history"===z,U=A||Y||!!N.groups[i],M=Y||JSON.stringify(f.map((function(t){return t.id})).sort())===JSON.stringify((null===(e=N.groups[i])||void 0===e?void 0:e.sort())||[])?P.Z:_.Z,q=(0,o.I4)((function(){return!F&&r.updateGroupChecked(i,!U)}),[F,r,i,U]);return H("div",function(t){var e=t.group,n=e.groupBg,r=e.groupBorderRadius,o=e.groupBorderColor,i=e.groupPadding,a=e.groupBorderWidth,c=e.groupInheritBg,u=t.customCss.antiAdBlocker,l=t.mobile,d=(t.pageRequestUuid4,s(l,0,a));return{className:"y"===u?void 0:"rcb-group",style:{background:c?void 0:n,border:d>0?"".concat(d,"px solid ").concat(o):void 0,padding:s(l,0,i).map((function(t){return"".concat(t,"px")})).join(" "),borderRadius:+r,textAlign:"left"}}}(r),H(Z,{title:H(o.HY,null,H(R.p,(0,c.Z)({icon:M,onClick:q},E(r,m,U,F))),H("span",{style:{verticalAlign:"middle",cursor:"pointer"},onClick:q},l," (",f.length,")"))},d,!!f&&H(o.HY,null,"  •  ",H("a",(0,c.Z)({href:"#"},B(r,x),{onClick:function(t){O(!S),t.preventDefault()},onMouseEnter:function(){return k(!0)},onMouseLeave:function(){return k(!1)}}),S?D:T),S&&f.map((function(t){return H(L,{key:t.id,group:n,cookie:t})})))))},F=n(7029).h,U=function(){var t=(0,h.S)(),e=t.groups,n=t.group.groupSpacing,r=t.mobile,i=(t.pageRequestUuid4,e.filter((function(t){return t.items.length})));return F("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}},i.map((function(t,e){return F(o.HY,{key:t.id},F(Y,{key:t.id,group:t}),e!==i.length-1&&F("div",{style:{height:s(r,0,+n)}}))})))},M=n(7029).h,q=function(t){var e=t.group,n=e.id,r=e.slug,i=e.name,u=(0,o.eJ)(!1),l=(0,a.Z)(u,2),d=l[0],f=l[1],p=(0,h.S)(),v=p.decision.groupsFirstView,m=p.design.fontSize,g=p.consent,y=p.essentialGroup,x=(0,b.u)().isPro;(0,o.bt)((function(){f(!0)}),[]);var k=y===r,w=k||!!g.groups[n],C=(0,o.I4)((function(){return x&&v&&!k&&p.updateGroupChecked(n,!w)}),[x,k,p,n,w,v]);return M("span",(0,c.Z)({key:i},function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.dottedGroupsInheritFontSize,o=n.dottedGroupsFontSize;return{className:void 0,style:{paddingRight:10,fontSize:s(t.mobile,t.pageRequestUuid4,r?+e:+o),whiteSpace:"nowrap",display:"inline-block"}}}(p)),M("span",null,x&&v?M(R.p,(0,c.Z)({icon:P.Z,onClick:C},E(p,d,w,k,m))):M(o.HY,null,M("strong",function(t){return{className:void 0,style:{color:t.bodyDesign.dottedGroupsBulletColor}}}(p),"●")," "),M("span",{style:{verticalAlign:"middle",cursor:v?"pointer":void 0},onClick:C},i)))},j=n(7029).h,X=function(){var t=(0,h.S)(),e=t.groups;return j("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}},e.filter((function(t){return!!t.items.length})).map((function(t){return j(q,{key:t.id,group:t})})))},G=n(7029).h,J=function(){var t,e=(0,h.S)(),n=(0,o.eJ)(-1),r=(0,a.Z)(n,2),i=r[0],u=r[1],l=e.activeAction,f=e.history,p=e.selectHistoryEntry,v=(0,b.u)().bannerI18n,m=v.historyLabel,g=v.historySelectNone;(0,o.d4)((function(){l?"history"===l&&null!=f&&f.length&&u(f[0].id):u(-1)}),[l,f]);var y,x,k,w,C,S,O,A=null==f||null===(t=f[0])||void 0===t?void 0:t.uuid;return G(o.HY,null,m," ",G("select",(0,c.Z)({},(k=(x=(y=e).design).fontSize,w=x.fontColor,S=(C=y.bodyDesign).descriptionInheritFontSize,O=C.descriptionFontSize,{className:"y"===y.customCss.antiAdBlocker?void 0:"rcb-history-select",style:{fontSize:s(y.mobile,y.pageRequestUuid4,S?+k:+O),background:"transparent",border:0,color:w,borderBottom:"1px solid ".concat(d(w,50))}}),{disabled:!(null!=f&&f.length),value:i,onChange:function(t){var e=+t.target.value;f.forEach((function(t){var n=t.id,r=t.decision,o=t.groups,i=t.tcf;n===e&&(u(n),p(o,r,i))}))}}),(null==f?void 0:f.length)>0?f.map((function(t){var e=t.id,n=t.isDoNotTrack,r=t.isUnblock,o=t.isForwarded,i=t.created;return G("option",{key:e,value:e},new Date(i).toLocaleString(document.documentElement.lang),n?" (Do Not Track)":"",r?" (Content Blocker)":"",o?" (Consent Forwarding)":"")})):G("option",{value:-1},g)),!!A&&G("div",{style:{opacity:.5,marginTop:5}},"UUID: ",A))};function V(t){var e=t.bodyDesign,n=e.teachingsInheritTextAlign,r=e.teachingsTextAlign,o=e.teachingsInheritFontSize,i=e.teachingsFontSize,a=e.teachingsInheritFontColor,c=e.teachingsFontColor,u=t.customCss.antiAdBlocker,l=t.mobile;t.pageRequestUuid4;return{className:"y"===u?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:n?void 0:r,fontSize:o?void 0:s(l,0,+i),color:a?void 0:c}}}function Q(t,e,n,r){var o=t.name,i=t.order,a=t.fullWidth,c=t.marginLeft,u=t.marginRight,l=t.type,d=t.borderRadius,f=t.bg,p=t.hoverBg,h=t.fontSize,v=t.textAlign,m=t.linkTextDecoration,g=t.fontColor,b=t.fontWeight,y=t.hoverFontColor,x=t.borderWidth,k=t.borderColor,w=t.hoverBorderColor,C=t.padding,S=t.antiAdBlocker,O=(t.pageRequestUuid4,s(e,0,+x)),A={textDecoration:"link"===l?m:"none",borderRadius:+d,cursor:"button"===l?"pointer":void 0,backgroundColor:"button"===l?n?p:f:void 0,fontSize:s(e,0,+h),fontWeight:b,color:n?y:g,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(u,"px ").concat(s(e,0,10,0),"px ").concat(c,"px"),border:"button"===l&&O>0?"".concat(O,"px solid ").concat(n?w:k):void 0,padding:s(e,0,C,0).map((function(t){return"".concat(t,"px")})).join(" "),overflow:"hidden",outline:r?"rgb(255, 94, 94) solid 5px":void 0,flex:a?"1 1 100%":"0 0 calc(50% - ".concat(c+u,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===v?"flex-end":"center"===v?"center":"left",order:i};return{className:"y"===S?void 0:"rcb-btn-".concat(o),style:A}}function $(t,e,n,r){var o=t.isTcf,i=t.decision.acceptEssentials,a=t.layout.borderRadius,c=t.design.linkTextDecoration,s=t.bodyDesign,u=s.acceptEssentialsFontSize,l=s.acceptEssentialsBg,d=s.acceptEssentialsTextAlign,f=s.acceptEssentialsBorderColor,p=s.acceptEssentialsPadding,h=s.acceptEssentialsBorderWidth,v=s.acceptEssentialsFontColor,m=s.acceptEssentialsFontWeight,g=s.acceptEssentialsHoverBg,b=s.acceptEssentialsHoverFontColor,y=s.acceptEssentialsHoverBorderColor,x=s.acceptAllFontWeight,k=s.acceptAllFontSize,w=s.acceptAllPadding,C=t.customCss.antiAdBlocker,S=t.mobile;return Q({name:"accept-essentials",order:r?0:1,fullWidth:!r,marginLeft:0,marginRight:r?5:0,type:i,borderRadius:a,bg:l,hoverBg:g,fontSize:r||o?k:u,textAlign:d,linkTextDecoration:c,fontColor:v,fontWeight:o?x:m,hoverFontColor:b,borderWidth:h,borderColor:f,hoverBorderColor:y,padding:r?w:p,antiAdBlocker:C,pageRequestUuid4:t.pageRequestUuid4},S,e,n)}function K(t,e,n){var r=t.decision.acceptIndividual,o=t.layout.borderRadius,i=t.design.linkTextDecoration,a=t.bodyDesign,c=a.acceptIndividualFontSize,s=a.acceptIndividualBg,u=a.acceptIndividualTextAlign,l=a.acceptIndividualBorderColor,d=a.acceptIndividualPadding,f=a.acceptIndividualBorderWidth,p=a.acceptIndividualFontColor,h=a.acceptIndividualFontWeight,v=a.acceptIndividualHoverBg,m=a.acceptIndividualHoverFontColor,g=a.acceptIndividualHoverBorderColor,b=t.customCss.antiAdBlocker,y=t.mobile;return Q({name:"accept-individual",order:2,fullWidth:!0,marginLeft:0,marginRight:0,type:r,borderRadius:o,bg:s,hoverBg:v,fontSize:c,textAlign:u,linkTextDecoration:i,fontColor:p,fontWeight:h,hoverFontColor:m,borderWidth:f,borderColor:l,hoverBorderColor:g,padding:d,antiAdBlocker:b,pageRequestUuid4:t.pageRequestUuid4},y,e,n)}function tt(t,e,n){var r=t.isTcf,o=t.layout.borderRadius,i=t.design.linkTextDecoration,a=t.bodyDesign,c=a.acceptAllFontWeight,s=a.acceptAllFontSize,u=t.saveButton,l=u.type,d=u.fontSize,f=u.bg,p=u.textAlign,h=u.borderColor,v=u.padding,m=u.borderWidth,g=u.fontColor,b=u.fontWeight,y=u.hoverBg,x=u.hoverFontColor,k=u.hoverBorderColor,w=t.customCss.antiAdBlocker,C=t.mobile;return Q({name:"accept-individual-save",order:2,fullWidth:!0,marginLeft:0,marginRight:0,type:l,borderRadius:o,bg:f,hoverBg:y,fontSize:r?s:d,textAlign:p,linkTextDecoration:i,fontColor:g,fontWeight:r?c:b,hoverFontColor:x,borderWidth:m,borderColor:h,hoverBorderColor:k,padding:v,antiAdBlocker:w,pageRequestUuid4:t.pageRequestUuid4},C,e,n)}function et(t,e,n,r){var o=t.decision.acceptAll,i=t.layout.borderRadius,a=t.design.linkTextDecoration,c=t.bodyDesign,s=c.acceptAllFontSize,u=c.acceptAllBg,l=c.acceptAllTextAlign,d=c.acceptAllBorderColor,f=c.acceptAllPadding,p=c.acceptAllBorderWidth,h=c.acceptAllFontColor,v=c.acceptAllFontWeight,m=c.acceptAllHoverBg,g=c.acceptAllHoverFontColor,b=c.acceptAllHoverBorderColor,y=t.customCss.antiAdBlocker,x=t.mobile;return Q({name:"accept-all",order:r?1:0,fullWidth:!r,marginLeft:r?5:0,marginRight:0,type:o,borderRadius:i,bg:u,hoverBg:m,fontSize:s,textAlign:l,linkTextDecoration:a,fontColor:h,fontWeight:v,hoverFontColor:g,borderWidth:p,borderColor:d,hoverBorderColor:b,padding:f,antiAdBlocker:y,pageRequestUuid4:t.pageRequestUuid4},x,e,n)}var nt=n(7029).h,rt=function(t){var e=t.ms,n=void 0===e?100:e,r=t.chars,i=void 0===r?["&#9719;","&#9718;","&#9717;","&#9716;"]:r,c=(0,o.eJ)(1),s=(0,a.Z)(c,2),u=s[0],l=s[1];return(0,o.d4)((function(){var t=setInterval((function(){l(u+1)}),n);return function(){return clearInterval(t)}}),[u]),nt("span",{dangerouslySetInnerHTML:{__html:i[u%4]}})},ot=n(7029).h,it=function(t){var e=t.inlineStyle,n=t.type,r=t.onClick,i=t.children,s=t.framed,u=t.busyOnClick;if("hide"===n)return null;var l=(0,o.eJ)(!1),d=(0,a.Z)(l,2),f=d[0],p=d[1],v=(0,o.I4)((function(){f||(u&&p(!0),null==r||r())}),[r,f,u]),m=(0,o.eJ)(!1),g=(0,a.Z)(m,2),b=g[0],y=g[1],x=(0,h.S)(),k=x.individualPrivacyOpen,w=x.decision,C=w.acceptAll,S=w.acceptEssentials,O=x.bodyDesign.acceptAllOneRowLayout,A={onClick:v,onMouseEnter:function(){return y(!0)},onMouseLeave:function(){return y(!1)}},Z=(0,o.Ye)((function(){switch(e){case"acceptEssentials":return $;case"acceptIndividual":return K;case"save":return tt;default:return et}}),[e]);return ot("div",(0,c.Z)({},"button"===n?A:{},Z(x,b,s,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===C||"hide"===S||k)&&O)),ot("span",(0,c.Z)({},{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"keep-all",overflow:"hidden",cursor:"pointer"}},"link"===n?A:{}),f?ot(rt,null):i))},at=n(9295),ct=n(7029).h,st=function(){var t=(0,h.S)(),e=t.activeAction,n=t.decision,r=t.texts,i=r.acceptAll,a=r.acceptEssentials,c=r.acceptIndividual,s=t.saveButton,u=t.individualTexts,l=t.individualPrivacyOpen,d=t.didGroupFirstChange,f=t.buttonClicked,p=void 0===f?"":f,m=(0,b.u)().isPro,g=v(),y=g.buttonClickedAll,x=g.buttonClickedEssentials,k=g.buttonClickedCustom,w=g.acceptAll,C=g.acceptEssentials,S=g.acceptIndividual,O=g.openIndividualPrivacy,A="change"===e;return ct(o.HY,null,!l&&m&&n.groupsFirstView&&"afterChangeAll"===n.saveButton&&d?ct(it,{onClick:S,type:n.acceptAll,inlineStyle:"acceptAll",framed:p===k,busyOnClick:A},u.save):ct(it,{onClick:w,type:n.acceptAll,inlineStyle:"acceptAll",framed:p===y,busyOnClick:A},i),"change"!==e&&ct(it,{onClick:C,type:n.acceptEssentials,inlineStyle:"acceptEssentials",framed:p===x,busyOnClick:A},a),(l||m&&n.groupsFirstView&&("always"===n.saveButton||"afterChange"===n.saveButton&&d))&&ct(it,{onClick:S,type:s.type,inlineStyle:"save",framed:p===k,busyOnClick:A},u.save),!l&&ct(it,{type:n.acceptIndividual,onClick:O,inlineStyle:"acceptIndividual",framed:p.startsWith("ind_"),busyOnClick:A},c),ct(at.m,null))},ut=n(9270),lt=n(7029).h,dt=function(t){var e,n=t.leftSideContainerRef,r=t.rightSideContainerRef,i=(0,h.S)(),a=i.groups,d=i.layout.type,f=i.mobile,p=i.ePrivacyUSA,v=i.ageNotice,g=i.bodyDesign.teachingsSeparatorActive,b=i.texts,y=b.description,x=b.ePrivacyUSA,k=b.ageNoticeBanner,w=b.consentForwardingExternalHosts,C=b.tcfGlobalScope,S=i.tcf,O=i.consentForwardingExternalHosts,A=i.individualPrivacyOpen,Z=i.individualTexts,E=i.activeAction,B=i.pageRequestUuid4,I="bnnr-body-leftSide-".concat(B),T="bnnr-body-rightSide-".concat(B),D="cntnt-".concat(B);(0,m.G)(" #".concat(I," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(e=document.getElementById(B))||void 0===e?void 0:e.clientWidth)>700?"":"#".concat(I," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==s(f,0,d)||A?A?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(D," {\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\n }\n \n #").concat(T," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(A?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));var N=O?w.replace(/{{websites}}/g,O.join(", ")):"",P=S?S.model.isServiceSpecific?"":C:"",R=[A?Z.description:y,N,P].filter(Boolean).join(" "),z=(0,ut.Q)(a,S?{gvl:S.gvl,vendorConfigurations:S.original.vendorConfigurations}:void 0,p?x:"",(function(t,e){return(null==t?void 0:t.ePrivacyUSA)||1===(null==e?void 0:e.vendorConfiguration.ePrivacyUSA)}),3,!0),W=(0,o.Ye)((function(){return lt(A?U:X,null)}),[A,S]),L=lt("div",(0,c.Z)({ref:n,key:"leftSide",id:I},function(t){var e=t.layout.type,n=t.bodyDesign.padding,r=t.customCss.antiAdBlocker,o=t.mobile,i=t.individualPrivacyOpen,a=t.activeAction,c=(t.pageRequestUuid4,s(o,0,e)),u=s(o,0,n);return{className:"y"===r?void 0:"rcb-tb-left",style:{float:"banner"===c&&"history"!==a?"left":void 0,width:"banner"===c&&"history"!==a?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===c?20:void 0,paddingTop:+u[0],paddingBottom:"banner"===c||i?+u[2]:0}}}(i)),!!R&&lt(o.HY,null,lt("div",function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.descriptionInheritFontSize,o=n.descriptionFontSize,i=t.individualLayout.descriptionTextAlign,a=t.customCss.antiAdBlocker,c=t.mobile,u=t.individualPrivacyOpen;return{className:"y"===a?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:s(c,t.pageRequestUuid4,r?+e:+o),textAlign:u?i:void 0}}}(i),"history"===E?lt(J,null):lt(o.HY,null,lt("span",{dangerouslySetInnerHTML:{__html:R}}),(p||v)&&lt(o.HY,null,g&&lt("div",null,lt("span",function(t){var e=t.layout.borderRadius,n=t.bodyDesign,r=n.teachingsSeparatorActive,o=n.teachingsSeparatorWidth,i=n.teachingsSeparatorHeight,a=n.teachingsSeparatorColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+e,width:+o,height:r?+i:0,background:a}}}(i))),!!z&&lt("span",(0,c.Z)({},V(i),{dangerouslySetInnerHTML:{__html:z}})),v&&!!k&&lt("span",(0,c.Z)({},V(i),{dangerouslySetInnerHTML:{__html:k}})))))),W),_="history"===E?lt("div",{ref:r}):lt("div",(0,c.Z)({ref:r,key:"rightSide",id:T},function(t){var e,n=t.layout,r=n.type,o=n.dialogMaxWidth,i=t.design,a=i.borderWidth,c=i.bg,d=i.fontColor,f=t.headerDesign,p=t.footerDesign,h=t.bodyDesign.padding,v=t.individualLayout.inheritDialogMaxWidth,m=t.customCss.antiAdBlocker,g=t.mobile,b=t.individualPrivacyOpen,y=(t.pageRequestUuid4,s(g,0,r)),x=s(g,0,a),k=s(g,0,h,0),w=l(d),C=w.r,S=w.g,O=w.b,A="dialog"===y?+o-k[1]-k[3]-2*x:300;return{className:"y"===m?void 0:"rcb-tb-right",style:(e={background:c,paddingTop:"banner"===y||b?+k[0]:10,paddingBottom:b?10:+k[2],float:"banner"===y||b?"right":void 0,maxWidth:A,width:A,margin:"dialog"===y&&b&&!v?"0 0 10px 10px":void 0,position:b?void 0:"sticky"},(0,u.Z)(e,b?"top":"bottom",b?"calc(var(--rendered-height-header) + ".concat(s(g,0,f.borderWidth),"px)"):"calc(var(--rendered-height-footer) + ".concat(s(g,0,p.borderWidth),"px)")),(0,u.Z)(e,"zIndex",1),(0,u.Z)(e,"display","flex"),(0,u.Z)(e,"flexWrap","wrap"),(0,u.Z)(e,"transition","box-shadow ease-in-out .1s"),(0,u.Z)(e,"--boxShadowShowScroll","0 -15px 15px -15px rgba(".concat(C,", ").concat(S,", ").concat(O,", 0.3)")),e)}}(i)),lt(st,null));return lt("div",function(t){var e=t.layout.type,n=t.design,r=n.bg,o=n.borderWidth,i=n.borderColor,a=t.bodyDesign.padding,c=t.customCss.antiAdBlocker,u=t.mobile,l=(t.pageRequestUuid4,s(u,0,o)),d={background:r,padding:s(u,0,a).map((function(t,e){return"".concat([0,2].indexOf(e)>-1?0:t,"px")})).join(" "),lineHeight:1.4};return"dialog"===s(u,0,e)&&l>0&&(d.borderLeft="".concat(l,"px solid ").concat(i),d.borderRight=d.borderLeft),{className:"y"===c?void 0:"rcb-body-container",style:d}}(i),lt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.individualPrivacyOpen;return{className:"y"===i?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===s(a,t.pageRequestUuid4,n)?+(c&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto"}}}(i),A?[_,L]:[L,_],lt("div",{style:{clear:"both"}})))},ft=n(9549),pt=n(713),ht=n(7029).h,vt=function(t){var e=t.children,n=(0,f.Z)(t,["children"]),r=(0,h.S)(),i=(0,o.eJ)(!1),u=(0,a.Z)(i,2),l=u[0],d=u[1];return ht("a",(0,c.Z)({onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)}},function(t){var e=t.footerDesign,n=e.fontSize,r=e.fontColor,o=e.hoverFontColor,i=e.fontInheritFamily,a=e.fontFamily,c=t.design.linkTextDecoration,u=t.customCss.antiAdBlocker,l=t.mobile,d=(t.pageRequestUuid4,arguments.length>1&&void 0!==arguments[1]&&arguments[1]),f={textDecoration:c,fontSize:s(l,0,+n),color:d?o:r,fontFamily:i?void 0:a,padding:"0 5px"};return{className:"y"===u?void 0:"rcb-footer-link",style:f}}(r,l),n),e)},mt=n(7029).h,gt=(0,o.Gp)((function(t,e){var n=(0,h.S)(),r=(n.isTcf,n.layout.type),i=n.mobile,a=n.legal,u=n.footerDesign,l=u.poweredByLink,d=u.linkTarget,f=(n.individualPrivacyOpen,n.updateIndividualPrivacyOpen,n.poweredLink),p=n.isConsentRecord,v=n.onClose,m=(n.pageRequestUuid4,(0,b.u)()),y=m.bannerI18n,x=y.close,k=(y.tcf,m.affiliate),w=s(i,0,r),C=(0,o.I4)((function(t){v(),t.preventDefault()}),[v]),S="_blank"===d?{target:"_blank",rel:"noopener"}:{},O=(0,pt.X)(a),A=O.linkPrivacyPolicy,Z=O.linkImprint,E=[[p&&mt(vt,{href:"#",onClick:C,key:"close"},mt("strong",null,x)),!1,A&&mt(vt,(0,c.Z)({href:A.url},S,{key:"privacyPolicy"}),A.label),Z&&mt(vt,(0,c.Z)({href:Z.url},S,{key:"imprint"}),Z.label)].filter(Boolean),[]];return f&&l&&E["banner"===w?0:1].push(mt(vt,{href:k?k.link:f.href,target:f.target,key:"powered-by"},mt("span",{dangerouslySetInnerHTML:{__html:f.innerHTML}}),k&&mt(g.z,{title:k.description,position:"top-left"}," ",k.labelBehind))),mt("div",(0,c.Z)({ref:e},function(t){var e=t.layout,n=e.type,r=e.dialogBorderRadius,o=t.design,i=t.footerDesign,a=i.inheritBg,c=i.bg,u=i.inheritTextAlign,l=i.textAlign,d=i.padding,f=i.fontSize,p=i.fontColor,h=i.fontWeight,v=t.customCss.antiAdBlocker,m=t.mobile,g=(t.pageRequestUuid4,s(m,0,n)),b=s(m,0,o.borderWidth),y={padding:s(m,0,d,0).map((function(t){return"".concat(t,"px")})).join(" "),background:a?o.bg:c,borderRadius:"dialog"===g?"0 0 ".concat(r,"px ").concat(r,"px"):void 0,fontSize:s(m,0,+f),fontWeight:h,color:p,textAlign:u?o.textAlign:l,position:"sticky",bottom:0,zIndex:1};return"dialog"===g&&b>0&&(y.borderBottom="".concat(b,"px solid ").concat(o.borderColor),y.borderLeft=y.borderBottom,y.borderRight=y.borderBottom),{className:"y"===v?void 0:"rcb-footer-container",style:y}}(n)),mt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=(t.pageRequestUuid4,t.individualPrivacyOpen);return{className:"y"===i?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===s(a,0,n)?+(c&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto",lineHeight:1.8}}}(n),(0,ft.e)(E.map((function(t){return t.length?mt(o.HY,{key:t[0].key},(0,ft.e)(t,mt(o.HY,null," • "))):null})),mt("br",null))))}));function bt(t,e){var n=(0,h.S)().pageRequestUuid4,r=(0,m.G)("","useBannerRenderedHeightsAsCssVars-".concat(e)),i=document.getElementById(r);(0,o.d4)((function(){var r=function(t){i.innerHTML="#".concat(n,"{--rendered-height-").concat(e,": ").concat(Math.floor(t),"px;--rendered-height-raw-").concat(e,": ").concat(t,"px}")};if(!t)return function(){};if(window.ResizeObserver){var o=new ResizeObserver((function(){r(t.getBoundingClientRect().height)}));return o.observe(t),function(){o.disconnect()}}var a=0,c=setInterval((function(){var e=t.getBoundingClientRect().height;a!==e&&(a=e,r(e))}),150);return function(){clearInterval(c)}}),[t,e])}var yt=n(7029).h,xt=function(){var t,e=(0,h.S)(),n=e.layout,r=n.type,i=n.dialogBorderRadius,u=e.decision,l=u.acceptEssentials,d=u.showCloseIcon,f=e.mobile,p=e.individualPrivacyOpen,v=e.design.bg,g=e.bodyDesign.teachingsFontColor,b=e.activeAction,y=e.pageRequestUuid4,x="bnnr-body-rightSide-".concat(y),k="cntnt-".concat(y),w=(0,o.sO)(),C=w.current,S=!0;!f.hideHeader||b||p||"hide"===l&&d||(S=s(f,0,S));var A=(0,o.eJ)(!1),Z=(0,a.Z)(A,2),E=Z[0],B=Z[1],I=(0,o.I4)((function(){if(C){var t=C.clientHeight,e=C.scrollHeight,n=C.scrollTop,r=C.offsetHeight,o=t<e,i=Math.ceil(n+r)>=e,a=o&&!i&&!p;E!==a&&B(a)}}),[C,p,E]);I(),(0,o.bt)((function(){return C?(C.addEventListener("scroll",I),function(){return C.removeEventListener("scroll",I)}):function(){}}),[C,I]),(0,m.G)(E&&(null===(t=document.getElementById(y))||void 0===t?void 0:t.clientWidth)<700?"#".concat(x," {box-shadow:var(--boxShadowShowScroll);}"):""),(0,m.G)("Win32"===navigator.platform&&"dialog"===r&&i>0?["#".concat(k,"{overflow:overlay!important;}"),"#".concat(k,"::-webkit-scrollbar{width:11px;}"),"#".concat(k,"{scrollbar-width:thin;scrollbar-color:").concat(g," transparent;}"),"#".concat(k,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(k,"::-webkit-scrollbar-thumb{background-color:").concat(g,";border-radius:").concat(i,"px;border:3px solid ").concat(v,";}"),"#".concat(k,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):"");var T=(0,o.sO)(),D=(0,o.sO)(),N=(0,o.sO)();return bt(T.current,"header"),bt(D.current,"footer"),bt(N.current,"rightSideContainer"),yt("div",(0,c.Z)({},function(t){var e,n=t.layout.type,r=t.customCss.antiAdBlocker,o=t.decision.showCloseIcon,i=t.activeAction,a=(t.individualPrivacyOpen,t.mobile),c=t.pageRequestUuid4,u=(null===(e=document.getElementById(c))||void 0===e?void 0:e.clientHeight)||window.innerHeight,l=(a.maxHeight,o||i?51:0);return{className:"y"===r?void 0:"rcb-content",style:{position:"relative",maxHeight:s(a,0,u-("banner"===n?0:20)-l),overflow:"auto"}}}(e),{ref:w,id:k}),S&&yt(o.HY,null,yt(O,{ref:T}),yt("div",function(t){var e=t.layout.type,n=t.design,r=t.headerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,u=(t.pageRequestUuid4,s(c,0,n.borderWidth)),l={height:s(c,0,+o),background:i,position:"sticky",top:"var(--rendered-height-header)",zIndex:9};return"dialog"===s(c,0,e)&&u>0&&(l.borderLeft="".concat(u,"px solid ").concat(n.borderColor),l.borderRight=l.borderLeft),{className:"y"===a?void 0:"rcb-header-separator",style:l}}(e))),yt(dt,{rightSideContainerRef:N}),yt("div",function(t){var e=t.layout.type,n=t.design,r=t.footerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,u=(t.pageRequestUuid4,s(c,0,n.borderWidth)),l={height:s(c,0,+o),background:i,position:"sticky",bottom:"var(--rendered-height-footer)"};return"dialog"===s(c,0,e)&&u>0&&(l.borderLeft="".concat(u,"px solid ").concat(n.borderColor),l.borderRight=l.borderLeft),{className:"y"===a?void 0:"rcb-footer-separator",style:l}}(e)),yt(gt,{ref:D}))};function kt(t,e){var n=(0,o.eJ)(0),r=(0,a.Z)(n,2),i=r[0],c=r[1],s=(0,o.eJ)(0),u=(0,a.Z)(s,2),l=u[0],d=u[1],f=(0,o.eJ)(t),p=(0,a.Z)(f,2),h=p[0],v=p[1],m=(0,o.eJ)(void 0),g=(0,a.Z)(m,2),b=g[0],y=g[1],x=(0,o.eJ)(e),k=(0,a.Z)(x,2),w=k[0],C=k[1],S=(0,o.eJ)(void 0),O=(0,a.Z)(S,2),A=O[0],Z=O[1];return(0,o.d4)((function(){i>0&&("none"===t?v(t):(v("none"),y(t))),c(i+1)}),[t]),(0,o.d4)((function(){l>0&&(0===e?C(e):(C(0),Z(e),v("none"),y(t))),d(l+1)}),[e]),(0,o.d4)((function(){void 0!==b&&(v(b),y(void 0))}),[b]),(0,o.d4)((function(){void 0!==A&&(C(A),Z(void 0))}),[A]),[h,w]}var wt=n(7938),Ct=n(5450),St=n.n(Ct),Ot=n(5194),At=n(2992),Zt={path:"/consent",method:At.O.GET},Et=n(86),Bt=n(784),It=n(8527),Tt='[href^="#consent-"]',Dt=n(7029).h;function Nt(t){var e=t.isVisible,n=t.animationIn,r=t.animationOut,o=t.animationInDuration,i=t.animationOutDuration,a=t.animationInDelay,c=t.animationOutDelay;return e?{animation:n,duration:o,delay:a}:{animation:r,duration:i,delay:c}}var Pt=function(t){var e=t.animateOnMount,n=void 0===e||e,r=t.isVisible,c=void 0===r||r,s=t.animationIn,u=void 0===s?"fadeIn":s,l=t.animationOut,d=void 0===l?"fadeOut":l,f=t.animationInDelay,p=void 0===f?0:f,h=t.animationOutDelay,v=void 0===h?0:h,m=t.animationInDuration,g=void 0===m?1e3:m,b=t.animationOutDuration,y=void 0===b?1e3:b,x=t.className,k=void 0===x?"":x,w=t.style,C=void 0===w?{}:w,S=t.children,O=(0,o.eJ)(n?Nt({isVisible:c,animationIn:u,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:g,animationOutDuration:y}):{animation:"",delay:void 0,duration:0}),A=(0,a.Z)(O,2),Z=A[0],E=Z.animation,B=Z.duration,I=Z.delay,T=A[1];(0,o.d4)((function(){T(Nt({isVisible:c,animationIn:u,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:g,animationOutDuration:y}))}),[c,u,d,p,v,g,y]);var D="animate__animated animate__".concat(E," ").concat(k),N=E?{}:{opacity:c?1:0,transition:"opacity ".concat(I,"ms")};return Dt("div",{className:D,style:(0,i.Z)((0,i.Z)({animationDelay:"".concat(I,"ms"),animationDuration:"".concat(B,"ms"),pointerEvents:c?"all":"none"},C),N)},S)};function Rt(t){var e=t.legal,n=e.imprint,r=e.imprintHide,o=e.privacyPolicy,i=e.privacyPolicyHide,a=t.pageId;return[r&&+n,i&&+o].filter(Boolean).indexOf(a)>-1}var zt=n(8055),Wt=n(7029).h,Lt=function(){var t=(0,h.S)(),e=((0,b.u)().isPro,t.layout),n=e.animationIn,r=e.animationInDuration,i=e.animationOut,l=e.animationOutDuration,f=e.overlay,p=(e.overlayBlur,t.customCss),v=p.antiAdBlocker,g=p.css,y=t.visible,x=t.animationVisible,k=t.activeAction,w=t.skipOverlay,C=t.gotHiddenDueLegal,S=t.pageRequestUuid4,O=t.individualPrivacyOpen,A=kt(n,r),Z=(0,a.Z)(A,2),E=Z[0],B=Z[1],I=kt("none"===i?"fadeOut":i,"none"===i?0:l),T=(0,a.Z)(I,2),D=T[0],N=T[1],P=Rt(t),R=y&&!P||!!k;(0,m.G)(v?g:""),(0,m.G)("#".concat(S,", #").concat(S," * {box-sizing: border-box;}")),function(t){(0,o.d4)((function(){var e=document.body,n=e.dataset,r=e.style;void 0===n.rcbPreviousOverflow&&(n.rcbPreviousOverflow=r.overflow),r.overflow=t?"hidden":n.rcbPreviousOverflow,document.body.parentElement.style.overflow=r.overflow}),[t])}(R&&f&&x);var z,W,L,_,H=(0,o.eJ)(0),Y=(0,a.Z)(H,2)[1],F=function(){return Y(+new Date)};if((0,o.bt)((function(){return window.addEventListener("resize",F),function(){return window.removeEventListener("resize",F)}}),[]),(0,o.bt)((function(){(0,zt.s)(1e3)}),[x,O]),C&&(0,o.d4)((function(){C(P)}),[P]),function(){var t=(0,h.S)(),e=t.consent,n=t.groups,r=t.tcf,i=t.activeAction,c=t.selectHistoryEntry,s=t.setHistory,u=(0,o.eJ)({consent:e,groups:n,tcf:r}),l=(0,a.Z)(u,2),d=l[0],f=l[1];(0,o.d4)((function(){i||f({consent:e,groups:n,tcf:r})}),[e,n,r,i]),(0,o.d4)((function(){function t(){return(t=(0,wt.Z)(St().mark((function t(){var e,n,r,o,i,u,l,d,f,p,h;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,Ot.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce,t.next=3,(0,Et.D)({location:Zt,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1});case 3:u=t.sent,s(u),u.length?(l=(0,a.Z)(u,1),d=l[0],f=d.groups,p=d.decision,h=d.tcf,c(f,p,h)):c([],[]);case 6:case"end":return t.stop()}}),t)})))).apply(this,arguments)}if("history"===i)f({consent:e,groups:n,tcf:r}),function(){t.apply(this,arguments)}();else{var o=d.groups,u=d.consent.groups,l=d.tcf;null==c||c(o,u,l)}}),[i])}(),z=(0,h.S)(),W=z.openBanner,L=z.openHistory,_=z.revokeConsent,(0,o.d4)((function(){var t=function(t,e,n){switch(t){case"change":W(n);break;case"history":L(n);break;case"revoke":_(e,n)}},e=function(e){if(W){var n=e.target;(0,Bt.w)(n,Tt).concat((0,It.D)(n,Tt)?[n]:[]).forEach((function(n){t(n.getAttribute("href").slice(9),n.getAttribute("data-success-message"),e)})),(0,It.D)(n,".rcb-sc-link")&&t(n.getAttribute("href").slice(1),n.getAttribute("data-success-message"),e)}};return document.addEventListener("click",e,!0),function(){document.removeEventListener("click",e,!0)}}),[W,L,_]),!R)return null;var U=Wt("div",function(t){var e=t.layout,n=e.type,r=e.dialogPosition,o=t.customCss.antiAdBlocker,i={display:"flex",width:"100%",height:"100%"};return"dialog"===s(t.mobile,t.pageRequestUuid4,n)&&(i.alignItems=r.startsWith("top")?"flex-start":r.startsWith("bottom")?"flex-end":"center",i.justifyContent=r.endsWith("Center")?"center":r.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===o?"":"rcb-align"),style:i}}(t),Wt(Pt,(0,c.Z)({animationIn:E,animationInDuration:B,animationOut:D,animationOutDuration:N,isVisible:x},function(t){var e=t.layout,n=e.type,r=e.dialogMaxWidth,o=e.dialogPosition,i=e.dialogMargin,a=e.bannerPosition,c=e.dialogBorderRadius,l=t.design,f=l.borderWidth,p=l.borderColor,h=l.textAlign,v=l.fontColor,m=l.fontInheritFamily,g=l.fontFamily,b=l.fontWeight,y=l.boxShadowEnabled,x=l.boxShadowOffsetX,k=l.boxShadowOffsetY,w=l.boxShadowBlurRadius,C=l.boxShadowSpreadRadius,S=l.boxShadowColor,O=l.boxShadowColorAlpha,A=t.individualLayout,Z=t.customCss.antiAdBlocker,E=t.mobile,B=(t.pageRequestUuid4,t.individualPrivacyOpen),I=(E.alignment,s(E,0,n)),T=s(E,0,f),D="dialog"===I?+(B&&!A.inheritDialogMaxWidth?A.dialogMaxWidth:r):"100%",N=(0,u.Z)({pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:D,textAlign:h,width:D,overflow:"hidden",alignSelf:s(E,0,"banner"===I?"top"===a?"flex-start":"flex-end":void 0),fontFamily:m?void 0:g,fontWeight:b,color:v,margin:"dialog"===I?10:void 0,borderRadius:"dialog"===I?+c:void 0,boxShadow:y?"".concat(x,"px ").concat(k,"px ").concat(w,"px ").concat(C,"px ").concat(d(S,O)):void 0},"banner"===I?"top"===a?"borderBottom":"borderTop":"border","banner"===I&&T>0?"".concat(T,"px solid ").concat(p):void 0);return"dialog"===I&&"middleCenter"!==o&&(N.margin=i.map((function(t){return"".concat(t,"px")})).join(" ")),{className:"y"===Z?void 0:"rcb-inner",style:N}}(t)),Wt(xt,null)));return w?U:Wt("div",(0,c.Z)({id:S},function(t){var e=t.layout,n=e.type,r=e.overlay,o=e.overlayBg,i=e.overlayBgAlpha,a=t.design.fontSize,c=t.customCss.antiAdBlocker,u=t.mobile;t.pageRequestUuid4;return{className:"y"===c?void 0:"rcb-bann3r rcb-bann3r-".concat(s(u,0,n)," ").concat(r?"":"overlay-deactivated"),style:{background:r?d(o,i):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:99999,pointerEvents:r?"all":"none",fontSize:s(u,0,+a)}}}(t)),U)},_t=n(9747);function Ht(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=(0,b.u)(),n=e.groups,r=e.essentialGroup,o=n.filter((function(t){return t.slug===r})),i=(0,a.Z)(o,1),c=i[0],s=(0,u.Z)({},c.id,c.items.map((function(t){return t.id})));if(t){var l,d=(0,p.Z)(n);try{for(d.s();!(l=d.n()).done;){var f=l.value;if(f!==c){var h=f.items.filter((function(t){return"legitimate-interest"===t.legalBasis})).map((function(t){return t.id}));h.length&&(s[f.id]=h)}}}catch(t){d.e(t)}finally{d.f()}}return s}var Yt=n(7051),Ft=n(6341),Ut=function(){var t=(0,wt.Z)(St().mark((function t(){return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!(0,Ft.E)()&&"essentials");case 1:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),Mt=function(){var t=(0,wt.Z)(St().mark((function t(){var e;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=document.body.className,t.abrupt("return",e.indexOf("login-action-")>-1&&"consent");case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),qt=n(4717),jt=n.n(qt);function Xt(){var t=navigator.userAgent;return!!t&&!/chrome-lighthouse/i.test(t)&&jt()(t)}var Gt=n(3532).default;function Jt(t,e){return new Gt((function(n,r){t.then(n,r);var o=new Error("Timed out");setTimeout(r,e,o)}))}var Vt=n(2624),Qt={path:"/consent/dynamic-predecision",method:At.O.GET},$t=function(){var t=(0,wt.Z)(St().mark((function t(){var e,n,r,o,i,a,c,s,u,l,d,f,p,h,v;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=(0,Ot.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce,a=e.others,c=a.revisionHash,s=a.hasDynamicPreDecisions,!Xt()&&s){t.next=3;break}return t.abrupt("return",!1);case 3:if(!(u=(0,Vt.h)())){t.next=8;break}if(l=u.revision,c!==l){t.next=8;break}return t.abrupt("return","consent");case 8:return d=document.documentElement,f=d.clientWidth,p=d.clientHeight,t.prev=9,t.next=12,Jt((0,Et.D)({location:Qt,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1,request:{viewPortWidth:f,viewPortHeight:p},params:{_wp_http_referer:window.location.href}}),1e4);case 12:return h=t.sent,v=h.predecision,t.abrupt("return",v);case 17:return t.prev=17,t.t0=t.catch(9),t.abrupt("return",!1);case 20:case"end":return t.stop()}}),t,null,[[9,17]])})));return function(){return t.apply(this,arguments)}}(),Kt=function(){var t=(0,wt.Z)(St().mark((function t(e){return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!!Rt(e)&&"consent");case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),te=function(){var t=(0,wt.Z)(St().mark((function t(){var e,n;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,b.u)(),n=(0,Vt.h)(),t.abrupt("return",!(!e.isPreventPreDecision||!1!==n)&&(Xt()?"all":"consent"));case 3:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),ee=function(){var t=(0,wt.Z)(St().mark((function t(){var e,n;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=(0,b.u)(),n=e.isAcceptAllForBots,!1===(0,Vt.h)()&&n){t.next=3;break}return t.abrupt("return",!1);case 3:return t.abrupt("return",!!Xt()&&"all");case 4:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();function ne(){try{var t=window;if((t.doNotTrack||t.navigator.doNotTrack||t.navigator.msDoNotTrack||"msTrackingProtectionEnabled"in t.external)&&("1"==t.doNotTrack||"yes"==t.navigator.doNotTrack||"1"==t.navigator.doNotTrack||"1"==t.navigator.msDoNotTrack||t.external.msTrackingProtectionEnabled()))return!0}catch(t){}return!1}var re=function(){var t=(0,wt.Z)(St().mark((function t(){var e,n,r,o,i,c,s,u,l,d,f,h;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=(0,b.u)(),n=e.isRespectDoNotTrack,r=e.groups,o=e.essentialGroup,i=r.filter((function(t){return t.slug===o})),c=(0,a.Z)(i,1),s=c[0],!1===(0,Vt.h)()&&n){t.next=4;break}return t.abrupt("return",!1);case 4:u=(0,p.Z)(r),t.prev=5,u.s();case 7:if((l=u.n()).done){t.next=29;break}if((d=l.value)===s){t.next=27;break}f=(0,p.Z)(d.items),t.prev=11,f.s();case 13:if((h=f.n()).done){t.next=19;break}if("legitimate-interest"!==h.value.legalBasis){t.next=17;break}return t.abrupt("return",!1);case 17:t.next=13;break;case 19:t.next=24;break;case 21:t.prev=21,t.t0=t.catch(11),f.e(t.t0);case 24:return t.prev=24,f.f(),t.finish(24);case 27:t.next=7;break;case 29:t.next=34;break;case 31:t.prev=31,t.t1=t.catch(5),u.e(t.t1);case 34:return t.prev=34,u.f(),t.finish(34);case 37:return t.abrupt("return",!!ne()&&"dnt");case 38:case"end":return t.stop()}}),t,null,[[5,31,34,37],[11,21,24,27]])})));return function(){return t.apply(this,arguments)}}(),oe=function(){var t=(0,wt.Z)(St().mark((function t(){var e,n,r,o;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!1!==(e=(0,Vt.h)())){t.next=3;break}return t.abrupt("return",!1);case 3:return n=e.revision,r=(0,b.u)(),o=r.revisionHash,t.abrupt("return",o===n&&"consent");case 6:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),ie=n(7248),ae=n(996);var ce=n(7029).h,se=function(t){var e=t.poweredLink,n=(0,Vt.h)(),r=(0,b.u)(),c=r.customizeValuesBanner,s=c.layout,u=c.decision,l=c.legal,d=c.design,f=c.headerDesign,p=c.bodyDesign,v=c.footerDesign,m=c.texts,g=c.individualLayout,y=c.saveButton,x=c.group,k=c.individualTexts,w=c.customCss,C=c.mobile,S=r.pageId,O=r.pageRequestUuid4,A=r.pageIdToPermalink,Z=r.consentForwardingExternalHosts,E=r.essentialGroup,B=r.isTcf,I=r.isEPrivacyUSA,T=r.isAgeNotice,D=r.tcf,N=r.tcfMetadata,P=r.groups,R=r.isRefreshSiteAfterConsent,z=function(t,e,n){return(0,o.Ye)((function(){}),[t,e,n])}(B,D,N),W=function(){var t=(0,b.u)().pageRequestUuid4,e=document.getElementById(t),n=(0,o.I4)((function(t,n){var r=t.layout,o=r.animationIn,a=r.animationInDuration,c=r.animationOut,s=r.animationOutDuration,u=n?"none"===o?0:a:"none"===c?0:s;u>0&&(e.style.transition="background ".concat(u,"ms")),e.style.background="transparent",n?(setTimeout((function(){e.style.display="block"}),0),setTimeout((function(){var t=e.getAttribute("data-bg");e.style.background=t?t.split(":")[1].trim().replace(";",""):"transparent"}),100)):setTimeout((function(){e.style.display="none"}),u);var l={animationVisible:n};return n?(0,i.Z)({visible:!0},l):l}),[]);return{overlay:e,toggleOverlay:n}}(),L=W.toggleOverlay,_=(0,o.eJ)({layout:(0,i.Z)({},s),decision:(0,i.Z)({},u),legal:(0,i.Z)({},l),design:(0,i.Z)({},d),headerDesign:(0,i.Z)({},f),bodyDesign:(0,i.Z)({},p),footerDesign:(0,i.Z)({},v),texts:(0,i.Z)({},m),individualLayout:(0,i.Z)({},g),saveButton:(0,i.Z)({},y),group:(0,i.Z)({},x),individualTexts:(0,i.Z)({},k),customCss:(0,i.Z)({},w),mobile:(0,i.Z)({},C),pageRequestUuid4:O,pageIdToPermalink:A,consentForwardingExternalHosts:Z,pageId:S,isTcf:B,ePrivacyUSA:I,ageNotice:T,tcf:z,tcfFilterBy:"legInt",updateTcfFilterBy:function(t){F((function(e){return(0,i.Z)((0,i.Z)({},e),{},{tcfFilterBy:t})}))},groups:P,essentialGroup:E,poweredLink:e,visible:!1,animationVisible:!0,skipOverlay:!0,previewCheckboxActiveState:!1,individualPrivacyOpen:!1,updateIndividualPrivacyOpen:function(t){F((function(e){return(0,i.Z)((0,i.Z)({},e),{},{individualPrivacyOpen:t})}))},consent:{groups:(0,i.Z)((0,i.Z)({},!1===n?{}:n.consent),Ht(!1===n))},didGroupFirstChange:!1,updateGroupChecked:function(t,e){F((function(n){var r=JSON.parse(JSON.stringify(n.consent));return e?r.groups[t]=n.groups.filter((function(e){return e.id===t}))[0].items.map((function(t){return t.id})):delete r.groups[t],(0,i.Z)((0,i.Z)({},n),{},{consent:r,didGroupFirstChange:!0})}))},updateCookieChecked:function(t,e,n){F((function(r){var o=JSON.parse(JSON.stringify(r.consent));o.groups[t]||(o.groups[t]=[]);var a=o.groups[t],c=a.indexOf(e);return n&&-1===c?a.push(e):!n&&c>-1&&a.splice(c,1),a.length||delete o.groups[t],(0,i.Z)((0,i.Z)({},r),{},{consent:o})}))},onSave:function(t,e){F((function(n){var r=(0,_t.$)({consent:n.consent,markAsDoNotTrack:t,buttonClicked:e,tcfString:void 0});return R||n.refreshSiteAfterSave?(r.then((function(){return setTimeout((function(){return window.location.reload()}),n.refreshSiteAfterSave||2e3)})),n):(0,i.Z)((0,i.Z)({},n),L(n,!1))}))},onClose:function(){F((function(t){return(0,i.Z)((0,i.Z)((0,i.Z)({},t),L(t,!1)),{},{refreshSiteAfterSave:!1})}))},setHistory:function(t){F((function(e){return(0,i.Z)((0,i.Z)({},e),{},{history:t})}))},selectHistoryEntry:function(t,e,n){F((function(r){var o={isTcf:!!n,tcf:null};return(0,i.Z)((0,i.Z)({},r),{},{groups:t,consent:(0,i.Z)((0,i.Z)({},r.consent),{},{groups:e})},o)}))}}),H=(0,a.Z)(_,2),Y=H[0],F=H[1];!function(t,e){(0,o.Ye)((function(){var n=function(n){return t((function(t){return(0,i.Z)((0,i.Z)({},t),{},{activeAction:n,individualPrivacyOpen:!0,refreshSiteAfterSave:"change"===n&&2e3},e(t,!0))}))},r=function(t){t&&(t.preventDefault(),t.stopPropagation())},o={openHistory:function(t){n("history"),r(t)},openBanner:function(t){n("change"),r(t)},revokeConsent:function(e,n){t((function(t){return t.tcf,(0,wt.Z)(St().mark((function t(){return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=4,(0,_t.$)({consent:{groups:Ht(!0)},buttonClicked:"shortcode_revoke",tcfString:void 0});case 4:e&&alert(e),setTimeout((function(){return window.location.reload()}),2e3);case 6:case"end":return t.stop()}}),t)})))(),t})),r(n)}};t((function(t){return(0,i.Z)((0,i.Z)({},t),o)}))}),[t,e])}(F,L),function(t,e,n){!(0,b.u)().customizeIdsBanner&&(0,o.d4)((function(){(0,wt.Z)(St().mark((function r(){var o,a,c,s,u,l;return St().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=t.onSave,a=!0,c=0,s=[Ut,Mt,$t,Kt,te,ee,re,oe];case 4:if(!(c<s.length)){r.next=16;break}return u=s[c],r.next=8,u(t);case 8:if(!1===(l=r.sent)){r.next=13;break}return a=!1,"all"===l?(0,ie.k)("all"):"essentials"===l?(0,ie.k)("essentials"):"dnt"===l?o(u===re,"none"):"consent"===l&&(0,ie.k)("consent"),r.abrupt("break",16);case 13:c++,r.next=4;break;case 16:if(!a){r.next=21;break}return e((function(t){return(0,i.Z)((0,i.Z)({},t),{},{consent:{groups:Ht()}},n(t,!0))})),r.next=20,(0,Yt.C)();case 20:document.dispatchEvent(new CustomEvent(ae.I,{detail:{}}));case 21:case"end":return r.stop()}}),r)})))()}),[])}(Y,F,L);var U=h.k.Context();return ce(U.Provider,{value:Y},ce(Lt,null))},ue=n(8865),le=n(4052),de=n(2785),fe=n(3532).default;function pe(t){return he.apply(this,arguments)}function he(){return he=(0,wt.Z)(St().mark((function t(e){var n,r,o,i=arguments;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=i.length>1&&void 0!==i[1]?i[1]:500,r=i.length>2&&void 0!==i[2]?i[2]:0,o=0;case 3:if(e()){t.next=11;break}if(!(r>0&&o>=r)){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,new fe((function(t){return setTimeout(t,n)}));case 8:o++,t.next=3;break;case 11:return t.abrupt("return",e());case 12:case"end":return t.stop()}}),t)}))),he.apply(this,arguments)}var ve=0,me=n(2207),ge=n(3657),be=n(373),ye=n(3421),xe=n(3416);function ke(t,e,n){var r,o=[],i=(0,b.u)(),a=i.groups,c=i.revisionHash,s=a.map((function(t){return t.items})).flat(),u=(0,p.Z)(s);try{for(u.s();!(r=u.n()).done;){var l=r.value;if("number"==typeof t)l.id===t&&o.push({cookie:l,relevance:10});else{var d=l.technicalDefinitions;if(null!=d&&d.length){var f,h=(0,p.Z)(d);try{for(h.s();!(f=h.n()).done;){var v=f.value,m=(0,xe.D)(v.name);if(v.type===t&&(v.name===e||e.match(m))&&(v.host===n||"*"===n)){o.push({cookie:l,relevance:d.length+d.indexOf(v)+1});break}}}catch(t){h.e(t)}finally{h.f()}}}}}catch(t){u.e(t)}finally{u.f()}var g=(0,Vt.h)();if(o.length){var y=o.sort((function(t,e){return t.relevance-e.relevance}))[0].cookie;return g&&c===g.revision?Object.values(g.consent).flat().indexOf(y.id)>-1?{cookie:y,consentGiven:!0,cookieOptIn:!0}:{cookie:y,consentGiven:!0,cookieOptIn:!1}:{cookie:y,consentGiven:!1,cookieOptIn:!1}}return{cookie:null,consentGiven:!!g,cookieOptIn:!0}}var we=n(3532).default;function Ce(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new we((function(t,n){var r=ke.apply(void 0,e),o=r.cookie,i=r.consentGiven,a=r.cookieOptIn;o?i?a?t():n():(document.addEventListener(de.g,function(){var e=(0,wt.Z)(St().mark((function e(n){return St().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n.detail.cookie===o&&t();case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),document.addEventListener(ye.E,function(){var t=(0,wt.Z)(St().mark((function t(e){return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.detail.cookie===o&&n();case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())):t()}))}var Se=n(965),Oe=n(3532).default;function Ae(t){return Oe.all(t.map((function(t){return Ce.apply(void 0,(0,Se.Z)(t))})))}var Ze,Ee=n(7577),Be=n(7029).h;n.p=(0,Ee.sE)({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"0",TCF_CMP_ID:367}),document.addEventListener(de.g,function(){var t=(0,wt.Z)(St().mark((function t(e){var n,r,o,i,a,c,s,u;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=e.detail.cookie,r=n.presetId,o=n.codeOptIn,i=n.codeDynamics,t.t0=r,t.next="amazon-associates-widget"===t.t0?4:"google-maps"===t.t0?16:18;break;case 4:if(!(a=(i||{}).amznAssoWidgetHtmlId)){t.next=15;break}if(!(c=document.getElementById(a))){t.next=15;break}return s=ve,ve++,(0,ue.K)(o,i,c),t.next=13,pe((function(){return document.querySelector('[id^="amzn_assoc_ad_div_"][id$="'.concat(s,'"]'))}),500,50);case 13:(u=t.sent)&&c.appendChild(u);case 15:return t.abrupt("break",19);case 16:return document.addEventListener(le.T,function(){var t=(0,wt.Z)(St().mark((function t(e){var n,r,o,i;return St().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.detail.element,r=window,o=r.et_pb_map_init,!((i=r.jQuery)&&n.matches(".et_pb_map")&&o)){t.next=6;break}return t.next=5,pe((function(){return window.google}));case 5:o(i(n).parent());case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("break",19);case 18:return t.abrupt("break",19);case 19:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),Ze=Array.prototype.slice.call(document.querySelectorAll(".rcb-consent-print-uuid")),document.addEventListener(ae.I,(function(){Ze.forEach((function(t){return t.innerHTML=t.getAttribute("data-fallback")}))})),document.addEventListener(me.V,(function(){var t=(0,Vt.h)();Ze.forEach((function(e){return e.innerHTML=!1===t?e.getAttribute("data-fallback"):t.uuid}))})),(0,b.u)().isTcf,(0,Yt.C)((function(){var t=(0,b.u)().pageRequestUuid4,e=(0,ge.U)(),n=function(t){var e=document.body;return t.parentElement!==e&&e.appendChild(t),t}(document.getElementById(t));n&&(0,o.sY)(Be(se,{poweredLink:e}),n)}),"interactive"),window&&(window.consentApi=r)},9295:function(t,e,n){"use strict";n.d(e,{m:function(){return i}});var r=n(6703),o=n(7029).h,i=function(){var t=(0,r.u)(),e=t.isPro,n=t.isLicensed,i=t.isDevLicense,a=t.bannerI18n,c=a.noLicense,s=a.devLicense;if(!e)return null;var u="";return i?u=s:n||(u=c),u?o("div",{style:{fontSize:13,color:"#c95252",fontWeight:"bold",order:9}},u):null}},617:function(t,e,n){"use strict";n.d(e,{z:function(){return u}});var r=n(2722),o=n(4115),i=n(5213),a=n(3428),c=n(6228),s=n(7029).h,u=(0,i.Gp)((function(t,e){var n=t.children,i=t.className,u=t.title,l=t.position,d=void 0===l?"top":l,f=t.color,p=t.size,h=void 0===p?"large":p,v=t.always,m=t.rounded,g=t.noAnimate,b=t.bounce,y=(0,o.Z)(t,["children","className","title","position","color","size","always","rounded","noAnimate","bounce"]);return(0,c.G)(a,"hint-css"),s("div",(0,r.Z)({style:{position:"relative",display:"inline"},ref:e,"aria-label":u,className:"hint--".concat(d," hint--").concat(h," ").concat(f?"hint--".concat(f):""," ").concat(v?"hint--always":""," ").concat(m?"hint--rounded":""," ").concat(g?"hint--no-animate":""," ").concat(b?"hint--bounce":""," ").concat(i||"")},y),n)}))},595:function(t,e,n){"use strict";n.d(e,{p:function(){return s}});var r=n(2722),o=n(4115),i=n(5213),a=n(1680),c=n(7029).h,s=function(t){var e=t.icon,n=(0,o.Z)(t,["icon"]),s=(0,i.Ye)((function(){return(0,a.x)(e,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})}),[e]);return c("div",(0,r.Z)({},n,{dangerouslySetInnerHTML:{__html:s}}))}},6845:function(t,e,n){"use strict";n.d(e,{k:function(){return a},S:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},6943:function(t,e,n){"use strict";n.d(e,{Z:function(){return a},_:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},713:function(t,e,n){"use strict";n.d(e,{X:function(){return c}});var r=n(6845),o=n(6943),i=n(6703);function a(t){var e=(0,r.S)().pageIdToPermalink,n=(0,o._)().pageIdToPermalink,a=e||n,c=(0,i.u)().pageByIdUrl;return(null==a?void 0:a[t])||"".concat(c,"=").concat(t)}function c(t){var e=t.privacyPolicy,n=t.privacyPolicyExternalUrl,r=t.privacyPolicyIsExternalUrl,o=t.privacyPolicyLabel,i=t.imprint,c=t.imprintExternalUrl,s=t.imprintIsExternalUrl,u=t.imprintLabel,l=a(e),d=a(i);return r&&(l=n),s&&(d=c),{linkPrivacyPolicy:!!o&&{url:l,label:o},linkImprint:!!u&&{url:d,label:u}}}},6228:function(t,e,n){"use strict";n.d(e,{G:function(){return i}});var r=n(5213),o=0;function i(t,e){var n=(0,r.Ye)((function(){return"react-use-plain-css-".concat(e||(o++).toString(36))}),[]);return(0,r.bt)((function(){var e=document.getElementById(n);return e||((e=document.createElement("style")).style.type="text/css",e.id=n,document.getElementsByTagName("head")[0].appendChild(e)),e.innerHTML=t,function(){var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),[t]),n}},9747:function(t,e,n){"use strict";n.d(e,{$:function(){return g}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c={path:"/consent",method:n(2992).O.POST},s=n(5194),u=n(38),l=n(6703),d=n(5654).default,f=n(3532).default;function p(t){var e=t.endpoints,n=t.data;if((0,l.u)().isPro){var r,o=[],i=(0,u.Z)(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;o.push(d(a,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)}))}}catch(t){i.e(t)}finally{i.f()}return f.all(o)}return f.reject()}var h=n(7248),v=n(86),m=n(3532).default;function g(t){return b.apply(this,arguments)}function b(){return(b=(0,o.Z)(a().mark((function t(e){var n,o,i,u,l,d,f,g,b,y,x,k,w,C,S,O,A,Z,E,B;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.consent,o=e.markAsDoNotTrack,i=void 0!==o&&o,u=e.buttonClicked,l=e.blocker,d=void 0===l?0:l,f=e.tcfString,g=document.documentElement,b=g.clientWidth,y=g.clientHeight,x=(0,s.m)(),k=x.restNamespace,w=x.restRoot,C=x.restQuery,S=x.restNonce,t.next=5,(0,v.D)({location:c,options:{restNamespace:k,restRoot:w,restQuery:C,restNonce:S},sendRestNonce:!1,request:(0,r.Z)((0,r.Z)({},n),{},{markAsDoNotTrack:i,buttonClicked:u,viewPortWidth:b,viewPortHeight:y,blocker:d,tcfString:f}),params:{_wp_http_referer:window.location.href}});case 5:return O=t.sent,A=O.forward,Z=O.uuid,E=O.cookie_revision,B=O.decision_in_cookie,window.rcbDisabledCookieComp={uuid:Z,revision:E,consent:B},t.next=13,m.all([A&&p(A),(0,h.k)("consent")].filter(Boolean));case 13:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},7248:function(t,e,n){"use strict";n.d(e,{k:function(){return z}});var r=n(7938),o=n(5450),i=n.n(o),a=n(4115),c=n(38),s=n(63),u=n(7663),l=n(6703),d=n(2624);function f(t){var e,n,o=(0,l.u)(),a=o.groups,f=o.essentialGroup,p=o.setCookiesViaManager,h=o.isPro&&"none"!==p,v=a.filter((function(t){return t.slug===f})),m=(0,u.Z)(v,1)[0],g=(0,s.Z)({},m.id,m.items.map((function(t){return t.id})));if("consent"===t){var b=(0,d.h)();!1!==b?e=b.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),e=g)}return"essentials"===t&&(e=g),{isManagerActive:h,selectedGroups:e,iterateCookies:(n=(0,r.Z)(i().mark((function n(r){var o,s,u,l,d,f,p,h;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=(0,c.Z)(a),n.prev=1,o.s();case 3:if((s=o.n()).done){n.next=25;break}u=s.value,l=(0,c.Z)(u.items),n.prev=6,l.s();case 8:if((d=l.n()).done){n.next=15;break}return p=d.value,h="all"===t||(null===(f=e[u.id])||void 0===f?void 0:f.indexOf(p.id))>-1,n.next=13,r(u,p,h);case 13:n.next=8;break;case 15:n.next=20;break;case 17:n.prev=17,n.t0=n.catch(6),l.e(n.t0);case 20:return n.prev=20,l.f(),n.finish(20);case 23:n.next=3;break;case 25:n.next=30;break;case 27:n.prev=27,n.t1=n.catch(1),o.e(n.t1);case 30:return n.prev=30,o.f(),n.finish(30);case 33:case"end":return n.stop()}}),n,null,[[1,27,30,33],[6,17,20,23]])}))),function(t){return n.apply(this,arguments)})}}function p(t,e){var n,r,o;return t&&(r=(n=e).charAt(0).toUpperCase()+n.slice(1),o="googleTagManager"===e?"dataLayer":"_mtm"),{useVariableNameCamel:n,useVariableNamePascal:r,useGlobalObjectName:o}}var h=n(2785),v=n(2207),m=n(8865),g=n(3532).default;function b(t){return y.apply(this,arguments)}function y(){return y=(0,r.Z)(i().mark((function t(e){var n,o,c,s,u,d,b,y,x,k;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=[],o=f(e),c=o.isManagerActive,s=o.iterateCookies,u=(0,l.u)(),d=u.setCookiesViaManager,(b=p(c,d)).useGlobalObjectName,y=b.useVariableNamePascal,x=!1,k=g.resolve(void 0),t.next=8,s(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var s,u,l,d,f,p;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:s=r.presetId,u=r.codeDynamics,l=r.codeOptIn,d=(0,a.Z)(r,["presetId","codeDynamics","codeOptIn"]),c&&d["thisIs".concat(y)],o&&(f=c&&d["codeOptInNo".concat(y)],p=["amazon-associates-widget"].indexOf(s)>-1,f||p||(0,m.K)(l,u),document.dispatchEvent(new CustomEvent(h.g,{detail:{group:e,cookie:r}})),n.push({group:e,cookie:r}));case 3:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 8:return document.dispatchEvent(new CustomEvent(v.V,{detail:{cookies:n}})),t.abrupt("return",{isManagerOptOut:x,dataLayerPromise:k});case 10:case"end":return t.stop()}}),t)}))),y.apply(this,arguments)}var x=n(3532).default;function k(t,e,n){return w.apply(this,arguments)}function w(){return w=(0,r.Z)(i().mark((function t(e,n,o){var c,u,d,h,v,g,b,y;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(c=f(e),u=c.isManagerActive,d=c.iterateCookies,h=(0,l.u)(),v=h.setCookiesViaManager,g=p(u,v),b=g.useVariableNameCamel,y=g.useVariableNamePascal,!n){t.next=10;break}return d((function(t,e,r){var o=e["".concat(b,"InEventName")];r&&o&&n.push({realCookieBannerOptInEvents:(0,s.Z)({},o,!0),event:o})})),t.next=7,new x((function(t){return setTimeout(t,1e3)}));case 7:d((function(t,e,r){var o=e["".concat(b,"OutEventName")];!r&&o&&n.push({realCookieBannerOptOutEvents:(0,s.Z)({},o,!0),event:o})})),t.next=13;break;case 10:if(!u||!o){t.next=13;break}return t.next=13,d(function(){var t=(0,r.Z)(i().mark((function t(e,n,r){var o,c,s;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=n.codeDynamics,c=n.codeOptIn,s=(0,a.Z)(n,["codeDynamics","codeOptIn"]),r&&s["codeOptInNo".concat(y)]&&(0,m.K)(c,o);case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 13:case"end":return t.stop()}}),t)}))),w.apply(this,arguments)}var C=n(3416),S=n(8542),O=n.n(S),A=n(4930);function Z(t,e){var n,r=(0,c.Z)(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=o.type,a=o.name,s=new RegExp((0,C.D)((0,A.c)(a,e)),"g");switch(i){case"http":for(var u=0,l=Object.keys(O().get());u<l.length;u++){var d=l[u];s.test(d)&&O().remove(d)}break;case"local":case"session":try{var f="local"===i?window.localStorage:window.sessionStorage;if(f)for(var p=0,h=Object.keys(f);p<h.length;p++){var v=h[p];if(s.test(v)){try{f.setItem(v,null)}catch(t){}for(var m=0;f.getItem(v)&&m<100;)m++,f.removeItem(v)}}}catch(t){continue}}}}catch(t){r.e(t)}finally{r.f()}}var E=n(86),B=n(5194),I={path:"/consent/clear",method:n(2992).O.DELETE};function T(t){var e=(0,B.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce;return(0,E.D)({location:I,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1,params:{cookies:t.join(",")}})}var D=n(3421);function N(t,e){return P.apply(this,arguments)}function P(){return P=(0,r.Z)(i().mark((function t(e,n){var o,c,s,u,d,h,v,g;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=f(e),c=o.isManagerActive,s=o.iterateCookies,u=(0,l.u)(),d=u.setCookiesViaManager,h=p(c,d),v=h.useVariableNamePascal,g=[],t.next=6,s(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var s,u,l,d,f,p,h,b;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:s=r.id,u=r.codeDynamics,l=r.codeOptOut,d=r.codeOptOutDelete,f=r.noTechnicalDefinitions,p=r.technicalDefinitions,h=(0,a.Z)(r,["id","codeDynamics","codeOptOut","codeOptOutDelete","noTechnicalDefinitions","technicalDefinitions"]),o||(((b=c&&h["codeOptInNo".concat(v)])&&!n||!b)&&(0,m.K)(l,u),d&&!f&&(Z(p,u),p.some((function(t){return"http"===t.type}))&&g.push(s)),document.dispatchEvent(new CustomEvent(D.E,{detail:{group:e,cookie:r}})));case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 6:g.length&&setTimeout((function(){return T(g)}),0);case 7:case"end":return t.stop()}}),t)}))),P.apply(this,arguments)}var R=n(7051);function z(t){return W.apply(this,arguments)}function W(){return(W=(0,r.Z)(i().mark((function t(e){var n,r,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,R.C)();case 2:return t.next=4,b(e);case 4:return n=t.sent,r=n.dataLayerPromise,o=n.isManagerOptOut,t.t0=k,t.t1=e,t.next=11,r;case 11:return t.t2=t.sent,t.t3=o,t.next=15,(0,t.t0)(t.t1,t.t2,t.t3);case 15:return t.next=17,N(e,o);case 17:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},9270:function(t,e,n){"use strict";n.d(e,{Q:function(){return c}});var r=n(38),o=n(6703),i="eprivacy-usa-expand",a=!1;function c(t,e,n,c){var s,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3,l=arguments.length>5&&void 0!==arguments[5]&&arguments[5],d=(0,o.u)(),f=d.bannerI18n,p=f.ePrivacyNoteMore,h=f.none,v=[],m=[],g=(0,r.Z)(t);try{for(g.s();!(s=g.n()).done;){var b,y=s.value.items,x=(0,r.Z)(y);try{for(x.s();!(b=x.n()).done;){var k=b.value;c(k)&&m.push(k.name)}}catch(t){x.e(t)}finally{x.f()}}}catch(t){g.e(t)}finally{g.f()}return m.length-u>1&&(v=m.slice(u,m.length),(m=m.slice(0,u)).push("<span ".concat(i,'="').concat(v.join(", "),'" style="text-decoration:none;border-bottom:0.5px dashed;padding-bottom:1px;cursor:pointer;">').concat(p.replace("%d",v.length.toString()),"</span>")),!a&&document.addEventListener("click",(function(t){var e=t.target;null!=e&&e.hasAttribute(i)&&(e.innerHTML=e.getAttribute(i),e.removeAttribute("style"))})),a=!0),l&&0===m.length?"":n.replace(/{{services}}/g,m.length?m.join(", "):'<span style="color:red;">'.concat(h,"</span>"))}},3251:function(t,e,n){"use strict";function r(){return{http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}}}n.d(e,{w:function(){return r}})},8055:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;setTimeout((function(){try{window.dispatchEvent(new Event("resize"))}catch(t){}}),t)}n.d(e,{s:function(){return r}})},3657:function(t,e,n){"use strict";n.d(e,{U:function(){return i}});var r=n(6703),o=n(8527);function i(){var t=(0,r.u)().pageRequestUuid4,e=document.getElementById(t).nextElementSibling,n=document.createElement("div");return window.rcbPoweredByCacheOuterHTML?n.innerHTML=window.rcbPoweredByCacheOuterHTML:(0,o.D)(e,"a")&&e.innerHTML.toLowerCase().indexOf("Real Cookie Banner")&&(window.rcbPoweredByCacheOuterHTML=e.outerHTML,n.innerHTML=window.rcbPoweredByCacheOuterHTML,e.parentNode.removeChild(e)),n.children[0]}window.rcbPoweredByCacheOuterHTML=""},2624:function(t,e,n){"use strict";n.d(e,{h:function(){return a}});var r=n(7663),o=n(6703),i=n(6341);function a(){var t=function(t){var e,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=(null===(e=document.cookie.match("(^|;)\\s*".concat(t,"\\s*=\\s*([^;]+)")))||void 0===e?void 0:e.pop())||"";return n?decodeURIComponent(r):r}((0,o.u)().userConsentCookieName);if(!t)return!(0,i.E)()&&(window.rcbDisabledCookieComp||!1);var e=function(t,e,n){var r=t.split(":");if(r.length<=3)return r;var o=r.slice(0,2);return o.push(r.slice(2).join(":")),o}(t);if(3!==e.length)return!1;var n=(0,r.Z)(e,2);return{uuid:n[0],revision:n[1],consent:JSON.parse(e[2])}}},996:function(t,e,n){"use strict";n.d(e,{I:function(){return r}});var r="RCB/Banner/Show"},2207:function(t,e,n){"use strict";n.d(e,{V:function(){return r}});var r="RCB/OptIn/All"},2785:function(t,e,n){"use strict";n.d(e,{g:function(){return r}});var r="RCB/OptIn"},3421:function(t,e,n){"use strict";n.d(e,{E:function(){return r}});var r="RCB/OptOut"},3416:function(t,e,n){"use strict";function r(t){var e,n=t.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((e=n,e.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$")}n.d(e,{D:function(){return r}})},5194:function(t,e,n){"use strict";function r(){return window["real-cookie-banner".replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))]}n.d(e,{m:function(){return r}})},6703:function(t,e,n){"use strict";n.d(e,{u:function(){return o}});var r=n(5194);function o(){return(0,r.m)().others}},9549:function(t,e,n){"use strict";n.d(e,{e:function(){return a}});var r=n(965),o=n(5213),i=n(7029).h;function a(t,e){var n=t.filter(Boolean);return 0===n.length?null:n.reduce((function(t,n,a){return t.length?[].concat((0,r.Z)(t),[i(o.HY,{key:a},e),n]):[n]}),[])}},4741:function(){String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.indexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var n=this.toString();("number"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>n.length)&&(e=n.length),e-=t.length;var r=n.indexOf(t,e);return-1!==r&&r===e}),null==Element.prototype.getAttributeNames&&(Element.prototype.getAttributeNames=function(){for(var t=this.attributes,e=t.length,n=new Array(e),r=0;r<e;r++)n[r]=t[r].name;return n}),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),Object.values=Object.values?Object.values:function(t){var e=Object.prototype.toString.call(t);if(null==t)throw new TypeError("Cannot convert undefined or null to object");if(~["[object String]","[object Object]","[object Array]","[object Function]"].indexOf(e)){if(Object.keys)return Object.keys(t).map((function(e){return t[e]}));var n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.push(t[r]);return n}return[]},"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=e[0];if(null==r)throw new TypeError("Cannot convert undefined or null to object");for(var o=Object(r),i=1;i<e.length;i++){var a=e[i];if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(o[c]=a[c])}return o},writable:!0,configurable:!0}),[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach((function(t){t.hasOwnProperty("remove")||Object.defineProperty(t,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}))},7051:function(t,e,n){"use strict";n.d(e,{C:function(){return o}});var r=n(3532).default,o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"complete";return new r((function(n){var r=function(){null==t||t(),setTimeout(n,0)};document.readyState===e?r():document.addEventListener("readystatechange",(function(){document.readyState===e&&r()}))}))}},6341:function(t,e,n){"use strict";n.d(e,{E:function(){return o}});var r="real_cookie_banner-test";function o(){try{document.cookie="".concat(r,"=1");var t=-1!==document.cookie.indexOf("".concat(r,"="));return document.cookie="".concat(r,"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"),t}catch(t){return!1}}},3428:function(t){"use strict";t.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={exports:{}};return e[t].call(i.exports,i,i.exports,r),i.exports}r.m=e,t=[],r.O=function(e,n,o,i){if(!n){var a=1/0;for(l=0;l<t.length;l++){n=t[l][0],o=t[l][1],i=t[l][2];for(var c=!0,s=0;s<n.length;s++)(!1&i||a>=i)&&Object.keys(r.O).every((function(t){return r.O[t](n[s])}))?n.splice(s--,1):(c=!1,i<a&&(a=i));if(c){t.splice(l--,1);var u=o();void 0!==u&&(e=u)}}return e}i=i||0;for(var l=t.length;l>0&&t[l-1][2]>i;l--)t[l]=t[l-1];t[l]=[n,o,i]},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;r.g.importScripts&&(t=r.g.location+"");var e=r.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=t}(),function(){var t={392:0};r.O.j=function(e){return 0===t[e]};var e=function(e,n){var o,i,a=n[0],c=n[1],s=n[2],u=0;if(a.some((function(e){return 0!==t[e]}))){for(o in c)r.o(c,o)&&(r.m[o]=c[o]);if(s)var l=s(r)}for(e&&e(n);u<a.length;u++)i=a[u],r.o(t,i)&&t[i]&&t[i][0](),t[a[u]]=0;return r.O(l)},n=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),r.O(void 0,[568],(function(){return r(4741)}));var o=r.O(void 0,[568],(function(){return r(6385)}));o=r.O(o),realCookieBanner_banner=o}();
2
  //# sourceMappingURL=banner.lite.js.map
public/dist/banner.lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../common-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../common-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../common-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../common-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../common-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../common-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../common-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../common-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/scale.tsx","webpack:///./src/public/ts/utils/hexToRgb.tsx","webpack:///./src/public/ts/utils/calculateOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerButtons.tsx","webpack:///./src/public/ts/hooks/useBannerRefToRenderedHeight.tsx","webpack:///./src/public/ts/components/portal.tsx","webpack:///./src/public/ts/components/banner/closeIcon.tsx","webpack:///./src/public/ts/components/banner/header.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/container.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/header.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/logo.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/headline.tsx","webpack:///./src/public/ts/components/banner/groupSectionTitle.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/title.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/description.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/checkbox.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/linkMore.tsx","webpack:///./src/public/ts/components/banner/cookieProperty.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/cookieProperty.tsx","webpack:///./src/public/ts/components/banner/cookie.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/cookie.tsx","webpack:///./src/public/ts/components/banner/group.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/group.tsx","webpack:///./src/public/ts/components/banner/groups.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/groups.tsx","webpack:///./src/public/ts/components/banner/dottedGroup.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/dottedGroupItem.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/dottedGroupBullet.tsx","webpack:///./src/public/ts/components/banner/dottedGroups.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/dottedGroups.tsx","webpack:///./src/public/ts/components/banner/historySelect.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/historySelect.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/teaching.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/common.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/acceptEssentials.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/acceptIndividual.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/save.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/acceptAll.tsx","webpack:///./src/public/ts/components/asciiSpinner.tsx","webpack:///./src/public/ts/components/banner/button.tsx","webpack:///./src/public/ts/utils/isIE.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/ellipsesText.tsx","webpack:///./src/public/ts/components/banner/buttons.tsx","webpack:///./src/public/ts/components/banner/body.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/banner/leftSide.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/description.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/teachingSeparator.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/banner/rightSide.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/container.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/body.tsx","webpack:///./src/public/ts/components/banner/footerLink.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/link.tsx","webpack:///./src/public/ts/components/banner/footer.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/container.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/footer.tsx","webpack:///./src/public/ts/components/banner/content.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/content/content.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/separator.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/separator.tsx","webpack:///./src/public/ts/hooks/useResetableAnimation.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/hooks/useBannerActionLinks.tsx","webpack:///./src/public/ts/components/animateCss.tsx","webpack:///./src/public/ts/others/banner/isHiddenDueLegal.tsx","webpack:///./src/public/ts/components/banner/banner.tsx","webpack:///./src/public/ts/hooks/useRestrictScrollWhenVisible.tsx","webpack:///./src/public/ts/hooks/useBannerActionType.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/overlay/alignment.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/content/inner.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/overlay/overlay.tsx","webpack:///./src/public/ts/others/getDefaultDecision.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/supportsCookies.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/hasPageClass.tsx","webpack:///./src/public/ts/utils/isCrawler.tsx","webpack:///./src/public/ts/utils/promiseTimeout.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/dynamicRequest.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isHiddenDueLegal.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isPreventPreDecision.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isCrawler.tsx","webpack:///./src/public/ts/utils/isDoNotTrack.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isDoNotTrack.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/userConsent.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///./src/public/ts/hooks/useWebsiteBannerOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerActions.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///./src/public/ts/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/others/printUuidToShortcode.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///./src/public/ts/components/banner/devHint.tsx","webpack:///./src/public/ts/components/banner/tooltip.tsx","webpack:///./src/public/ts/components/plainAntdIconAsSvg.tsx","webpack:///./src/public/ts/contexts/bannerContextFactory.tsx","webpack:///./src/public/ts/contexts/blockerContextFactory.tsx","webpack:///./src/public/ts/hooks/usePageIdToPermalinkMapLink.tsx","webpack:///./src/public/ts/hooks/useBannerLegalLinks.tsx","webpack:///./src/public/ts/hooks/usePlainCss.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/others/applyCookies/getSelectedCookies.tsx","webpack:///./src/public/ts/others/applyCookies/getManagerDependingVariables.tsx","webpack:///./src/public/ts/others/applyCookies/applyOptIn.tsx","webpack:///./src/public/ts/others/applyCookies/applyOptInOutManager.tsx","webpack:///./src/public/ts/others/applyCookies/deleteCookiesLocally.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/others/applyCookies/deleteCookiesServer.tsx","webpack:///./src/public/ts/others/applyCookies/applyOptOut.tsx","webpack:///./src/public/ts/others/applyCookies/applyCookies.tsx","webpack:///./src/public/ts/others/banner/expandGroupsServiceVariable.tsx","webpack:///./src/public/ts/others/cookieTypeLocalized.tsx","webpack:///./src/public/ts/others/dispatchResizeEvent.tsx","webpack:///./src/public/ts/others/getSsrPoweredByLink.tsx","webpack:///./src/public/ts/others/getUserDecision.tsx","webpack:///./src/public/ts/utils/getCookie.tsx","webpack:///./src/public/ts/utils/explode.tsx","webpack:///./src/public/ts/types/events/bannerPredecisionShowEvent.tsx","webpack:///./src/public/ts/types/events/optInAllEvent.tsx","webpack:///./src/public/ts/types/events/optInEvent.tsx","webpack:///./src/public/ts/types/events/optOutEvent.tsx","webpack:///./src/public/ts/utils/createRegxpPatternFromWildcardedName.tsx","webpack:///./src/public/ts/utils/pregQuote.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/jsxJoin.tsx","webpack:///./src/public/ts/utils/polyfill.tsx","webpack:///./src/public/ts/utils/ready.tsx","webpack:///./src/public/ts/utils/supportsCookies.tsx","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/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","var DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, function (fullMatch, variableName) {\n return Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch;\n });\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport var HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport var HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport var HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport var HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport var HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport var HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport var HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport var HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport var HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport var HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n var inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n var doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n var _doc = new DOMParser().parseFromString(input, \"text/html\");\n\n return _doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nvar WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics) {\n var referenceNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;\n return new Promise(function (resolve) {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: function error(e) {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: function beforeWriteToken(token) {\n var attrs = token.attrs,\n booleanAttrs = token.booleanAttrs,\n src = token.src,\n href = token.href,\n content = token.content; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (var attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport var OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n var pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n var elements = [];\n var elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","function matchingSelector(element, selector) {\n if (!element || !element.parentElement) {\n return false;\n }\n\n var matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (var matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import Url from \"url-parse\";\nimport { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\n\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\nfunction commonUrlBuilder(_ref) {\n var location = _ref.location,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params,\n _ref$nonce = _ref.nonce,\n nonce = _ref$nonce === void 0 ? true : _ref$nonce,\n options = _ref.options;\n var apiUrl = new Url(options.restRoot, true);\n var query = apiUrl.query;\n var permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n var foundParams = [];\n var path = location.path.replace(/:([A-Za-z0-9-_]+)/g, function (match, group) {\n foundParams.push(group);\n return params[group];\n });\n var getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (var _i = 0, _Object$keys = Object.keys(params); _i < _Object$keys.length; _i++) {\n var checkParam = _Object$keys[_i];\n\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `url-parse` already\n }\n }\n\n var usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path; // Force protocol from parent location\n\n var useThisProtocol = new Url(window.location.href).protocol.slice(0, -1);\n apiUrl.set(\"protocol\", useThisProtocol); // Set path depending on permalink settings\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.set(\"pathname\", usePath); // Set path\n } // Append others\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n }\n\n var currentApiUrlString = apiUrl.toString();\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return currentApiUrlString.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n query._method = location.method;\n }\n\n return apiUrl.set(\"query\", deepMerge.all([options.restQuery, getParams, query])).toString();\n}\n\nexport { commonUrlBuilder, Url };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nvar pool = {};\nvar recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nfunction nonceDeprecationPool(_x, _x2) {\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nfunction _nonceDeprecationPool() {\n _nonceDeprecationPool = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(nonce, restRecreateNonceEndpoint) {\n var resultPromise, returnNonce;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(typeof restRecreateNonceEndpoint !== \"undefined\")) {\n _context2.next = 6;\n break;\n }\n\n resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise(\n /*#__PURE__*/\n // eslint-disable-next-line no-async-promise-executor\n function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var recreateFetch, newNonce;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return window.fetch(restRecreateNonceEndpoint);\n\n case 3:\n recreateFetch = _context.sent;\n\n if (!recreateFetch.ok) {\n _context.next = 12;\n break;\n }\n\n _context.next = 7;\n return recreateFetch.text();\n\n case 7:\n newNonce = _context.sent;\n pool[nonce] = newNonce;\n resolve(newNonce);\n _context.next = 13;\n break;\n\n case 12:\n reject();\n\n case 13:\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](0);\n reject();\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 15]]);\n }));\n\n return function (_x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n recreateFetchPool[nonce] = resultPromise;\n return _context2.abrupt(\"return\", resultPromise);\n\n case 6:\n if (!(typeof nonce === \"undefined\")) {\n _context2.next = 8;\n break;\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 8:\n _context2.next = 10;\n return Promise.all(Object.values(recreateFetchPool));\n\n case 10:\n returnNonce = nonce;\n\n while (pool[returnNonce]) {\n returnNonce = pool[returnNonce];\n }\n\n return _context2.abrupt(\"return\", Promise.resolve(returnNonce));\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nexport { nonceDeprecationPool };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nfunction parseResult(_x, _x2, _x3) {\n return _parseResult.apply(this, arguments);\n}\n\nfunction _parseResult() {\n _parseResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url, result, method) {\n var cloneForFallback, body, lastError, _iterator, _step, line;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneForFallback = result.clone();\n _context.prev = 1;\n _context.next = 4;\n return result.json();\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](1);\n _context.next = 11;\n return cloneForFallback.text();\n\n case 11:\n body = _context.sent;\n\n if (!(body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1)) {\n _context.next = 14;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 14:\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body: body\n });\n _iterator = _createForOfIteratorHelper(body.split(\"\\n\"));\n _context.prev = 16;\n\n _iterator.s();\n\n case 18:\n if ((_step = _iterator.n()).done) {\n _context.next = 30;\n break;\n }\n\n line = _step.value;\n\n if (!(line.startsWith(\"[\") || line.startsWith(\"{\"))) {\n _context.next = 28;\n break;\n }\n\n _context.prev = 21;\n return _context.abrupt(\"return\", JSON.parse(line));\n\n case 25:\n _context.prev = 25;\n _context.t1 = _context[\"catch\"](21);\n lastError = _context.t1;\n\n case 28:\n _context.next = 18;\n break;\n\n case 30:\n _context.next = 35;\n break;\n\n case 32:\n _context.prev = 32;\n _context.t2 = _context[\"catch\"](16);\n\n _iterator.e(_context.t2);\n\n case 35:\n _context.prev = 35;\n\n _iterator.f();\n\n return _context.finish(35);\n\n case 38:\n throw lastError;\n\n case 39:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 7], [16, 32, 35, 38], [21, 25]]);\n }));\n return _parseResult.apply(this, arguments);\n}\n\nexport { parseResult };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { commonUrlBuilder, RouteHttpVerb } from \"./\";\nimport deepMerge from \"deepmerge\";\nimport Url from \"url-parse\";\nimport { parseResult, nonceDeprecationPool } from \".\";\nimport jsonFormData from \"json-form-data\";\nvar CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nfunction commonRequest(_x) {\n return _commonRequest.apply(this, arguments);\n}\n\nfunction _commonRequest() {\n _commonRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var location, options, routeRequest, params, _ref$settings, settings, _ref$multipart, multipart, _ref$sendRestNonce, sendRestNonce, url, apiUrl, allowBody, body, restNonce, hasRestNonce, init, apiUrlBuilt, result, responseJSON, replay, restRecreateNonceEndpoint, resultAny;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n location = _ref.location, options = _ref.options, routeRequest = _ref.request, params = _ref.params, _ref$settings = _ref.settings, settings = _ref$settings === void 0 ? {} : _ref$settings, _ref$multipart = _ref.multipart, multipart = _ref$multipart === void 0 ? false : _ref$multipart, _ref$sendRestNonce = _ref.sendRestNonce, sendRestNonce = _ref$sendRestNonce === void 0 ? true : _ref$sendRestNonce;\n url = commonUrlBuilder({\n location: location,\n params: params,\n nonce: false,\n options: options\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return url.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n apiUrl = new Url(url, true);\n allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n apiUrl.set(\"query\", deepMerge(apiUrl.query, routeRequest));\n } // Determine body\n\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n _context.next = 9;\n return nonceDeprecationPool(options.restNonce);\n\n case 9:\n restNonce = _context.sent;\n hasRestNonce = typeof restNonce !== \"undefined\";\n init = deepMerge.all([settings, {\n headers: _objectSpread(_objectSpread(_objectSpread({}, typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}), hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}), {}, {\n Accept: \"application/json, */*;q=0.1\"\n })\n }]);\n init.body = body; // Do not make body merge-able\n\n apiUrlBuilt = apiUrl.toString();\n _context.next = 16;\n return window.fetch(apiUrlBuilt, init);\n\n case 16:\n result = _context.sent;\n\n if (result.ok) {\n _context.next = 47;\n break;\n }\n\n responseJSON = undefined;\n replay = false;\n _context.prev = 20;\n _context.next = 23;\n return parseResult(apiUrlBuilt, result, location.method);\n\n case 23:\n responseJSON = _context.sent;\n\n // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (!(responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce)) {\n _context.next = 35;\n break;\n }\n\n restRecreateNonceEndpoint = options.restRecreateNonceEndpoint;\n _context.prev = 27;\n _context.next = 30;\n return nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n\n case 30:\n replay = true;\n _context.next = 35;\n break;\n\n case 33:\n _context.prev = 33;\n _context.t0 = _context[\"catch\"](27);\n\n case 35:\n _context.next = 39;\n break;\n\n case 37:\n _context.prev = 37;\n _context.t1 = _context[\"catch\"](20);\n\n case 39:\n if (!replay) {\n _context.next = 43;\n break;\n }\n\n _context.next = 42;\n return commonRequest({\n location: location,\n options: options,\n multipart: multipart,\n params: params,\n request: routeRequest,\n sendRestNonce: true,\n settings: settings\n });\n\n case 42:\n return _context.abrupt(\"return\", _context.sent);\n\n case 43:\n // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n\n case 47:\n return _context.abrupt(\"return\", parseResult(apiUrlBuilt, result, location.method));\n\n case 48:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[20, 37], [27, 33]]);\n }));\n return _commonRequest.apply(this, arguments);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","var untrailingslashit = function untrailingslashit(str) {\n return str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n};\n\nvar trailingslashit = function trailingslashit(str) {\n return \"\".concat(untrailingslashit(str), \"/\");\n}; // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nvar getWebpackPublicPath = function getWebpackPublicPath(env) {\n var options = window[env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow, createRegxpPatternFromWildcardedName } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.createElement(\"div\");\n return new Promise(function (resolve) {\n // Find matching blocker\n var found;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n blocker = _getOtherOptionsFromW.blocker;\n\n var isPseudoRef = !ref.parentElement;\n\n var _iterator = _createForOfIteratorHelper(blocker),\n _step;\n\n try {\n loop1: for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n var hosts = row.hosts; // Check if host matches\n\n var _iterator2 = _createForOfIteratorHelper(hosts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var host = _step2.value;\n var regexp = createRegxpPatternFromWildcardedName(host);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"cookies\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.cookies.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, function () {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","var BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\n\nvar calculateNewVal = function calculateNewVal(val, scalePercent) {\n var newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction bannerInlineStylesScale(_ref, useWidthOfThisContainerId, original, replaceWith) {\n var enabled = _ref.enabled,\n scalePercent = _ref.scalePercent,\n scalePercentVertical = _ref.scalePercentVertical;\n var additionalVerticalScaling = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, bannerInlineStylesScale };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateOverlay(hex, alpha) {\n var _hexToRgb = hexToRgb(hex),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateOverlay };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { useCallback } from \"react\";\nimport { useBanner } from \"../contexts\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtons() {\n var _useBanner = useBanner(),\n individualPrivacyOpen = _useBanner.individualPrivacyOpen,\n onSave = _useBanner.onSave,\n updateGroupChecked = _useBanner.updateGroupChecked,\n updateCookieChecked = _useBanner.updateCookieChecked,\n groups = _useBanner.groups,\n essentialGroup = _useBanner.essentialGroup,\n updateIndividualPrivacyOpen = _useBanner.updateIndividualPrivacyOpen,\n activeAction = _useBanner.activeAction,\n onClose = _useBanner.onClose;\n\n var buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n var buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n var buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n var buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n var result = {\n buttonClickedAll: buttonClickedAll,\n buttonClickedEssentials: buttonClickedEssentials,\n buttonClickedCloseIcon: buttonClickedCloseIcon,\n buttonClickedCustom: buttonClickedCustom,\n acceptAll: useCallback(function () {\n groups.forEach(function (g) {\n return updateGroupChecked(g.id, true);\n });\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback(function () {\n var isCloseIcon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n groups.forEach(function (_ref) {\n var slug = _ref.slug,\n id = _ref.id,\n items = _ref.items;\n\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n var _iterator = _createForOfIteratorHelper(items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n legalBasis = _step$value.legalBasis,\n cookieId = _step$value.id;\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(function () {\n return onSave(false, buttonClickedCustom);\n }, [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(function () {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return _objectSpread(_objectSpread({}, result), {}, {\n closeIcon: useCallback(function () {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n });\n}\n\nexport { useBannerButtons };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useRef, useLayoutEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\n/**\n * We are using CSS transitions and we can not surely get the\n * rendered height at time of prop change. E. g. the header\n * title get line broken so the height is another as previously.\n */\n\nvar RESOLVE_TRANSITION_ISSUE = [200, 400, 600, 800, 1000];\nvar RESOLVE_TRANSITION_ISSUE_TIMEOUT;\n/**\n * Persist a height to the banner context.\n */\n\nfunction useBannerRefToRenderedHeight(name) {\n var ref = useRef(); // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n var _useBanner = useBanner(),\n renderedHeights = _useBanner.renderedHeights,\n rest = _objectWithoutProperties(_useBanner, [\"renderedHeights\"]);\n\n var updateRenderedHeight = rest.updateRenderedHeight;\n\n var updateSize = function updateSize() {\n var _ref$current;\n\n return updateRenderedHeight(name, ((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect().height) || 0);\n };\n\n useLayoutEffect(function () {\n window.addEventListener(\"resize\", updateSize);\n return function () {\n return window.removeEventListener(\"resize\", updateSize);\n };\n }, [name]); // Always persist on updates, too\n\n useLayoutEffect(function () {\n updateSize();\n clearTimeout(RESOLVE_TRANSITION_ISSUE_TIMEOUT);\n RESOLVE_TRANSITION_ISSUE_TIMEOUT = setTimeout(function () {\n updateSize();\n\n var _iterator = _createForOfIteratorHelper(RESOLVE_TRANSITION_ISSUE),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var t = _step.value;\n setTimeout(updateSize, t);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }, 100);\n }, Object.values(rest));\n return ref;\n}\n\nexport { useBannerRefToRenderedHeight };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n className = _ref.className,\n _ref$tag = _ref.tag,\n tag = _ref$tag === void 0 ? \"div\" : _ref$tag,\n renderInContainer = _ref.renderInContainer;\n\n var _useState = useState(function () {\n var el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }),\n _useState2 = _slicedToArray(_useState, 1),\n renderIn = _useState2[0]; // Append container to `body`\n\n\n useEffect(function () {\n document.body.appendChild(renderIn);\n return function () {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { usePlainCss, useBannerButtons } from \"../../hooks\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerInlineStylesScale, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"./inlineStyles\";\nimport { BannerTooltip } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { useRect } from \"@reach/rect\";\nimport { Portal } from \"..\";\nvar counter = 0;\n\nvar BannerCloseIcon = function BannerCloseIcon() {\n var idCloseIcon = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n var idCloseIconPlaceholder = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var ref = useRef();\n var rect = useRect(ref);\n\n var _useBanner = useBanner(),\n _useBanner$headerDesi = _useBanner.headerDesign,\n fontSize = _useBanner$headerDesi.fontSize,\n fontColor = _useBanner$headerDesi.fontColor,\n acceptEssentials = _useBanner.texts.acceptEssentials,\n mobile = _useBanner.mobile,\n activeAction = _useBanner.activeAction,\n pageRequestUuid4 = _useBanner.pageRequestUuid4,\n _useBanner$buttonClic = _useBanner.buttonClicked,\n buttonClicked = _useBanner$buttonClic === void 0 ? \"\" : _useBanner$buttonClic;\n\n var width = bannerInlineStylesScale(mobile, pageRequestUuid4, fontSize);\n var thickness = 1;\n\n var _useBannerButtons = useBannerButtons(),\n buttonClickedCloseIcon = _useBannerButtons.buttonClickedCloseIcon,\n closeIcon = _useBannerButtons.closeIcon;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n close = _getOtherOptionsFromW2.close,\n closeWithoutSaving = _getOtherOptionsFromW2.closeWithoutSaving;\n\n var tooltipText = activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials;\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIcon, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n cursor: pointer;\\n z-index: 99;\\n pointer-events: all;\\n \").concat(buttonClicked === buttonClickedCloseIcon ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n#\").concat(idCloseIcon, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIcon, \" > span:before,#\").concat(idCloseIcon, \" > span:after{\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(fontColor, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIcon, \" > span:after{\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIcon, \" > span:hover:before,#\").concat(idCloseIcon, \" > span:hover:after{\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n var container = document.getElementById(pageRequestUuid4);\n return h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: container\n }, h(BannerTooltip, {\n title: tooltipText,\n id: idCloseIcon,\n onClick: closeIcon,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER\n }, h(\"span\", null))));\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, bannerHeaderInlineStyleHeadline, BannerCloseIcon } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { useBannerRefToRenderedHeight } from \"../../hooks\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\n\nvar BannerHeader = function BannerHeader() {\n var banner = useBanner();\n var _banner$headerDesign = banner.headerDesign,\n logo = _banner$headerDesign.logo,\n logoRetina = _banner$headerDesign.logoRetina,\n showCloseIcon = banner.decision.showCloseIcon,\n headline = banner.texts.headline,\n activeAction = banner.activeAction,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts;\n var ref = useBannerRefToRenderedHeight(\"headerContainer\");\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n headerTitlePrivacyPolicyHistory = _getOtherOptionsFromW.bannerI18n.headerTitlePrivacyPolicyHistory; // Calculate logo\n\n\n var useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n var useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n var useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", bannerHeaderInlineStyleHeadline(banner), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n};\n\nexport { BannerHeader };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n restDesign = _objectWithoutProperties(_ref$design, [\"borderWidth\", \"borderColor\"]),\n _ref$headerDesign = _ref.headerDesign,\n inheritBg = _ref$headerDesign.inheritBg,\n bg = _ref$headerDesign.bg,\n padding = _ref$headerDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var style = {\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n textAlign = _ref.design.textAlign,\n _ref$headerDesign = _ref.headerDesign,\n inheritTextAlign = _ref$headerDesign.inheritTextAlign,\n logo = _ref$headerDesign.logo,\n logoPosition = _ref$headerDesign.logoPosition,\n restHeaderDesign = _objectWithoutProperties(_ref$headerDesign, [\"inheritTextAlign\", \"logo\", \"logoPosition\"]),\n headline = _ref.texts.headline,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n\n var useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleLogo(_ref, isRetina) {\n var _ref$headerDesign = _ref.headerDesign,\n logoMaxHeight = _ref$headerDesign.logoMaxHeight,\n logoMargin = _ref$headerDesign.logoMargin,\n logoFitDim = _ref$headerDesign.logoFitDim,\n logoRetinaFitDim = _ref$headerDesign.logoRetinaFitDim,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n var dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: _objectSpread(_objectSpread({}, dimStyle), {}, {\n margin: bannerInlineStylesScale(mobile, pageRequestUuid4, logoMargin).map(function (m) {\n return \"\".concat(m, \"px\");\n }).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n })\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleHeadline(_ref) {\n var _ref$headerDesign = _ref.headerDesign,\n fontSize = _ref$headerDesign.fontSize,\n fontColor = _ref$headerDesign.fontColor,\n fontInheritFamily = _ref$headerDesign.fontInheritFamily,\n fontFamily = _ref$headerDesign.fontFamily,\n fontWeight = _ref$headerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight\n }\n };\n}\n\nexport { bannerHeaderInlineStyleHeadline };","import { useBanner } from \"../../contexts\";\nimport { bannerGroupsInlineStyleDescription, bannerGroupsInlineStyleTitle } from \"./inlineStyles\";\n\nvar BannerGroupSectionTitle = function BannerGroupSectionTitle(_ref) {\n var title = _ref.title,\n children = _ref.children;\n var banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleTitle(_ref) {\n var _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n headlineFontColor = _ref$group.headlineFontColor,\n headlineFontWeight = _ref$group.headlineFontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleDescription(_ref) {\n var fontWeight = _ref.design.fontWeight,\n _ref$group = _ref.group,\n descriptionFontColor = _ref$group.descriptionFontColor,\n descriptionFontSize = _ref$group.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight: fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import { bannerInlineStylesScale } from \"..\";\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\n\nfunction bannerGroupsInlineStyleCheckbox(_ref, visible, checked, isDisabled, fontSize) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n checkboxBg = _ref$group.checkboxBg,\n checkboxBorderWidth = _ref$group.checkboxBorderWidth,\n checkboxBorderColor = _ref$group.checkboxBorderColor,\n checkboxActiveBg = _ref$group.checkboxActiveBg,\n checkboxActiveBorderColor = _ref$group.checkboxActiveBorderColor,\n checkboxActiveColor = _ref$group.checkboxActiveColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFontSize = bannerInlineStylesScale(mobile, pageRequestUuid4, fontSize || headlineFontSize);\n var useCheckboxBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, +checkboxBorderWidth);\n var height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: isDisabled ? \"not-allowed\" : \"pointer\",\n opacity: isDisabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height: height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0\n }\n };\n}\n\nexport { bannerGroupsInlineStyleCheckbox };","function bannerGroupsInlineStyleLinkMore(_ref, isHover) {\n var linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$group = _ref.group,\n linkColor = _ref$group.linkColor,\n linkHoverColor = _ref$group.linkHoverColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { bannerGroupsInlineStyleLinkMore };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { bannerGroupsInlineStyleLinkMore, bannerGroupsInlineStyleCookieProperty } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\n\nvar BannerCookieProperty = function BannerCookieProperty(_ref) {\n var label = _ref.label,\n value = _ref.value,\n children = _ref.children;\n var banner = useBanner();\n var isValueUrl = typeof value === \"string\" && isUrl(value);\n var useValue = isValueUrl ? h(\"a\", _extends({\n href: value,\n style: {\n lineBreak: isValueUrl ? \"anywhere\" : undefined\n },\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, bannerGroupsInlineStyleLinkMore(banner, false)), value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n return h(\"div\", _extends({\n key: label\n }, bannerGroupsInlineStyleCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { BannerCookieProperty };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleCookieProperty(_ref) {\n var _ref$group = _ref.group,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupBorderColor = _ref$group.groupBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: bannerInlineStylesScale(mobile, pageRequestUuid4, groupBorderWidth) > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15,\n wordBreak: \"break-all\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleCookieProperty };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useLayoutEffect, useState, useCallback } from \"react\";\nimport { bannerGroupsInlineStyleCookie, bannerGroupsInlineStyleCheckbox, BannerCookieProperty } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { getCookieTypeLocalized } from \"../../others\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { PlainAntdIconAsSvg } from \"..\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nvar BannerCookie = function BannerCookie(_ref) {\n var _consent$groups;\n\n var group = _ref.group,\n _ref$cookie = _ref.cookie,\n id = _ref$cookie.id,\n name = _ref$cookie.name,\n purpose = _ref$cookie.purpose,\n provider = _ref$cookie.provider,\n providerPrivacyPolicy = _ref$cookie.providerPrivacyPolicy,\n legalBasis = _ref$cookie.legalBasis,\n ePrivacyUSA = _ref$cookie.ePrivacyUSA,\n noTechnicalDefinitions = _ref$cookie.noTechnicalDefinitions,\n technicalDefinitions = _ref$cookie.technicalDefinitions,\n codeDynamics = _ref$cookie.codeDynamics;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var isEPrivacyUSA = banner.ePrivacyUSA,\n descriptionFontSize = banner.group.descriptionFontSize,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n bannerI18n = _getOtherOptionsFromW.bannerI18n;\n\n var types = getCookieTypeLocalized();\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === group.slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(function (c) {\n return c === id;\n });\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked);\n }, [isDisabled, banner, group, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleCookie(banner), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, bannerGroupsInlineStyleCheckbox(banner, isRendered, isChecked, isDisabled, descriptionFontSize))), h(\"strong\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name)), !!purpose && h(BannerCookieProperty, {\n label: bannerI18n.purpose,\n value: purpose\n }), h(BannerCookieProperty, {\n label: bannerI18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? bannerI18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? bannerI18n.legitimateInterest : bannerI18n.consent\n }), h(BannerCookieProperty, {\n label: bannerI18n.provider,\n value: provider\n }), !!providerPrivacyPolicy && h(BannerCookieProperty, {\n label: bannerI18n.providerPrivacyPolicy,\n value: providerPrivacyPolicy\n }), !!isEPrivacyUSA && h(BannerCookieProperty, {\n label: bannerI18n.ePrivacyUSA,\n value: ePrivacyUSA ? bannerI18n.yes : bannerI18n.no\n }), !noTechnicalDefinitions && technicalDefinitions.map(function (_ref2) {\n var type = _ref2.type,\n name = _ref2.name,\n host = _ref2.host,\n duration = _ref2.duration,\n durationUnit = _ref2.durationUnit,\n sessionDuration = _ref2.sessionDuration;\n return h(BannerCookieProperty, {\n key: name,\n label: bannerI18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(BannerCookieProperty, {\n label: bannerI18n.type,\n value: types[type].name\n }), !!host && h(BannerCookieProperty, {\n label: bannerI18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), [\"local\", \"session\", \"indexedDb\", \"flash\"].indexOf(type) === -1 && h(BannerCookieProperty, {\n label: bannerI18n.duration,\n value: sessionDuration ? \"Session\" : \"\".concat(duration, \" \").concat(bannerI18n.durationUnit[durationUnit])\n }));\n }));\n};\n\nexport { BannerCookie };","function bannerGroupsInlineStyleCookie(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { bannerGroupsInlineStyleCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\";\nimport { bannerGroupsInlineStyleGroup, bannerGroupsInlineStyleCheckbox, bannerGroupsInlineStyleLinkMore, BannerCookie, BannerGroupSectionTitle } from \".\";\nimport { useBanner } from \"../../contexts\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { PlainAntdIconAsSvg } from \"..\";\n\nvar BannerGroup = function BannerGroup(_ref) {\n var _consent$groups$id;\n\n var group = _ref.group;\n var banner = useBanner();\n var id = group.id,\n slug = group.slug,\n name = group.name,\n description = group.description,\n items = group.items;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isOpen = _useState6[0],\n setIsOpen = _useState6[1];\n\n var previewCheckboxActiveState = banner.previewCheckboxActiveState,\n _banner$individualTex = banner.individualTexts,\n showMore = _banner$individualTex.showMore,\n hideMore = _banner$individualTex.hideMore,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n var isPartial = !isEssentialGroup && JSON.stringify(items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n var CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateGroupChecked(id, !isChecked);\n }, [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(Fragment, null, h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: handleCheckbox\n }, bannerGroupsInlineStyleCheckbox(banner, isRendered, isChecked, isDisabled))), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name, \" (\", items.length, \")\"))\n }, description, !!items && h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, bannerGroupsInlineStyleLinkMore(banner, isHover), {\n onClick: function onClick(e) {\n setIsOpen(!isOpen);\n e.preventDefault();\n },\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }), isOpen ? hideMore : showMore), isOpen && items.map(function (cookie) {\n return h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n });\n }))));\n};\n\nexport { BannerGroup };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleGroup(_ref) {\n var _ref$group = _ref.group,\n groupBg = _ref$group.groupBg,\n groupBorderRadius = _ref$group.groupBorderRadius,\n groupBorderColor = _ref$group.groupBorderColor,\n groupPadding = _ref$group.groupPadding,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupInheritBg = _ref$group.groupInheritBg,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, groupPadding).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { Fragment } from \"react\";\nimport { bannerGroupsInlineStyle, BannerGroup, bannerInlineStylesScale } from \".\";\nimport { useBanner } from \"../../contexts\";\n\nvar BannerGroups = function BannerGroups() {\n var banner = useBanner();\n var groups = banner.groups,\n groupSpacing = banner.group.groupSpacing,\n mobile = banner.mobile,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var useGroups = groups.filter(function (_ref) {\n var items = _ref.items;\n return items.length;\n });\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map(function (group, index) {\n return h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +groupSpacing)\n }\n }));\n }));\n};\n\nexport { BannerGroups };","function bannerGroupsInlineStyle(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\";\nimport { bannerGroupsInlineStyleCheckbox, bannerInlineStyleBodyDottedGroupItem, bannerInlineStyleBodyDottedGroupBullet } from \".\";\nimport { useBanner } from \"../../contexts\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { PlainAntdIconAsSvg } from \"..\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\n\nvar BannerDottedGroup = function BannerDottedGroup(_ref) {\n var _ref$group = _ref.group,\n id = _ref$group.id,\n slug = _ref$group.slug,\n name = _ref$group.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var groupsFirstView = banner.decision.groupsFirstView,\n fontSize = banner.design.fontSize,\n consent = banner.consent,\n essentialGroup = banner.essentialGroup;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isChecked = isEssentialGroup || !!consent.groups[id];\n var handleCheckbox = useCallback(function () {\n return isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked);\n }, [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, bannerGroupsInlineStyleCheckbox(banner, isRendered, isChecked, isEssentialGroup, fontSize))) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyDottedGroupItem(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n dottedGroupsInheritFontSize = _ref$bodyDesign.dottedGroupsInheritFontSize,\n dottedGroupsFontSize = _ref$bodyDesign.dottedGroupsFontSize,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet(_ref) {\n var dottedGroupsBulletColor = _ref.bodyDesign.dottedGroupsBulletColor;\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup, bannerInlineStyleBodyDottedGroups } from \".\";\nimport { useBanner } from \"../../contexts\";\n\nvar BannerDottedGroups = function BannerDottedGroups() {\n var banner = useBanner();\n var groups = banner.groups;\n return h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(function (_ref) {\n var items = _ref.items;\n return !!items.length;\n }).map(function (group) {\n return h(BannerDottedGroup, {\n key: group.id,\n group: group\n });\n }));\n};\n\nexport { BannerDottedGroups };","function bannerInlineStyleBodyDottedGroups(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { Fragment, useState, useEffect } from \"react\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerInlineStyleHistorySelect } from \"./inlineStyles\";\nvar SELECT_NONE = -1;\n\nvar BannerHistorySelect = function BannerHistorySelect() {\n var _history$;\n\n var banner = useBanner();\n\n var _useState = useState(SELECT_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var activeAction = banner.activeAction,\n history = banner.history,\n selectHistoryEntry = banner.selectHistoryEntry;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n historyLabel = _getOtherOptionsFromW2.historyLabel,\n historySelectNone = _getOtherOptionsFromW2.historySelectNone; // Reset select after exit history dialog\n\n\n useEffect(function () {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n var uuid = history === null || history === void 0 ? void 0 : (_history$ = history[0]) === null || _history$ === void 0 ? void 0 : _history$.uuid;\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: function onChange(e) {\n var value = +e.target.value;\n history.forEach(function (_ref) {\n var id = _ref.id,\n decision = _ref.decision,\n groups = _ref.groups,\n tcf = _ref.tcf;\n\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(function (_ref2) {\n var id = _ref2.id,\n isDoNotTrack = _ref2.isDoNotTrack,\n isUnblock = _ref2.isUnblock,\n isForwarded = _ref2.isForwarded,\n created = _ref2.created;\n return h(\"option\", {\n key: id,\n value: id\n }, new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\");\n }) : h(\"option\", {\n value: SELECT_NONE\n }, historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","import { bannerInlineStylesScale } from \"..\";\nimport { calculateOverlay } from \"../../../../utils\";\n\nfunction bannerInlineStyleHistorySelect(_ref) {\n var _ref$design = _ref.design,\n fontSize = _ref$design.fontSize,\n fontColor = _ref$design.fontColor,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateOverlay(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyTeaching(_ref) {\n var _ref$bodyDesign = _ref.bodyDesign,\n teachingsInheritTextAlign = _ref$bodyDesign.teachingsInheritTextAlign,\n teachingsTextAlign = _ref$bodyDesign.teachingsTextAlign,\n teachingsInheritFontSize = _ref$bodyDesign.teachingsInheritFontSize,\n teachingsFontSize = _ref$bodyDesign.teachingsFontSize,\n teachingsInheritFontColor = _ref$bodyDesign.teachingsInheritFontColor,\n teachingsFontColor = _ref$bodyDesign.teachingsFontColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : bannerInlineStylesScale(mobile, pageRequestUuid4, +teachingsFontSize),\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyTeaching };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerButtonsInlineStyleCommon(_ref, mobile, isHover, framed) {\n var name = _ref.name,\n order = _ref.order,\n fullWidth = _ref.fullWidth,\n marginLeft = _ref.marginLeft,\n marginRight = _ref.marginRight,\n type = _ref.type,\n borderRadius = _ref.borderRadius,\n bg = _ref.bg,\n hoverBg = _ref.hoverBg,\n fontSize = _ref.fontSize,\n textAlign = _ref.textAlign,\n linkTextDecoration = _ref.linkTextDecoration,\n fontColor = _ref.fontColor,\n fontWeight = _ref.fontWeight,\n hoverFontColor = _ref.hoverFontColor,\n borderWidth = _ref.borderWidth,\n borderColor = _ref.borderColor,\n hoverBorderColor = _ref.hoverBorderColor,\n padding = _ref.padding,\n antiAdBlocker = _ref.antiAdBlocker,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, +borderWidth);\n var style = {\n textDecoration: type === \"link\" ? linkTextDecoration : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(bannerInlineStylesScale(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n order: order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style: style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials(_ref, isHover, framed, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n acceptEssentials = _ref.decision.acceptEssentials,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptEssentialsFontSize = _ref$bodyDesign.acceptEssentialsFontSize,\n acceptEssentialsBg = _ref$bodyDesign.acceptEssentialsBg,\n acceptEssentialsTextAlign = _ref$bodyDesign.acceptEssentialsTextAlign,\n acceptEssentialsBorderColor = _ref$bodyDesign.acceptEssentialsBorderColor,\n acceptEssentialsPadding = _ref$bodyDesign.acceptEssentialsPadding,\n acceptEssentialsBorderWidth = _ref$bodyDesign.acceptEssentialsBorderWidth,\n acceptEssentialsFontColor = _ref$bodyDesign.acceptEssentialsFontColor,\n acceptEssentialsFontWeight = _ref$bodyDesign.acceptEssentialsFontWeight,\n acceptEssentialsHoverBg = _ref$bodyDesign.acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor = _ref$bodyDesign.acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor = _ref$bodyDesign.acceptEssentialsHoverBorderColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order: isTwoButtonRowLayout ? 0 : 1,\n fullWidth: !isTwoButtonRowLayout,\n marginLeft: 0,\n marginRight: isTwoButtonRowLayout ? 5 : 0,\n type: acceptEssentials,\n borderRadius: borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual(_ref, isHover, framed) {\n var acceptIndividual = _ref.decision.acceptIndividual,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptIndividualFontSize = _ref$bodyDesign.acceptIndividualFontSize,\n acceptIndividualBg = _ref$bodyDesign.acceptIndividualBg,\n acceptIndividualTextAlign = _ref$bodyDesign.acceptIndividualTextAlign,\n acceptIndividualBorderColor = _ref$bodyDesign.acceptIndividualBorderColor,\n acceptIndividualPadding = _ref$bodyDesign.acceptIndividualPadding,\n acceptIndividualBorderWidth = _ref$bodyDesign.acceptIndividualBorderWidth,\n acceptIndividualFontColor = _ref$bodyDesign.acceptIndividualFontColor,\n acceptIndividualFontWeight = _ref$bodyDesign.acceptIndividualFontWeight,\n acceptIndividualHoverBg = _ref$bodyDesign.acceptIndividualHoverBg,\n acceptIndividualHoverFontColor = _ref$bodyDesign.acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor = _ref$bodyDesign.acceptIndividualHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order: 2,\n fullWidth: true,\n marginLeft: 0,\n marginRight: 0,\n type: acceptIndividual,\n borderRadius: borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave(_ref, isHover, framed) {\n var isTcf = _ref.isTcf,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n _ref$saveButton = _ref.saveButton,\n type = _ref$saveButton.type,\n fontSize = _ref$saveButton.fontSize,\n bg = _ref$saveButton.bg,\n textAlign = _ref$saveButton.textAlign,\n borderColor = _ref$saveButton.borderColor,\n padding = _ref$saveButton.padding,\n borderWidth = _ref$saveButton.borderWidth,\n fontColor = _ref$saveButton.fontColor,\n fontWeight = _ref$saveButton.fontWeight,\n hoverBg = _ref$saveButton.hoverBg,\n hoverFontColor = _ref$saveButton.hoverFontColor,\n hoverBorderColor = _ref$saveButton.hoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order: 2,\n fullWidth: true,\n marginLeft: 0,\n marginRight: 0,\n type: type,\n borderRadius: borderRadius,\n bg: bg,\n hoverBg: hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign: textAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor: hoverFontColor,\n borderWidth: borderWidth,\n borderColor: borderColor,\n hoverBorderColor: hoverBorderColor,\n padding: padding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleAcceptAll(_ref, isHover, framed, isTwoButtonRowLayout) {\n var acceptAll = _ref.decision.acceptAll,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllBg = _ref$bodyDesign.acceptAllBg,\n acceptAllTextAlign = _ref$bodyDesign.acceptAllTextAlign,\n acceptAllBorderColor = _ref$bodyDesign.acceptAllBorderColor,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n acceptAllBorderWidth = _ref$bodyDesign.acceptAllBorderWidth,\n acceptAllFontColor = _ref$bodyDesign.acceptAllFontColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllHoverBg = _ref$bodyDesign.acceptAllHoverBg,\n acceptAllHoverFontColor = _ref$bodyDesign.acceptAllHoverFontColor,\n acceptAllHoverBorderColor = _ref$bodyDesign.acceptAllHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order: isTwoButtonRowLayout ? 1 : 0,\n fullWidth: !isTwoButtonRowLayout,\n marginLeft: isTwoButtonRowLayout ? 5 : 0,\n marginRight: 0,\n type: acceptAll,\n borderRadius: borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nvar AsciiSpinner = function AsciiSpinner(_ref) {\n var _ref$ms = _ref.ms,\n ms = _ref$ms === void 0 ? 100 : _ref$ms,\n _ref$chars = _ref.chars,\n chars = _ref$chars === void 0 ? [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"] : _ref$chars;\n\n var _useState = useState(1),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n useEffect(function () {\n var interval = setInterval(function () {\n setI(i + 1);\n }, ms);\n return function () {\n return clearInterval(interval);\n };\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleEllipsesText, bannerButtonsInlineStyleSave } from \".\";\nimport { isIE } from \"../../utils\";\nimport { AsciiSpinner } from \"..\";\n\nvar BannerButton = function BannerButton(_ref) {\n var inlineStyle = _ref.inlineStyle,\n type = _ref.type,\n onClick = _ref.onClick,\n children = _ref.children,\n framed = _ref.framed,\n busyOnClick = _ref.busyOnClick;\n\n if (type === \"hide\") {\n return null;\n }\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var handleOnClick = useCallback(function () {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var banner = useBanner();\n var individualPrivacyOpen = banner.individualPrivacyOpen,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n acceptAllOneRowLayout = banner.bodyDesign.acceptAllOneRowLayout;\n var interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n };\n var useStyleFn = useMemo(function () {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || acceptEssentials === \"hide\" || individualPrivacyOpen ? false : acceptAllOneRowLayout)), h(\"span\", _extends({}, bannerButtonsInlineStyleEllipsesText(), type === \"link\" ? interactionAttr : {}), isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","function bannerButtonsInlineStyleEllipsesText() {\n return {\n style: {\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n wordBreak: \"keep-all\",\n overflow: \"hidden\",\n cursor: \"pointer\"\n }\n };\n}\n\nexport { bannerButtonsInlineStyleEllipsesText };","import { Fragment } from \"react\";\nimport { useBanner } from \"../../contexts\";\nimport { BannerButton, BannerDevHint } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { useBannerButtons } from \"../../hooks\";\n\nvar BannerButtons = function BannerButtons() {\n var banner = useBanner();\n var activeAction = banner.activeAction,\n decision = banner.decision,\n _banner$texts = banner.texts,\n acceptAll = _banner$texts.acceptAll,\n acceptEssentials = _banner$texts.acceptEssentials,\n acceptIndividual = _banner$texts.acceptIndividual,\n saveButton = banner.saveButton,\n individualTexts = banner.individualTexts,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n didGroupFirstChange = banner.didGroupFirstChange,\n _banner$buttonClicked = banner.buttonClicked,\n buttonClicked = _banner$buttonClicked === void 0 ? \"\" : _banner$buttonClicked;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n var _useBannerButtons = useBannerButtons(),\n buttonClickedAll = _useBannerButtons.buttonClickedAll,\n buttonClickedEssentials = _useBannerButtons.buttonClickedEssentials,\n buttonClickedCustom = _useBannerButtons.buttonClickedCustom,\n handleAll = _useBannerButtons.acceptAll,\n handleEssentials = _useBannerButtons.acceptEssentials,\n handleIndividual = _useBannerButtons.acceptIndividual,\n openIndividualPrivacy = _useBannerButtons.openIndividualPrivacy; // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n\n var busyOnClick = activeAction === \"change\";\n return h(Fragment, null, !individualPrivacyOpen && isPro && decision.groupsFirstView && decision.saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: decision.acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick\n }, individualTexts.save) : h(BannerButton, {\n onClick: handleAll,\n type: decision.acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick\n }, acceptAll), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: decision.acceptEssentials,\n inlineStyle: \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick\n }, acceptEssentials), (individualPrivacyOpen || isPro && decision.groupsFirstView && (decision.saveButton === \"always\" || decision.saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButton.type,\n inlineStyle: \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick\n }, individualTexts.save), !individualPrivacyOpen && h(BannerButton, {\n type: decision.acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick\n }, acceptIndividual), h(BannerDevHint, null));\n};\n\nexport { BannerButtons };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useMemo, Fragment } from \"react\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerInlineStylesLeftSide, bannerInlineStylesRightSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, bannerInlineStyleBodyTeaching, bannerInlineStyleBodyTeachingsSeparator, BannerGroups, BannerTcfGroups, BannerDottedGroups, BannerButtons, BannerHistorySelect, BannerTcfStacks, bannerInlineStylesScale, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \".\";\nimport { useBannerRefToRenderedHeight, usePlainCss } from \"../../hooks\";\nimport { expandGroupsServiceVariable } from \"../../others\";\n\nvar BannerBody = function BannerBody() {\n var _document$getElementB;\n\n var banner = useBanner();\n var groups = banner.groups,\n type = banner.layout.type,\n mobile = banner.mobile,\n isEPrivacyUSA = banner.ePrivacyUSA,\n isAgeNotice = banner.ageNotice,\n teachingsSeparatorActive = banner.bodyDesign.teachingsSeparatorActive,\n _banner$texts = banner.texts,\n description = _banner$texts.description,\n ePrivacyUSA = _banner$texts.ePrivacyUSA,\n ageNoticeBanner = _banner$texts.ageNoticeBanner,\n consentForwardingExternalHostsText = _banner$texts.consentForwardingExternalHosts,\n tcfGlobalScope = _banner$texts.tcfGlobalScope,\n _banner$renderedHeigh = banner.renderedHeights,\n footerContainer = _banner$renderedHeigh.footerContainer,\n headerContainer = _banner$renderedHeigh.headerContainer,\n rightSideContainer = _banner$renderedHeigh.rightSideContainer,\n tcf = banner.tcf,\n consentForwardingExternalHosts = banner.consentForwardingExternalHosts,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var rightSideContainerRef = useBannerRefToRenderedHeight(\"rightSideContainer\"); // Make the content responsive\n\n var leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: \").concat(footerContainer + headerContainer + rightSideContainer + 60, \"px;\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Prepare description text\n\n var consentForwardingExternalHostsFinalText = consentForwardingExternalHosts ? consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \")) : \"\";\n var tcfGlobalScopeFinalText = tcf ? tcf.model.isServiceSpecific ? \"\" : tcfGlobalScope : \"\";\n var useDescription = [individualPrivacyOpen ? individualTexts.description : description, consentForwardingExternalHostsFinalText, tcfGlobalScopeFinalText].filter(Boolean).join(\" \");\n var useEPrivacyUSA = expandGroupsServiceVariable(groups, tcf ? {\n gvl: tcf.gvl,\n vendorConfigurations: tcf.original.vendorConfigurations\n } : undefined, isEPrivacyUSA ? ePrivacyUSA : \"\", function (cookie, tcf) {\n return (cookie === null || cookie === void 0 ? void 0 : cookie.ePrivacyUSA) || (tcf === null || tcf === void 0 ? void 0 : tcf.vendorConfiguration.ePrivacyUSA) === 1;\n }, 3, true); // Calculate the body content depending on TCF availability and if second view got opened\n\n var stackOrGroups = useMemo(function () {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroups, null) : h(BannerTcfStacks, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroups, null) : h(BannerDottedGroups, null);\n }\n }, [individualPrivacyOpen, tcf]);\n var leftSide = h(\"div\", _extends({\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), !!useDescription && h(Fragment, null, h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: useDescription\n }\n }), (isEPrivacyUSA || isAgeNotice) && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", bannerInlineStyleBodyTeachingsSeparator(banner))), !!useEPrivacyUSA && h(\"span\", _extends({}, bannerInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: useEPrivacyUSA\n }\n })), isAgeNotice && !!ageNoticeBanner && h(\"span\", _extends({}, bannerInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: ageNoticeBanner\n }\n })))))), stackOrGroups);\n var rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtons, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { bannerInlineStylesScale } from \"..\";\nvar BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide(_ref) {\n var type = _ref.layout.type,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n activeAction = _ref.activeAction,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var usePadding = bannerInlineStylesScale(mobile, pageRequestUuid4, padding);\n var style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style: style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyDescription(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n descriptionTextAlign = _ref.individualLayout.descriptionTextAlign,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","function bannerInlineStyleBodyTeachingsSeparator(_ref) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n teachingsSeparatorActive = _ref$bodyDesign.teachingsSeparatorActive,\n teachingsSeparatorWidth = _ref$bodyDesign.teachingsSeparatorWidth,\n teachingsSeparatorHeight = _ref$bodyDesign.teachingsSeparatorHeight,\n teachingsSeparatorColor = _ref$bodyDesign.teachingsSeparatorColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyTeachingsSeparator };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bannerInlineStylesScale } from \"..\";\nimport { hexToRgb } from \"../../../../utils\";\nimport { BUTTONS_WIDTH } from \"./\";\n\nfunction bannerInlineStylesRightSide(_ref) {\n var _style;\n\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n bg = _ref$design.bg,\n fontColor = _ref$design.fontColor,\n headerDesign = _ref.headerDesign,\n footerDesign = _ref.footerDesign,\n padding = _ref.bodyDesign.padding,\n inheritDialogMaxWidth = _ref.individualLayout.inheritDialogMaxWidth,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n _ref$renderedHeights = _ref.renderedHeights,\n headerContainer = _ref$renderedHeights.headerContainer,\n footerContainer = _ref$renderedHeights.footerContainer,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var usePadding = bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, true);\n\n var _hexToRgb = hexToRgb(fontColor),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n var width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n var style = (_style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width: width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\"\n }, _defineProperty(_style, individualPrivacyOpen ? \"top\" : \"bottom\", individualPrivacyOpen ? +headerContainer + bannerInlineStylesScale(mobile, pageRequestUuid4, headerDesign.borderWidth) : +footerContainer + bannerInlineStylesScale(mobile, pageRequestUuid4, footerDesign.borderWidth)), _defineProperty(_style, \"zIndex\", 1), _defineProperty(_style, \"display\", \"flex\"), _defineProperty(_style, \"flexWrap\", \"wrap\"), _defineProperty(_style, \"transition\", \"box-shadow ease-in-out .1s\"), _defineProperty(_style, \"--boxShadowShowScroll\", \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")), _style);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style: style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyContainer(_ref) {\n var type = _ref.layout.type,\n _ref$design = _ref.design,\n bg = _ref$design.bg,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding).map(function (p, i) {\n return \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\");\n }).join(\" \"),\n lineHeight: 1.4\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBody(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useState } from \"react\";\nimport { bannerFooterInlineStyleLink } from \"./inlineStyles\";\nimport { useBanner } from \"../../contexts\";\n\nvar BannerFooterLink = function BannerFooterLink(_ref) {\n var children = _ref.children,\n anchorRest = _objectWithoutProperties(_ref, [\"children\"]);\n\n var banner = useBanner();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHover = _useState2[0],\n setIsHover = _useState2[1];\n\n return h(\"a\", _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }, bannerFooterInlineStyleLink(banner, isHover), anchorRest), children);\n};\n\nexport { BannerFooterLink };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyleLink(_ref) {\n var _ref$footerDesign = _ref.footerDesign,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n hoverFontColor = _ref$footerDesign.hoverFontColor,\n fontInheritFamily = _ref$footerDesign.fontInheritFamily,\n fontFamily = _ref$footerDesign.fontFamily,\n linkTextDecoration = _ref.design.linkTextDecoration,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var isHover = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var style = {\n textDecoration: linkTextDecoration,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleLink };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useCallback } from \"react\";\nimport { bannerFooterInlineStyle, bannerFooterInlineStyleContainer, bannerInlineStylesScale } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { getOtherOptionsFromWindow, jsxJoin } from \"../../utils\";\nimport { useBannerLegalLinks, useBannerRefToRenderedHeight } from \"../../hooks\";\nimport { BannerFooterLink, BannerTooltip } from \".\";\n\nvar BannerFooter = function BannerFooter() {\n var banner = useBanner();\n var isTcf = banner.isTcf,\n type = banner.layout.type,\n mobile = banner.mobile,\n legal = banner.legal,\n _banner$footerDesign = banner.footerDesign,\n poweredByLink = _banner$footerDesign.poweredByLink,\n linkTarget = _banner$footerDesign.linkTarget,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n updateIndividualPrivacyOpen = banner.updateIndividualPrivacyOpen,\n poweredLink = banner.poweredLink,\n isConsentRecord = banner.isConsentRecord,\n onClose = banner.onClose,\n pageRequestUuid4 = banner.pageRequestUuid4;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n close = _getOtherOptionsFromW2.close,\n tcf = _getOtherOptionsFromW2.tcf,\n affiliate = _getOtherOptionsFromW.affiliate;\n\n var ref = useBannerRefToRenderedHeight(\"footerContainer\");\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(function (e) {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n var handleClose = useCallback(function (e) {\n onClose();\n e.preventDefault();\n }, [onClose]);\n var targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n\n var _useBannerLegalLinks = useBannerLegalLinks(legal),\n linkPrivacyPolicy = _useBannerLegalLinks.linkPrivacyPolicy,\n linkImprint = _useBannerLegalLinks.linkImprint;\n\n var links = [// Row 1\n [isConsentRecord && h(BannerFooterLink, {\n href: \"#\",\n onClick: handleClose,\n key: \"close\"\n }, h(\"strong\", null, close)), process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(BannerFooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList), linkPrivacyPolicy && h(BannerFooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(BannerFooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)].filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n links[useType === \"banner\" ? 0 : 1].push(h(BannerFooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(BannerTooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind)));\n }\n\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), jsxJoin(links.map(function (linksRow) {\n return linksRow.length ? h(Fragment, {\n key: linksRow[0].key\n }, jsxJoin(linksRow, h(Fragment, null, \" \\u2022 \"))) : null;\n }), h(\"br\", null))));\n};\n\nexport { BannerFooter };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n inheritBg = _ref$footerDesign.inheritBg,\n bg = _ref$footerDesign.bg,\n inheritTextAlign = _ref$footerDesign.inheritTextAlign,\n textAlign = _ref$footerDesign.textAlign,\n padding = _ref$footerDesign.padding,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n fontWeight = _ref$footerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\nimport { bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerBody, BannerFooter } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { usePlainCss } from \"../../hooks\";\nimport { bannerInlineStylesScale, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"./inlineStyles\";\n\nvar BannerContent = function BannerContent() {\n var _document$getElementB;\n\n var banner = useBanner();\n var _banner$layout = banner.layout,\n type = _banner$layout.type,\n dialogBorderRadius = _banner$layout.dialogBorderRadius,\n _banner$decision = banner.decision,\n acceptEssentials = _banner$decision.acceptEssentials,\n showCloseIcon = _banner$decision.showCloseIcon,\n mobile = banner.mobile,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n bg = banner.design.bg,\n teachingsFontColor = banner.bodyDesign.teachingsFontColor,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var id = \"cntnt-\".concat(pageRequestUuid4);\n var ref = useRef();\n var currentRef = ref.current;\n var showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (acceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = bannerInlineStylesScale(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior on mobile devices\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showScrollBoxShadow = _useState2[0],\n setShowScrollBoxShadow = _useState2[1];\n\n var updateShowScrollBoxShadow = useCallback(function () {\n if (currentRef) {\n var clientHeight = currentRef.clientHeight,\n scrollHeight = currentRef.scrollHeight,\n scrollTop = currentRef.scrollTop,\n offsetHeight = currentRef.offsetHeight;\n var hasScrollbar = clientHeight < scrollHeight;\n var scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n var result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(function () {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return function () {\n return currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n };\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return function () {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow && ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scorllbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, null), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, null), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, null));\n};\n\nexport { BannerContent };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerContentInlineStyle(_ref) {\n var _document$getElementB;\n\n var type = _ref.layout.type,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n showCloseIcon = _ref.decision.showCloseIcon,\n activeAction = _ref.activeAction,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n var mobileMaxHeight = +mobile.maxHeight;\n var useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n var closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: bannerInlineStylesScale(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$headerDesign = _ref.headerDesign,\n borderWidth = _ref$headerDesign.borderWidth,\n borderColor = _ref$headerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n headerContainer = _ref.renderedHeights.headerContainer;\n var useDesignBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: +headerContainer,\n zIndex: 9\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n borderWidth = _ref$footerDesign.borderWidth,\n borderColor = _ref$footerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n footerContainer = _ref.renderedHeights.footerContainer;\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: +footerContainer\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from \"react\";\n\nfunction useResetableAnimation(animation, duration) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n j = _useState4[0],\n setJ = _useState4[1];\n\n var _useState5 = useState(animation),\n _useState6 = _slicedToArray(_useState5, 2),\n stateAnimation = _useState6[0],\n setStateAnimation = _useState6[1];\n\n var _useState7 = useState(undefined),\n _useState8 = _slicedToArray(_useState7, 2),\n stateAnimationReset = _useState8[0],\n setStateAnimationReset = _useState8[1];\n\n var _useState9 = useState(duration),\n _useState10 = _slicedToArray(_useState9, 2),\n stateDuration = _useState10[0],\n setStateDuration = _useState10[1];\n\n var _useState11 = useState(undefined),\n _useState12 = _slicedToArray(_useState11, 2),\n stateDurationReset = _useState12[0],\n setStateDurationReset = _useState12[1]; // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(function () {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(function () {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResetableAnimation };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nvar HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n var _useBanner = useBanner(),\n openBanner = _useBanner.openBanner,\n openHistory = _useBanner.openHistory,\n revokeConsent = _useBanner.revokeConsent;\n\n useEffect(function () {\n var handleType = function handleType(type, successMessage, e) {\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n var eventListener = function eventListener(e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n var element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(function (parent) {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n document.addEventListener(\"click\", eventListener, true);\n return function () {\n document.removeEventListener(\"click\", eventListener, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState(_ref) {\n var isVisible = _ref.isVisible,\n animationIn = _ref.animationIn,\n animationOut = _ref.animationOut,\n animationInDuration = _ref.animationInDuration,\n animationOutDuration = _ref.animationOutDuration,\n animationInDelay = _ref.animationInDelay,\n animationOutDelay = _ref.animationOutDelay;\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nvar AnimatedCss = function AnimatedCss(_ref2) {\n var _ref2$animateOnMount = _ref2.animateOnMount,\n animateOnMount = _ref2$animateOnMount === void 0 ? true : _ref2$animateOnMount,\n _ref2$isVisible = _ref2.isVisible,\n isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,\n _ref2$animationIn = _ref2.animationIn,\n animationIn = _ref2$animationIn === void 0 ? \"fadeIn\" : _ref2$animationIn,\n _ref2$animationOut = _ref2.animationOut,\n animationOut = _ref2$animationOut === void 0 ? \"fadeOut\" : _ref2$animationOut,\n _ref2$animationInDela = _ref2.animationInDelay,\n animationInDelay = _ref2$animationInDela === void 0 ? 0 : _ref2$animationInDela,\n _ref2$animationOutDel = _ref2.animationOutDelay,\n animationOutDelay = _ref2$animationOutDel === void 0 ? 0 : _ref2$animationOutDel,\n _ref2$animationInDura = _ref2.animationInDuration,\n animationInDuration = _ref2$animationInDura === void 0 ? 1000 : _ref2$animationInDura,\n _ref2$animationOutDur = _ref2.animationOutDuration,\n animationOutDuration = _ref2$animationOutDur === void 0 ? 1000 : _ref2$animationOutDur,\n _ref2$className = _ref2.className,\n className = _ref2$className === void 0 ? \"\" : _ref2$className,\n _ref2$style = _ref2.style,\n style = _ref2$style === void 0 ? {} : _ref2$style,\n children = _ref2.children;\n\n var _useState = useState(animateOnMount ? getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n animation = _useState2$.animation,\n duration = _useState2$.duration,\n delay = _useState2$.delay,\n setAnimationRelatedState = _useState2[1];\n\n useEffect(function () {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n var classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n var backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: _objectSpread(_objectSpread({\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\"\n }, style), backwardStyle)\n }, children);\n};\n\nexport { AnimatedCss };","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n var _banner$legal = banner.legal,\n imprint = _banner$legal.imprint,\n imprintHide = _banner$legal.imprintHide,\n privacyPolicy = _banner$legal.privacyPolicy,\n privacyPolicyHide = _banner$legal.privacyPolicyHide,\n pageId = banner.pageId;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { BannerContent, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, bannerContentInlineStyleInner } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { useRestrictScrollWhenVisible, useResetableAnimation, usePlainCss, useBannerActionType, useBannerActionLinks } from \"../../hooks\";\nimport { AnimatedCss } from \"..\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { isHiddenDueLegal, dispatchResizeEvent } from \"../../others\";\n\nvar Banner = function Banner() {\n var banner = useBanner();\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n var _banner$layout = banner.layout,\n animationIn = _banner$layout.animationIn,\n animationInDuration = _banner$layout.animationInDuration,\n animationOut = _banner$layout.animationOut,\n animationOutDuration = _banner$layout.animationOutDuration,\n overlay = _banner$layout.overlay,\n overlayBlur = _banner$layout.overlayBlur,\n _banner$customCss = banner.customCss,\n antiAdBlocker = _banner$customCss.antiAdBlocker,\n css = _banner$customCss.css,\n visible = banner.visible,\n animationVisible = banner.animationVisible,\n activeAction = banner.activeAction,\n skipOverlay = banner.skipOverlay,\n gotHiddenDueLegal = banner.gotHiddenDueLegal,\n pageRequestUuid4 = banner.pageRequestUuid4,\n individualPrivacyOpen = banner.individualPrivacyOpen;\n\n var _useResetableAnimatio = useResetableAnimation(animationIn, animationInDuration),\n _useResetableAnimatio2 = _slicedToArray(_useResetableAnimatio, 2),\n stateAnimationIn = _useResetableAnimatio2[0],\n stateAnimationInDuration = _useResetableAnimatio2[1];\n\n var _useResetableAnimatio3 = useResetableAnimation(animationOut === \"none\" ? \"fadeOut\" : animationOut, animationOut === \"none\" ? 0 : animationOutDuration),\n _useResetableAnimatio4 = _slicedToArray(_useResetableAnimatio3, 2),\n stateAnimationOut = _useResetableAnimatio4[0],\n stateAnimationOutDuration = _useResetableAnimatio4[1];\n\n var hiddenDueLegal = isHiddenDueLegal(banner);\n var show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss(\"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;}\")); // Blur effect\n\n if (isPro) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n useRestrictScrollWhenVisible(show && overlay && animationVisible); // Listen to window resizes and resize the content automatically\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n setInvalidate = _useState2[1];\n\n var updateSize = function updateSize() {\n return setInvalidate(+new Date());\n };\n\n useLayoutEffect(function () {\n window.addEventListener(\"resize\", updateSize);\n return function () {\n return window.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n useLayoutEffect(function () {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(function () {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerActionType();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n var content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null)));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\n/**\n * Do not allow scrolling when this banner is visible\n *\n * @param visible\n */\n\nfunction useRestrictScrollWhenVisible(visible) {\n return useEffect(function () {\n var _document$body = document.body,\n dataset = _document$body.dataset,\n style = _document$body.style; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = visible ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n }, [visible]);\n}\n\nexport { useRestrictScrollWhenVisible };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect, useState } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n/**\n * Populate the banner depending on the active action. This handles the following things:\n *\n * - History\n * - Change\n * - Revoke\n */\n\nfunction useBannerActionType() {\n var banner = useBanner();\n var consent = banner.consent,\n groups = banner.groups,\n tcf = banner.tcf,\n activeAction = banner.activeAction,\n selectHistoryEntry = banner.selectHistoryEntry,\n setHistory = banner.setHistory; // Save the current consent and group settings to restore\n\n var _useState = useState({\n consent: consent,\n groups: groups,\n tcf: tcf\n }),\n _useState2 = _slicedToArray(_useState, 2),\n originalConsent = _useState2[0],\n setOriginalConsent = _useState2[1]; // Listen to consent changes and save it as original consent (only when non-history)\n\n\n useEffect(function () {\n if (!activeAction) {\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(function () {\n function fetch() {\n return _fetch.apply(this, arguments);\n }\n\n function _fetch() {\n _fetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, result, _result, _result$, _groups2, decision, _tcf2;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce;\n _context.next = 3;\n return commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false\n });\n\n case 3:\n result = _context.sent;\n setHistory(result); // Initially select first item\n\n if (result.length) {\n _result = _slicedToArray(result, 1), _result$ = _result[0], _groups2 = _result$.groups, decision = _result$.decision, _tcf2 = _result$.tcf;\n selectHistoryEntry(_groups2, decision, _tcf2);\n } else {\n selectHistoryEntry([], []);\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetch.apply(this, arguments);\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n var _groups = originalConsent.groups,\n consentGroups = originalConsent.consent.groups,\n _tcf = originalConsent.tcf;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(_groups, consentGroups, _tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerActionType };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerOverlayInlineStyleAlignment(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogPosition = _ref$layout.dialogPosition,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style: style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bannerInlineStylesScale } from \"..\";\nimport { calculateOverlay } from \"../../../../utils\";\n\nfunction bannerContentInlineStyleInner(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n dialogPosition = _ref$layout.dialogPosition,\n dialogMargin = _ref$layout.dialogMargin,\n bannerPosition = _ref$layout.bannerPosition,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n textAlign = _ref$design.textAlign,\n fontColor = _ref$design.fontColor,\n fontInheritFamily = _ref$design.fontInheritFamily,\n fontFamily = _ref$design.fontFamily,\n fontWeight = _ref$design.fontWeight,\n boxShadowEnabled = _ref$design.boxShadowEnabled,\n boxShadowOffsetX = _ref$design.boxShadowOffsetX,\n boxShadowOffsetY = _ref$design.boxShadowOffsetY,\n boxShadowBlurRadius = _ref$design.boxShadowBlurRadius,\n boxShadowSpreadRadius = _ref$design.boxShadowSpreadRadius,\n boxShadowColor = _ref$design.boxShadowColor,\n boxShadowColorAlpha = _ref$design.boxShadowColorAlpha,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var mobileAlignment = mobile.alignment;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n\n var style = _defineProperty({\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign: textAlign,\n width: width,\n overflow: \"hidden\",\n alignSelf: bannerInlineStylesScale(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateOverlay(boxShadowColor, boxShadowColorAlpha)) : undefined\n }, useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\", useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined);\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(function (i) {\n return \"\".concat(i, \"px\");\n }).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style: style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import { calculateOverlay } from \"../../../../utils\";\nimport { bannerInlineStylesScale } from \"..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n overlay = _ref$layout.overlay,\n overlayBg = _ref$layout.overlayBg,\n overlayBgAlpha = _ref$layout.overlayBgAlpha,\n fontSize = _ref.design.fontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateOverlay(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 99999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize)\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Get the default decision and respect essential group and legitimate interests.\n */\n\nfunction getDefaultDecision() {\n var respectLegitimateInterests = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n essentialGroup = _getOtherOptionsFromW.essentialGroup;\n\n var _groups$filter = groups.filter(function (_ref) {\n var slug = _ref.slug;\n return slug === essentialGroup;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0]; // We need always use the current essential group\n\n\n var result = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }));\n\n if (respectLegitimateInterests) {\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var group = _step.value;\n\n if (group === essentialGroupObj) {\n continue;\n }\n\n var ids = group.items.filter(function (_ref3) {\n var legalBasis = _ref3.legalBasis;\n return legalBasis === \"legitimate-interest\";\n }).map(function (_ref4) {\n var id = _ref4.id;\n return id;\n });\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { supportsCookies } from \"../../../utils\";\n\n/**\n * Does the current browser support cookies?\n */\nvar preDecisionGatewaySupportsCookies = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", supportsCookies() ? false : \"essentials\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewaySupportsCookies() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewaySupportsCookies };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nvar preDecisionGatewayHasPageClass = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var className;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n className = document.body.className;\n return _context.abrupt(\"return\", className.indexOf(\"login-action-\") > -1 ? \"consent\" : false);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayHasPageClass() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayHasPageClass };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise(function (resolve, reject) {\n promise.then(resolve, reject);\n var e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.GET\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOptionsFromWindow, isCrawler, promiseTimeout } from \"../../../utils\";\nimport { getUserDecision } from \"../..\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../../../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n/**\n * Dynamically allow to get a predecision with a extra request to our REST API.\n */\n\nvar preDecisionGatewayDynamicRequest = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, _getOptionsFromWindow2, revisionHash, hasDynamicPreDecisions, decision, revision, _document$documentEle, clientWidth, clientHeight, _yield$promiseTimeout, predecision;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce, _getOptionsFromWindow2 = _getOptionsFromWindow.others, revisionHash = _getOptionsFromWindow2.revisionHash, hasDynamicPreDecisions = _getOptionsFromWindow2.hasDynamicPreDecisions;\n\n if (!(isCrawler() || !hasDynamicPreDecisions)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n // Check if revision has changed, and probably access our dynamic predecision again\n decision = getUserDecision();\n\n if (!decision) {\n _context.next = 8;\n break;\n }\n\n revision = decision.revision;\n\n if (!(revisionHash === revision)) {\n _context.next = 8;\n break;\n }\n\n return _context.abrupt(\"return\", \"consent\");\n\n case 8:\n _document$documentEle = document.documentElement, clientWidth = _document$documentEle.clientWidth, clientHeight = _document$documentEle.clientHeight;\n _context.prev = 9;\n _context.next = 12;\n return promiseTimeout(commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n }), 10000);\n\n case 12:\n _yield$promiseTimeout = _context.sent;\n predecision = _yield$promiseTimeout.predecision;\n return _context.abrupt(\"return\", predecision);\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](9);\n return _context.abrupt(\"return\", false);\n\n case 20:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[9, 17]]);\n }));\n\n return function preDecisionGatewayDynamicRequest() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayDynamicRequest };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { isHiddenDueLegal } from \"..\";\n/**\n * Is the page currently a legal site?\n */\n\nvar preDecisionGatewayIsHiddenDueLegal = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(banner) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", isHiddenDueLegal(banner) ? \"consent\" : false);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayIsHiddenDueLegal(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsHiddenDueLegal };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow, isCrawler } from \"../../../utils\";\nimport { getUserDecision } from \"../../getUserDecision\";\n/**\n * When the server decides to not predecision anything e. g. due to\n * legal settings (privacy policy, imprint, hide on additional pages) or\n * the login page.\n */\n\nvar preDecisionGatewayIsPreventPreDecision = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var other, userDecision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n other = getOtherOptionsFromWindow();\n userDecision = getUserDecision();\n return _context.abrupt(\"return\", other.isPreventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explictely allow cookies on all pages\n \"all\" : \"consent\" : false);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayIsPreventPreDecision() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsPreventPreDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow, isCrawler } from \"../../../utils\";\nimport { getUserDecision } from \"../..\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nvar preDecisionGatewayIsCrawler = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOtherOptionsFromW, isAcceptAllForBots;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), isAcceptAllForBots = _getOtherOptionsFromW.isAcceptAllForBots;\n\n if (!(getUserDecision() !== false || !isAcceptAllForBots)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n return _context.abrupt(\"return\", isCrawler() ? \"all\" : false);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayIsCrawler() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsCrawler };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n var w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { isDoNotTrack, getOtherOptionsFromWindow } from \"../../../utils\";\nimport { getUserDecision } from \"../../getUserDecision\";\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's\n * automatically save the dialog without any action.\n */\n\nvar preDecisionGatewayIsDoNotTrack = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOtherOptionsFromW, isRespectDoNotTrack, groups, essentialGroup, _groups$filter, _groups$filter2, essentialGroupObj, _iterator, _step, group, _iterator2, _step2, item;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), isRespectDoNotTrack = _getOtherOptionsFromW.isRespectDoNotTrack, groups = _getOtherOptionsFromW.groups, essentialGroup = _getOtherOptionsFromW.essentialGroup;\n _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroup;\n }), _groups$filter2 = _slicedToArray(_groups$filter, 1), essentialGroupObj = _groups$filter2[0];\n\n if (!(getUserDecision() !== false || !isRespectDoNotTrack)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n // As soon we have a legitimate interest, we need to show the cookie banner\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context.next = 29;\n break;\n }\n\n group = _step.value;\n\n if (!(group !== essentialGroupObj)) {\n _context.next = 27;\n break;\n }\n\n _iterator2 = _createForOfIteratorHelper(group.items);\n _context.prev = 11;\n\n _iterator2.s();\n\n case 13:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 19;\n break;\n }\n\n item = _step2.value;\n\n if (!(item.legalBasis === \"legitimate-interest\")) {\n _context.next = 17;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 17:\n _context.next = 13;\n break;\n\n case 19:\n _context.next = 24;\n break;\n\n case 21:\n _context.prev = 21;\n _context.t0 = _context[\"catch\"](11);\n\n _iterator2.e(_context.t0);\n\n case 24:\n _context.prev = 24;\n\n _iterator2.f();\n\n return _context.finish(24);\n\n case 27:\n _context.next = 7;\n break;\n\n case 29:\n _context.next = 34;\n break;\n\n case 31:\n _context.prev = 31;\n _context.t1 = _context[\"catch\"](5);\n\n _iterator.e(_context.t1);\n\n case 34:\n _context.prev = 34;\n\n _iterator.f();\n\n return _context.finish(34);\n\n case 37:\n return _context.abrupt(\"return\", isDoNotTrack() ? \"dnt\" : false);\n\n case 38:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 31, 34, 37], [11, 21, 24, 27]]);\n }));\n\n return function preDecisionGatewayIsDoNotTrack() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsDoNotTrack };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow } from \"../../../utils\";\nimport { getUserDecision } from \"../../getUserDecision\";\n/**\n * Has the user already consent to the latest revision settings?\n */\n\nvar preDecisionGatewayUserConsent = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var decision, revision, _getOtherOptionsFromW, revisionHash;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decision = getUserDecision();\n\n if (!(decision === false)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n revision = decision.revision;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), revisionHash = _getOtherOptionsFromW.revisionHash;\n return _context.abrupt(\"return\", revisionHash === revision ? \"consent\" : false);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayUserConsent() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayUserConsent };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState } from \"react\";\nimport { Banner } from \"./banner\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { BannerContextFactory } from \"../contexts\";\nimport { useWebsiteBannerOverlay, useBannerActions, useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getUserDecision, getDefaultDecision } from \"../others\";\nimport { prepareTcfString, restoreTcf } from \"../tcf\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nvar WebsiteBanner = function WebsiteBanner(_ref) {\n var poweredLink = _ref.poweredLink;\n var userDecision = getUserDecision();\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.customizeValuesBanner,\n layout = _getOtherOptionsFromW2.layout,\n decision = _getOtherOptionsFromW2.decision,\n legal = _getOtherOptionsFromW2.legal,\n design = _getOtherOptionsFromW2.design,\n headerDesign = _getOtherOptionsFromW2.headerDesign,\n bodyDesign = _getOtherOptionsFromW2.bodyDesign,\n footerDesign = _getOtherOptionsFromW2.footerDesign,\n texts = _getOtherOptionsFromW2.texts,\n individualLayout = _getOtherOptionsFromW2.individualLayout,\n saveButton = _getOtherOptionsFromW2.saveButton,\n group = _getOtherOptionsFromW2.group,\n individualTexts = _getOtherOptionsFromW2.individualTexts,\n customCss = _getOtherOptionsFromW2.customCss,\n mobile = _getOtherOptionsFromW2.mobile,\n pageId = _getOtherOptionsFromW.pageId,\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4,\n pageIdToPermalink = _getOtherOptionsFromW.pageIdToPermalink,\n consentForwardingExternalHosts = _getOtherOptionsFromW.consentForwardingExternalHosts,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n isTcf = _getOtherOptionsFromW.isTcf,\n isEPrivacyUSA = _getOtherOptionsFromW.isEPrivacyUSA,\n isAgeNotice = _getOtherOptionsFromW.isAgeNotice,\n tcf = _getOtherOptionsFromW.tcf,\n tcfMetadata = _getOtherOptionsFromW.tcfMetadata,\n groups = _getOtherOptionsFromW.groups,\n isRefreshSiteAfterConsent = _getOtherOptionsFromW.isRefreshSiteAfterConsent; // TCF compatibility\n\n\n var tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n var _useWebsiteBannerOver = useWebsiteBannerOverlay(),\n toggleOverlay = _useWebsiteBannerOver.toggleOverlay; // Context values preparation\n\n\n var _useState = useState({\n layout: _objectSpread({}, layout),\n decision: _objectSpread({}, decision),\n legal: _objectSpread({}, legal),\n design: _objectSpread({}, design),\n headerDesign: _objectSpread({}, headerDesign),\n bodyDesign: _objectSpread({}, bodyDesign),\n footerDesign: _objectSpread({}, footerDesign),\n texts: _objectSpread({}, texts),\n individualLayout: _objectSpread({}, individualLayout),\n saveButton: _objectSpread({}, saveButton),\n group: _objectSpread({}, group),\n individualTexts: _objectSpread({}, individualTexts),\n customCss: _objectSpread({}, customCss),\n mobile: _objectSpread({}, mobile),\n pageRequestUuid4: pageRequestUuid4,\n pageIdToPermalink: pageIdToPermalink,\n consentForwardingExternalHosts: consentForwardingExternalHosts,\n pageId: pageId,\n isTcf: isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n updateTcfFilterBy: function updateTcfFilterBy(newFilter) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n tcfFilterBy: newFilter\n });\n });\n },\n groups: groups,\n essentialGroup: essentialGroup,\n poweredLink: poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(opened) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n individualPrivacyOpen: opened\n });\n });\n },\n renderedHeights: {\n headerContainer: 0,\n footerContainer: 0,\n rightSideContainer: 0\n },\n updateRenderedHeight: function updateRenderedHeight(name, height) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n renderedHeights: _objectSpread(_objectSpread({}, state.renderedHeights), {}, _defineProperty({}, name, height))\n });\n });\n },\n consent: {\n groups: _objectSpread(_objectSpread({}, userDecision === false ? {} : userDecision.consent), getDefaultDecision(userDecision === false))\n },\n didGroupFirstChange: false,\n updateGroupChecked: function updateGroupChecked(id, checked) {\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(function (group) {\n return group.id === id;\n })[0].items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n });\n } else {\n delete newConsent.groups[id];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent,\n didGroupFirstChange: true\n });\n });\n },\n updateCookieChecked: function updateCookieChecked(groupId, id, checked) {\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n // Initially create \"selected\" cookies\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n var cookieIds = newConsent.groups[groupId];\n var indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n // Delete group entirely when no cookies selected\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent\n });\n });\n },\n onSave: function onSave(markAsDoNotTrack, buttonClicked) {\n setContextValue(function (state) {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n var appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n if (isRefreshSiteAfterConsent || state.refreshSiteAfterSave) {\n appliedConsent.then(function () {\n return (// Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(function () {\n return window.location.reload();\n }, state.refreshSiteAfterSave ||\n /* BC */\n 2000)\n );\n }); // When refreshing the site, do not show any out animation\n\n // When refreshing the site, do not show any out animation\n return state;\n } else {\n return _objectSpread(_objectSpread({}, state), toggleOverlay(state, false));\n }\n });\n },\n onClose: function onClose() {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread(_objectSpread({}, state), toggleOverlay(state, false)), {}, {\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n });\n });\n },\n setHistory: function setHistory(history) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n history: history\n });\n });\n },\n selectHistoryEntry: function selectHistoryEntry(groups, consentGroups, tcf) {\n setContextValue(function (state) {\n var additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : restoreTcf(tcf)\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: groups,\n consent: _objectSpread(_objectSpread({}, state.consent), {}, {\n groups: consentGroups\n })\n }, additionalChanges);\n });\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n contextValue = _useState2[0],\n setContextValue = _useState2[1];\n\n useBannerActions(setContextValue, toggleOverlay);\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n var BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { applyModelMetadata, applyRestrictivePurposes, prepareTcfString, restoreTcf, getCurrentTcfStringFromCookie } from \"../tcf\";\n\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(function () {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n var gvl;\n var model;\n var restored = getCurrentTcfStringFromCookie(tcf, tcfMeta); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n var newTcf = restoreTcf({\n tcf: tcf,\n tcfMeta: tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyModelMetadata(model, tcfMeta);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl: gvl,\n model: model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { useCallback } from \"react\";\n\nfunction useWebsiteBannerOverlay() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var overlay = document.getElementById(pageRequestUuid4);\n var toggleOverlay = useCallback(function (_ref, show) {\n var _ref$layout = _ref.layout,\n animationIn = _ref$layout.animationIn,\n animationInDuration = _ref$layout.animationInDuration,\n animationOut = _ref$layout.animationOut,\n animationOutDuration = _ref$layout.animationOutDuration;\n var defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n var useDuration = show ? animationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : animationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(function () {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(function () {\n var bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(function () {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n var animationVisible = {\n animationVisible: show\n };\n return show ? _objectSpread({\n visible: true\n }, animationVisible) : animationVisible;\n }, []);\n return {\n overlay: overlay,\n toggleOverlay: toggleOverlay\n };\n}\n\nexport { useWebsiteBannerOverlay };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useMemo } from \"react\";\nimport { applyConsent, getDefaultDecision } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\n/**\n * Create actions for a passed context. If you want to use the actions, do not use\n * this hook directly, instead pass the result of this hook to your context and use\n * it with `useBanner`.\n */\n\nfunction useBannerActions(setContextValue, toggleOverlay) {\n return useMemo(function () {\n var toggleWithActiveAction = function toggleWithActiveAction(type) {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false\n }, toggleOverlay(state, true));\n });\n };\n\n var cancelEvent = function cancelEvent(e) {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n };\n\n var actions = {\n openHistory: function openHistory(e) {\n toggleWithActiveAction(\"history\");\n cancelEvent(e);\n },\n openBanner: function openBanner(e) {\n toggleWithActiveAction(\"change\");\n cancelEvent(e);\n },\n revokeConsent: function revokeConsent(successMessage, e) {\n setContextValue(function (state) {\n var tcf = state.tcf;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var buttonClicked, tcfString;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n // Do not rely on current state of `groups` because it can be altered through history change\n buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n _context.next = 4;\n return applyConsent({\n consent: {\n groups: getDefaultDecision(true)\n },\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n case 4:\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(function () {\n return window.location.reload();\n }, 2000);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))(); // Do not change anything\n\n\n return state;\n });\n cancelEvent(e);\n }\n }; // Make the actions available in our context\n\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), actions);\n });\n }, [setContextValue, toggleOverlay]);\n}\n\nexport { useBannerActions };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect } from \"react\";\nimport { isCustomize, ready } from \"../utils\";\nimport { preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass, preDecisionGatewayIsHiddenDueLegal, preDecisionGatewayIsPreventPreDecision, preDecisionGatewayIsDoNotTrack, preDecisionGatewayUserConsent, preDecisionGatewayIsCrawler, preDecisionGatewayDynamicRequest, applyCookies, getDefaultDecision } from \"../others\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../types\";\n\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n // Only run this predecision mechanism once and when not in customize\n !isCustomize() && useEffect(function () {\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var onSave, gateways, show, _i, _gateways, gateway, result;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n onSave = banner.onSave;\n gateways = [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass, preDecisionGatewayDynamicRequest, preDecisionGatewayIsHiddenDueLegal, preDecisionGatewayIsPreventPreDecision, preDecisionGatewayIsCrawler, preDecisionGatewayIsDoNotTrack, preDecisionGatewayUserConsent];\n show = true;\n _i = 0, _gateways = gateways;\n\n case 4:\n if (!(_i < _gateways.length)) {\n _context.next = 16;\n break;\n }\n\n gateway = _gateways[_i];\n _context.next = 8;\n return gateway(banner);\n\n case 8:\n result = _context.sent;\n\n if (!(result !== false)) {\n _context.next = 13;\n break;\n }\n\n show = false;\n\n if (result === \"all\") {\n applyCookies(\"all\");\n } else if (result === \"essentials\") {\n applyCookies(\"essentials\");\n } else if (result === \"dnt\") {\n // Accept only essentials (save because they are always preselected when no decision given and we need to hold this decision in API)\n onSave(gateway === preDecisionGatewayIsDoNotTrack, \"none\");\n } else if (result === \"consent\") {\n // Apply cookies for the current user decision\n applyCookies(\"consent\");\n }\n\n return _context.abrupt(\"break\", 16);\n\n case 13:\n _i++;\n _context.next = 4;\n break;\n\n case 16:\n if (!show) {\n _context.next = 21;\n break;\n }\n\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getDefaultDecision()\n }\n }, toggleOverlay(state, true));\n }); // Wait all events are initialized\n\n _context.next = 20;\n return ready();\n\n case 20:\n // All content blockers should be made visible\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Wait for a given object which is calculated through a callback.\n */\nfunction waitObject(_x) {\n return _waitObject.apply(this, arguments);\n}\n\nfunction _waitObject() {\n _waitObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(getObject) {\n var delayNextCheck,\n maxTries,\n i,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n delayNextCheck = _args.length > 1 && _args[1] !== undefined ? _args[1] : 500;\n maxTries = _args.length > 2 && _args[2] !== undefined ? _args[2] : 0;\n i = 0;\n\n case 3:\n if (getObject()) {\n _context.next = 11;\n break;\n }\n\n if (!(maxTries > 0 && i >= maxTries)) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 6:\n _context.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, delayNextCheck);\n });\n\n case 8:\n i++;\n _context.next = 3;\n break;\n\n case 11:\n return _context.abrupt(\"return\", getObject());\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _waitObject.apply(this, arguments);\n}\n\nexport { waitObject };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT } from \"../../types\";\nimport { waitObject } from \"../../utils\";\nvar amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref) {\n var _ref$detail$cookie, presetId, codeOptIn, codeDynamics, _ref3, amznAssoWidgetHtmlId, element, slotNum, adContainer;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _ref$detail$cookie = _ref.detail.cookie, presetId = _ref$detail$cookie.presetId, codeOptIn = _ref$detail$cookie.codeOptIn, codeDynamics = _ref$detail$cookie.codeDynamics;\n _context2.t0 = presetId;\n _context2.next = _context2.t0 === \"amazon-associates-widget\" ? 4 : _context2.t0 === \"google-maps\" ? 16 : 18;\n break;\n\n case 4:\n _ref3 = codeDynamics || {}, amznAssoWidgetHtmlId = _ref3.amznAssoWidgetHtmlId;\n\n if (!amznAssoWidgetHtmlId) {\n _context2.next = 15;\n break;\n }\n\n element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (!element) {\n _context2.next = 15;\n break;\n }\n\n slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n _context2.next = 13;\n return waitObject(function () {\n return document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\"));\n }, 500, 50);\n\n case 13:\n adContainer = _context2.sent;\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n\n case 15:\n return _context2.abrupt(\"break\", 19);\n\n case 16:\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref4) {\n var element, _ref6, et_pb_map_init, jQuery;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n element = _ref4.detail.element;\n _ref6 = window, et_pb_map_init = _ref6.et_pb_map_init, jQuery = _ref6.jQuery;\n\n if (!(jQuery && element.matches(\".et_pb_map\") && et_pb_map_init)) {\n _context.next = 6;\n break;\n }\n\n _context.next = 5;\n return waitObject(function () {\n return window.google;\n });\n\n case 5:\n et_pb_map_init(jQuery(element).parent());\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2) {\n return _ref5.apply(this, arguments);\n };\n }());\n return _context2.abrupt(\"break\", 19);\n\n case 18:\n return _context2.abrupt(\"break\", 19);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n}\n\nexport { listenPresetOptIn };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow, createRegxpPatternFromWildcardedName } from \"../utils\";\nimport { getUserDecision } from \"../others\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n var found = [];\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n revisionHash = _getOtherOptionsFromW.revisionHash;\n\n var allCookies = groups.map(function (_ref) {\n var items = _ref.items;\n return items;\n }).flat();\n\n var _iterator = _createForOfIteratorHelper(allCookies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n var technicalDefinitions = row.technicalDefinitions;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n var _iterator2 = _createForOfIteratorHelper(technicalDefinitions),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var td = _step2.value;\n var regexp = createRegxpPatternFromWildcardedName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var already = getUserDecision();\n\n if (found.length) {\n var relevantCookie = found.sort(function (_ref2, _ref3) {\n var a = _ref2.relevance;\n var b = _ref3.relevance;\n return a - b;\n })[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n var consentCookieIds = Object.values(already.consent).flat();\n\n if (consentCookieIds.indexOf(relevantCookie.id) > -1) {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: true\n };\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: false,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: null,\n consentGiven: !!already,\n cookieOptIn: true\n };\n }\n}\n\nexport { consentSync };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { OPT_IN_EVENT, OPT_OUT_EVENT } from \"../types\";\nimport { consentSync } from \".\";\n/**\n * `window.consentApi.consent`: Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:\n *\n * - When a technical information exists in defined cookies, the Promise is only resolved after given consent\n * - When no technical information exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * **Since 2.3.0**: You can also check for consent by cookie ID (ID in `wp_posts`, post id):\n *\n * ```js\n * window.consentApi.consent(15)\n * ```\n */\n\nfunction consent() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new Promise(function (resolve, reject) {\n var _consentSync = consentSync.apply(void 0, args),\n foundCookie = _consentSync.cookie,\n consentGiven = _consentSync.consentGiven,\n cookieOptIn = _consentSync.cookieOptIn;\n\n if (foundCookie) {\n if (consentGiven) {\n if (cookieOptIn) {\n resolve();\n } else {\n reject();\n }\n } else {\n // Wait for consent\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cookie = _ref.detail.cookie;\n\n if (cookie === foundCookie) {\n resolve();\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()); // Wait for opt out\n\n document.addEventListener(OPT_OUT_EVENT, /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cookie = _ref3.detail.cookie;\n\n if (cookie === foundCookie) {\n reject();\n }\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { consent };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { consent } from \".\";\n/**\n * `window.consentApi.consentAll`: Check if a set of given technical information (e.g. HTTP Cookie, LocalStorage, ...)\n * have a consent. This is similar to `window.consentApi.consent` but for multiple cookies.\n */\n\nfunction consentAll(technicalDefinitions) {\n return Promise.all(technicalDefinitions.map(function (args) {\n return consent.apply(void 0, _toConsumableArray(args));\n }));\n}\n\nexport { consentAll };","import { OPT_IN_ALL_EVENT, BANNER_PRE_DECISION_SHOW_EVENT } from \"../types\";\nimport { getUserDecision } from \".\";\n/**\n * Listen to opt-in so we can safely print the UUID of the current user to the\n * `PrintUuidShortcode.php` HTML tag.\n */\n\nfunction printUuidToShortcode() {\n var elements = Array.prototype.slice.call(document.querySelectorAll(\".rcb-consent-print-uuid\"));\n document.addEventListener(BANNER_PRE_DECISION_SHOW_EVENT, function () {\n elements.forEach(function (element) {\n return element.innerHTML = element.getAttribute(\"data-fallback\");\n });\n });\n document.addEventListener(OPT_IN_ALL_EVENT, function () {\n var consent = getUserDecision();\n elements.forEach(function (element) {\n return element.innerHTML = consent === false ? element.getAttribute(\"data-fallback\") : consent.uuid;\n });\n });\n}\n\nexport { printUuidToShortcode };","/* 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 * Entrypoint for plain website. This file is only loaded if the visitor needs to accept cookies.\n */\nimport { render } from \"react-dom\";\nimport { WebsiteBanner } from \"./components\";\nimport { ready, getOtherOptionsFromWindow, ensureBodyElement } from \"./utils\";\nimport { listenPresetOptIn, getSsrPoweredByLink, printUuidToShortcode } from \"./others\";\nimport { tcfCmpApi } from \"./tcf\";\nimport * as API from \"./api\";\nimport { getWebpackPublicPath } from \"@devowl-wp/utils\";\n__webpack_public_path__ = getWebpackPublicPath(process.env);\nlistenPresetOptIn();\nprintUuidToShortcode();\ntcfCmpApi();\nready(function () {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var poweredLink = getSsrPoweredByLink();\n var element = ensureBodyElement(document.getElementById(pageRequestUuid4));\n\n if (element) {\n render(h(WebsiteBanner, {\n poweredLink: poweredLink\n }), element);\n }\n}, \"interactive\"); // Expose public API\n\nif (window) {\n window.consentApi = API;\n}\n\nexport * from \"./api\";","import { CmpApi } from \"@iabtcf/cmpapi\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\nimport { tcfCmpApiDispatcher } from \"./dispatcher\";\nvar cmpApiInstance;\n/**\n * Initialize a CMP API once for this page request. If TCF is not available, it will\n * return `undefined`.\n *\n * @see https://www.npmjs.com/package/@iabtcf/cmpapi\n */\n\nfunction tcfCmpApi() {\n var other = getOtherOptionsFromWindow();\n var isTcf = other.isTcf;\n\n if (process.env.IS_TCF === \"1\" && isTcf) {\n var tcf = other.tcf,\n tcfMetadata = other.tcfMetadata;\n var scope = tcfMetadata.scope; // Create instance only once\n\n if (!cmpApiInstance) {\n cmpApiInstance = new CmpApi(+process.env.TCF_CMP_ID, // Currently, only two bits (https://git.io/JmuD0) can be saved to the cmpVersion, so we can only save the major version\n getCmpVersion(\"major\"), scope === \"service-specific\"); // Dispatch events to vendors can listen to it\n\n setTimeout(function () {\n return tcfCmpApiDispatcher(tcf, tcfMetadata);\n }, 0);\n }\n\n return cmpApiInstance;\n } else {\n return undefined;\n }\n}\n\nexport { tcfCmpApi };","/**\n * Ensure the given HTML is a child of `body`. If not, it automatically gets moved.\n */\nfunction ensureBodyElement(element) {\n var _document = document,\n body = _document.body;\n var parentElement = element.parentElement;\n\n if (parentElement !== body) {\n body.appendChild(element);\n }\n\n return element;\n}\n\nexport { ensureBodyElement };","import { getOtherOptionsFromWindow } from \"../../utils\";\n\nvar BannerDevHint = function BannerDevHint() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro,\n isLicensed = _getOtherOptionsFromW.isLicensed,\n isDevLicense = _getOtherOptionsFromW.isDevLicense,\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n noLicense = _getOtherOptionsFromW2.noLicense,\n devLicense = _getOtherOptionsFromW2.devLicense;\n\n if (!isPro) {\n return null;\n }\n\n var useText = \"\";\n\n if (isDevLicense) {\n useText = devLicense;\n } else if (!isLicensed) {\n useText = noLicense;\n }\n\n return useText ? h(\"div\", {\n style: {\n fontSize: 13,\n color: \"#c95252\",\n fontWeight: \"bold\",\n order: 9\n }\n }, useText) : null;\n};\n\nexport { BannerDevHint };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nvar BannerTooltip = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? \"top\" : _ref$position,\n color = _ref.color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? \"large\" : _ref$size,\n always = _ref.always,\n rounded = _ref.rounded,\n noAnimate = _ref.noAnimate,\n bounce = _ref.bounce,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"title\", \"position\", \"color\", \"size\", \"always\", \"rounded\", \"noAnimate\", \"bounce\"]);\n\n usePlainCss(hintCss, \"hint-css\");\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { BannerTooltip };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nvar PlainAntdIconAsSvg = function PlainAntdIconAsSvg(_ref) {\n var icon = _ref.icon,\n rest = _objectWithoutProperties(_ref, [\"icon\"]);\n\n var svgString = useMemo(function () {\n return renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n });\n }, [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider so banner can be handled independent from Mobx.\n * Mobx is not enqueued in website frontend for bundle-size purposes!\n */\nvar BannerContextFactory = /*#__PURE__*/function () {\n function BannerContextFactory() {\n _classCallCheck(this, BannerContextFactory);\n }\n\n _createClass(BannerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BannerContextFactory;\n}();\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider so blocker can be handled independent from Mobx.\n * Mobx is not enqueued in website frontend for bundle-size purposes!\n */\nvar BlockerContextFactory = /*#__PURE__*/function () {\n function BlockerContextFactory() {\n _classCallCheck(this, BlockerContextFactory);\n }\n\n _createClass(BlockerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BlockerContextFactory;\n}();\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import { useBanner, useBlocker } from \"../contexts\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Get the permalink of a given page id from our page ID permalink map. It automatically\n * falls back to `p={ID}` URL.\n */\n\nfunction usePageIdToPermalinkMapLink(pageId) {\n var _useBanner = useBanner(),\n mapBanner = _useBanner.pageIdToPermalink;\n\n var _useBlocker = useBlocker(),\n mapBlocker = _useBlocker.pageIdToPermalink;\n\n var pageIdToPermalink = mapBanner || mapBlocker;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageByIdUrl = _getOtherOptionsFromW.pageByIdUrl;\n\n return (pageIdToPermalink === null || pageIdToPermalink === void 0 ? void 0 : pageIdToPermalink[pageId]) || \"\".concat(pageByIdUrl, \"=\").concat(pageId);\n}\n\nexport { usePageIdToPermalinkMapLink };","import { usePageIdToPermalinkMapLink } from \".\";\n\nfunction useBannerLegalLinks(_ref) {\n var privacyPolicy = _ref.privacyPolicy,\n privacyPolicyExternalUrl = _ref.privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl = _ref.privacyPolicyIsExternalUrl,\n privacyPolicyLabel = _ref.privacyPolicyLabel,\n imprint = _ref.imprint,\n imprintExternalUrl = _ref.imprintExternalUrl,\n imprintIsExternalUrl = _ref.imprintIsExternalUrl,\n imprintLabel = _ref.imprintLabel;\n var linkPrivacyPolicy = usePageIdToPermalinkMapLink(privacyPolicy);\n var linkImprint = usePageIdToPermalinkMapLink(imprint);\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useBannerLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nvar counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId) {\n var id = useMemo(function () {\n return \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36));\n }, []);\n useLayoutEffect(function () {\n var element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return function () {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n };\n }, [css]);\n return id;\n}\n\nexport { usePlainCss };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n}; // Also ported to rest/Consent.php","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Apply Consent Forwarding, it set's cross domain cookies via CORS requests.\n *\n * @see https://javascript.info/fetch-crossorigin\n */\n\nfunction applyConsentForwarding(_ref) {\n var endpoints = _ref.endpoints,\n data = _ref.data;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n if (isPro) {\n /* onlypro:start */\n var promises = [];\n\n var _iterator = _createForOfIteratorHelper(endpoints),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var endpoint = _step.value;\n promises.push(window.fetch(endpoint, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\"\n },\n body: JSON.stringify(data)\n }));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return Promise.all(promises);\n /* onlypro:start */\n } else {\n return Promise.reject();\n }\n}\n\nexport { applyConsentForwarding };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { locationRestConsentPost } from \"../wp-api\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { applyCookies, applyConsentForwarding } from \".\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n/**\n * Save consent to the backend and apply cookies on running session.\n */\n\nfunction applyConsent(_x) {\n return _applyConsent.apply(this, arguments);\n}\n\nfunction _applyConsent() {\n _applyConsent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var consent, _ref$markAsDoNotTrack, markAsDoNotTrack, buttonClicked, _ref$blocker, blocker, tcfString, _document$documentEle, clientWidth, clientHeight, _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, _yield$commonRequest, forward, uuid, cookie_revision, decision_in_cookie;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n consent = _ref.consent, _ref$markAsDoNotTrack = _ref.markAsDoNotTrack, markAsDoNotTrack = _ref$markAsDoNotTrack === void 0 ? false : _ref$markAsDoNotTrack, buttonClicked = _ref.buttonClicked, _ref$blocker = _ref.blocker, blocker = _ref$blocker === void 0 ? 0 : _ref$blocker, tcfString = _ref.tcfString;\n _document$documentEle = document.documentElement, clientWidth = _document$documentEle.clientWidth, clientHeight = _document$documentEle.clientHeight;\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce; // Use `commonRequest` cause on frontend we do not have `wp.i18n` available\n\n _context.next = 5;\n return commonRequest({\n location: locationRestConsentPost,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: _objectSpread(_objectSpread({}, consent), {}, {\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight,\n blocker: blocker,\n tcfString: tcfString\n }),\n params: {\n _wp_http_referer: window.location.href\n }\n });\n\n case 5:\n _yield$commonRequest = _context.sent;\n forward = _yield$commonRequest.forward;\n uuid = _yield$commonRequest.uuid;\n cookie_revision = _yield$commonRequest.cookie_revision;\n decision_in_cookie = _yield$commonRequest.decision_in_cookie;\n // Does the browser support cookies? Save the decision locally in `window` so `getUserDecision` can fallback\n window.rcbDisabledCookieComp = {\n uuid: uuid,\n revision: cookie_revision,\n consent: decision_in_cookie\n };\n _context.next = 13;\n return Promise.all([// Apply consent forwarding and wait for all requests\n forward && applyConsentForwarding(forward), applyCookies(\"consent\")].filter(Boolean));\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _applyConsent.apply(this, arguments);\n}\n\nexport { applyConsent };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { getUserDecision } from \"../getUserDecision\";\n/**\n * Read the selected groups + cookies depending on the passed type.\n *\n * @param type If \"consent\" it will be read from the current cookie and if this fails, it\n * falls back to essentials-only.\n */\n\nfunction getSelectedCookies(type) {\n var selectedGroups;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager,\n isPro = _getOtherOptionsFromW.isPro;\n\n var isManagerActive = isPro && setCookiesViaManager !== \"none\";\n\n var _groups$filter = groups.filter(function (_ref) {\n var slug = _ref.slug;\n return slug === essentialGroup;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0];\n\n var consentEssentials = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n })); // Read current consent\n\n\n if (type === \"consent\") {\n var decision = getUserDecision();\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive: isManagerActive,\n selectedGroups: selectedGroups,\n iterateCookies: function () {\n var _iterateCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callback) {\n var _iterator, _step, _group, _iterator2, _step2, _selectedGroups$_grou, _cookie, _isOptIn;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context.next = 25;\n break;\n }\n\n _group = _step.value;\n _iterator2 = _createForOfIteratorHelper(_group.items);\n _context.prev = 6;\n\n _iterator2.s();\n\n case 8:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 15;\n break;\n }\n\n _cookie = _step2.value;\n _isOptIn = type === \"all\" || ((_selectedGroups$_grou = selectedGroups[_group.id]) === null || _selectedGroups$_grou === void 0 ? void 0 : _selectedGroups$_grou.indexOf(_cookie.id)) > -1;\n _context.next = 13;\n return callback(_group, _cookie, _isOptIn);\n\n case 13:\n _context.next = 8;\n break;\n\n case 15:\n _context.next = 20;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](6);\n\n _iterator2.e(_context.t0);\n\n case 20:\n _context.prev = 20;\n\n _iterator2.f();\n\n return _context.finish(20);\n\n case 23:\n _context.next = 3;\n break;\n\n case 25:\n _context.next = 30;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t1 = _context[\"catch\"](1);\n\n _iterator.e(_context.t1);\n\n case 30:\n _context.prev = 30;\n\n _iterator.f();\n\n return _context.finish(30);\n\n case 33:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 27, 30, 33], [6, 17, 20, 23]]);\n }));\n\n function iterateCookies(_x) {\n return _iterateCookies.apply(this, arguments);\n }\n\n return iterateCookies;\n }()\n };\n}\n\nexport { getSelectedCookies };","function getManagerDependingVariables(isManagerActive, setCookiesViaManager) {\n var useVariableNameCamel;\n var useVariableNamePascal;\n var useGlobalObjectName;\n\n if (isManagerActive) {\n useVariableNameCamel = setCookiesViaManager;\n useVariableNamePascal = useVariableNameCamel.charAt(0).toUpperCase() + useVariableNameCamel.slice(1);\n var isGtm = setCookiesViaManager === \"googleTagManager\"; // const isMtm = setCookiesViaManager === \"matomoTagManager\"; // This variable is not yet needed, because we only have 2 managers\n\n useGlobalObjectName = isGtm ? \"dataLayer\" : \"_mtm\";\n }\n\n return {\n useVariableNameCamel: useVariableNameCamel,\n useVariableNamePascal: useVariableNamePascal,\n useGlobalObjectName: useGlobalObjectName\n };\n}\n\nexport { getManagerDependingVariables };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getSelectedCookies, getManagerDependingVariables } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { OPT_IN_EVENT, OPT_IN_ALL_EVENT } from \"../../types\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * Opt-in to a set of cookies.\n */\n\nfunction applyOptIn(_x) {\n return _applyOptIn.apply(this, arguments);\n}\n\nfunction _applyOptIn() {\n _applyOptIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type) {\n var allOptInCookies, _getSelectedCookies, isManagerActive, iterateCookies, _getOtherOptionsFromW, setCookiesViaManager, _getManagerDependingV, useGlobalObjectName, useVariableNamePascal, isManagerOptOut, dataLayerPromise;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n allOptInCookies = [];\n _getSelectedCookies = getSelectedCookies(type), isManagerActive = _getSelectedCookies.isManagerActive, iterateCookies = _getSelectedCookies.iterateCookies;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, setCookiesViaManager), useGlobalObjectName = _getManagerDependingV.useGlobalObjectName, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle managers like GTM and MTM\n\n isManagerOptOut = false;\n dataLayerPromise = Promise.resolve(undefined); // Handle opt-ins sequentially\n\n _context2.next = 8;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var presetId, codeDynamics, codeOptIn, rest, isManager, isOnlyWhenNoConsentToManager, restrictOptInCodeForPreset;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n presetId = cookie.presetId, codeDynamics = cookie.codeDynamics, codeOptIn = cookie.codeOptIn, rest = _objectWithoutProperties(cookie, [\"presetId\", \"codeDynamics\", \"codeOptIn\"]);\n isManager = isManagerActive && rest[\"thisIs\".concat(useVariableNamePascal)];\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n restrictOptInCodeForPreset = [\"amazon-associates-widget\"].indexOf(presetId) > -1;\n\n if (!isOnlyWhenNoConsentToManager && !restrictOptInCodeForPreset) {\n putHtmlCodeToDom(codeOptIn, codeDynamics);\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n allOptInCookies.push({\n group: group,\n cookie: cookie\n });\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 8:\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n cookies: allOptInCookies\n }\n }));\n return _context2.abrupt(\"return\", {\n isManagerOptOut: isManagerOptOut,\n dataLayerPromise: dataLayerPromise\n });\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptIn.apply(this, arguments);\n}\n\nexport { applyOptIn };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getSelectedCookies, getManagerDependingVariables } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\n/**\n * Opt-in and opt-out to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptInOutManager(_x, _x2, _x3) {\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nfunction _applyOptInOutManager() {\n _applyOptInOutManager = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type, dataLayer, isManagerOptOut) {\n var _getSelectedCookies, isManagerActive, iterateCookies, _getOtherOptionsFromW, setCookiesViaManager, _getManagerDependingV, useVariableNameCamel, useVariableNamePascal;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n /* onlypro:start */\n _getSelectedCookies = getSelectedCookies(type), isManagerActive = _getSelectedCookies.isManagerActive, iterateCookies = _getSelectedCookies.iterateCookies;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, setCookiesViaManager), useVariableNameCamel = _getManagerDependingV.useVariableNameCamel, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (!dataLayer) {\n _context2.next = 10;\n break;\n }\n\n // Opt-in events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"InEventName\")];\n\n if (isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptInEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n }); // Wait x seconds\n\n _context2.next = 7;\n return new Promise(function (r) {\n return setTimeout(r, 1000);\n });\n\n case 7:\n // Opt-out events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"OutEventName\")];\n\n if (!isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptOutEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n });\n _context2.next = 13;\n break;\n\n case 10:\n if (!(isManagerActive && isManagerOptOut)) {\n _context2.next = 13;\n break;\n }\n\n _context2.next = 13;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, _ref, isOptIn) {\n var codeDynamics, codeOptIn, rest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = _ref.codeDynamics, codeOptIn = _ref.codeOptIn, rest = _objectWithoutProperties(_ref, [\"codeDynamics\", \"codeOptIn\"]);\n\n if (isOptIn && rest[\"codeOptInNo\".concat(useVariableNamePascal)]) {\n putHtmlCodeToDom(codeOptIn, codeDynamics);\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x4, _x5, _x6) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nexport { applyOptInOutManager };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { createRegxpPatternFromWildcardedName } from \"../../utils\";\nimport Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n var _iterator = _createForOfIteratorHelper(technicalDefinitions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n type = _step$value.type,\n name = _step$value.name;\n // Create valid Regxp pattern\n var pattern = new RegExp(createRegxpPatternFromWildcardedName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (var _i = 0, _Object$keys = Object.keys(Cookie.get()); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n var useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(useStorage); _i2 < _Object$keys2.length; _i2++) {\n var itemName = _Object$keys2[_i2];\n\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n var tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport { deleteCookiesLocally };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import { commonRequest } from \"@devowl-wp/utils\";\nimport { getOptionsFromWindow } from \"../../utils\";\nimport { locationRestConsentClearDelete } from \"../../wp-api\";\n/**\n * Delete cookies on server side (currently only `http`).\n */\n\nfunction deleteCookiesServer(cookies) {\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce;\n\n return commonRequest({\n location: locationRestConsentClearDelete,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n params: {\n cookies: cookies.join(\",\")\n }\n });\n}\n\nexport { deleteCookiesServer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getSelectedCookies, getManagerDependingVariables, deleteCookiesLocally, deleteCookiesServer } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { OPT_OUT_EVENT } from \"../../types\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * Opt-in to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptOut(_x, _x2) {\n return _applyOptOut.apply(this, arguments);\n}\n\nfunction _applyOptOut() {\n _applyOptOut = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type, isManagerOptOut) {\n var _getSelectedCookies, isManagerActive, iterateCookies, _getOtherOptionsFromW, setCookiesViaManager, _getManagerDependingV, useVariableNamePascal, foundOptOutToDelete;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _getSelectedCookies = getSelectedCookies(type), isManagerActive = _getSelectedCookies.isManagerActive, iterateCookies = _getSelectedCookies.iterateCookies;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, setCookiesViaManager), useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle opt-outs sequentially\n\n foundOptOutToDelete = [];\n _context2.next = 6;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var id, codeDynamics, codeOptOut, codeOptOutDelete, noTechnicalDefinitions, technicalDefinitions, rest, isOnlyWhenNoConsentToManager;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = cookie.id, codeDynamics = cookie.codeDynamics, codeOptOut = cookie.codeOptOut, codeOptOutDelete = cookie.codeOptOutDelete, noTechnicalDefinitions = cookie.noTechnicalDefinitions, technicalDefinitions = cookie.technicalDefinitions, rest = _objectWithoutProperties(cookie, [\"id\", \"codeDynamics\", \"codeOptOut\", \"codeOptOutDelete\", \"noTechnicalDefinitions\", \"technicalDefinitions\"]);\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n\n if (isOnlyWhenNoConsentToManager && !isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n putHtmlCodeToDom(codeOptOut, codeDynamics);\n }\n\n if (codeOptOutDelete && !noTechnicalDefinitions) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side cookies\n\n // Mark deletable server-side cookies\n if (technicalDefinitions.some(function (_ref2) {\n var type = _ref2.type;\n return type === \"http\";\n })) {\n foundOptOutToDelete.push(id);\n }\n }\n\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 6:\n // Handle cookie deletion which needs to be done server-side (e. g. HTTP cookies)\n foundOptOutToDelete.length && setTimeout(function () {\n return deleteCookiesServer(foundOptOutToDelete);\n }, 0);\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptOut.apply(this, arguments);\n}\n\nexport { applyOptOut };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { ready } from \"../../utils\";\n/**\n * Apply cookies on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All cookies are applied (e. g. bots)\n * - `consent`: All cookies from the current consent (read from cookie)\n *\n * The cookies are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nfunction applyCookies(_x) {\n return _applyCookies.apply(this, arguments);\n}\n\nfunction _applyCookies() {\n _applyCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(type) {\n var _yield$applyOptIn, dataLayerPromise, isManagerOptOut;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ready();\n\n case 2:\n _context.next = 4;\n return applyOptIn(type);\n\n case 4:\n _yield$applyOptIn = _context.sent;\n dataLayerPromise = _yield$applyOptIn.dataLayerPromise;\n isManagerOptOut = _yield$applyOptIn.isManagerOptOut;\n _context.t0 = applyOptInOutManager;\n _context.t1 = type;\n _context.next = 11;\n return dataLayerPromise;\n\n case 11:\n _context.t2 = _context.sent;\n _context.t3 = isManagerOptOut;\n _context.next = 15;\n return (0, _context.t0)(_context.t1, _context.t2, _context.t3);\n\n case 15:\n _context.next = 17;\n return applyOptOut(type, isManagerOptOut);\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _applyCookies.apply(this, arguments);\n}\n\nexport { applyCookies };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nvar ATTRIBUTE_EXPRIVACY_NOTE_EXPAND = \"eprivacy-usa-expand\";\nvar addedEventListener = false;\n/**\n * Replace in a given (HTML) string `{{service}}` with a given filter.\n */\n\nfunction expandGroupsServiceVariable( // Pass available services as values\ngroups, tcf, text, // Pass a callback to filter the passed available services by criteria\nfilter) {\n var truncateAfter = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 3;\n var noCookiesReturnEmptyString = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n ePrivacyNoteMore = _getOtherOptionsFromW2.ePrivacyNoteMore,\n none = _getOtherOptionsFromW2.none;\n\n var restLabels = [];\n var labels = []; // Usual cookies\n\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var items = _step.value.items;\n\n var _iterator2 = _createForOfIteratorHelper(items),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _cookie = _step2.value;\n\n if (filter(_cookie)) {\n labels.push(_cookie.name);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n // TCF vendor configurations\n var gvl = tcf.gvl,\n vendorConfigurations = tcf.vendorConfigurations;\n\n for (var vendorConfigurationId in vendorConfigurations) {\n var vendorConfiguration = vendorConfigurations[vendorConfigurationId];\n var vendor = gvl.vendors[vendorConfiguration.vendorId];\n\n if (filter(undefined, {\n vendor: vendor,\n vendorConfiguration: vendorConfiguration\n })) {\n labels.push(vendor.name);\n }\n }\n } // Truncate when more than 1 difference\n\n\n if (labels.length - truncateAfter > 1) {\n restLabels = labels.slice(truncateAfter, labels.length);\n labels = labels.slice(0, truncateAfter); // Unfortunately we can not use React here because the text is customized inside a text\n\n labels.push(\"<span \".concat(ATTRIBUTE_EXPRIVACY_NOTE_EXPAND, \"=\\\"\").concat(restLabels.join(\", \"), \"\\\" style=\\\"text-decoration:none;border-bottom:0.5px dashed;padding-bottom:1px;cursor:pointer;\\\">\").concat(ePrivacyNoteMore.replace(\"%d\", restLabels.length.toString()), \"</span>\")); // Add event-listener globally once as we are not using React here\n\n !addedEventListener && document.addEventListener(\"click\", function (e) {\n var target = e.target;\n\n if (target !== null && target !== void 0 && target.hasAttribute(ATTRIBUTE_EXPRIVACY_NOTE_EXPAND)) {\n target.innerHTML = target.getAttribute(ATTRIBUTE_EXPRIVACY_NOTE_EXPAND);\n target.removeAttribute(\"style\");\n }\n });\n addedEventListener = true;\n }\n\n if (noCookiesReturnEmptyString && labels.length === 0) {\n return \"\";\n }\n\n return text.replace(/{{services}}/g, labels.length ? labels.join(\", \") : \"<span style=\\\"color:red;\\\">\".concat(none, \"</span>\"));\n}\n\nexport { expandGroupsServiceVariable };","function getCookieTypeLocalized() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { getCookieTypeLocalized };","/**\n * Example: When switching the individual privacy mode, the headline get's updated so\n * we need also recalculate the `position: sticky`.\n *\n * @param delay\n */\nfunction dispatchResizeEvent() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n setTimeout(function () {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { getOtherOptionsFromWindow } from \"../utils\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var element = document.getElementById(pageRequestUuid4); // SSR-powered by\n\n var originalPoweredLink = element.nextElementSibling;\n var poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { getOtherOptionsFromWindow, getCookie, supportsCookies } from \"../utils\";\nimport { explode } from \"../utils\";\n\n/**\n * Get current user decision from the cookie value.\n */\nfunction getUserDecision() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName;\n\n var cookieValue = getCookie(userConsentCookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n var split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n var _split = _slicedToArray(split, 2),\n uuid = _split[0],\n revision = _split[1];\n\n var consent = JSON.parse(split[2]);\n return {\n uuid: uuid,\n revision: revision,\n consent: consent\n };\n}\n\nexport { getUserDecision };","/**\n * Get cookie by name. Please keep in mind you need to `decodeURIComponent` the value in some cases!\n *\n * @param cname\n * @see https://stackoverflow.com/questions/10730362/get-cookie-by-name\n * @see https://stackoverflow.com/a/25490531/5506547\n */\nfunction getCookie(cname) {\n var _document$cookie$matc;\n\n var decode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var value = ((_document$cookie$matc = document.cookie.match(\"(^|;)\\\\s*\".concat(cname, \"\\\\s*=\\\\s*([^;]+)\"))) === null || _document$cookie$matc === void 0 ? void 0 : _document$cookie$matc.pop()) || \"\";\n return decode ? decodeURIComponent(value) : value;\n}\n\nexport { getCookie };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n var split = string.split(separator);\n if (split.length <= n) return split;\n var out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport var BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export var OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export var OPT_IN_EVENT = \"RCB/OptIn\";","export var OPT_OUT_EVENT = \"RCB/OptOut\";","import { pregQuote } from \".\";\n/**\n * Port of Clear.php#createRegxpPatternFromWildcardedName.\n */\n\nfunction createRegxpPatternFromWildcardedName(name) {\n var tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { createRegxpPatternFromWildcardedName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n var filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce(function (acc, curr, i) {\n return acc.length ? [].concat(_toConsumableArray(acc), [// Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr]) : [curr];\n }, []);\n}\n\nexport { jsxJoin };","// Currently we can not rely on core-js for frontend banner because\n// it increases the bundle size a lot. There is an open issue for this:\n// https://github.com/zloirock/core-js/issues/388\n// import \"core-js/stable/string/virtual/starts-with\";\n// import \"core-js/stable/string/virtual/ends-with\";\n// import \"core-js/features/object/assign\";\n// import \"core-js/features/object/values\";\n// import \"core-js/features/promise\";\n// https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWIth\nif (!String.prototype.startsWith) {\n // @see\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.indexOf(searchString, position) === position;\n };\n} // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n\n if (typeof position !== \"number\" || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames\n\n\nif (Element.prototype.getAttributeNames == undefined) {\n Element.prototype.getAttributeNames = function () {\n var attributes = this.attributes;\n var length = attributes.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++) {\n result[i] = attributes[i].name;\n }\n\n return result;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill\n\n\n(function () {\n if (typeof window.CustomEvent === \"function\") return;\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null\n };\n var evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n})(); // https://github.com/KhaledElAnsari/Object.values\n\n\nObject.values = Object.values ? Object.values : function (obj) {\n var allowedTypes = [\"[object String]\", \"[object Object]\", \"[object Array]\", \"[object Function]\"];\n var objType = Object.prototype.toString.call(obj);\n\n if (obj === null || typeof obj === \"undefined\") {\n throw new TypeError(\"Cannot convert undefined or null to object\");\n } else if (!~allowedTypes.indexOf(objType)) {\n return [];\n } else {\n // if ES6 is supported\n if (Object.keys) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n }\n\n var result = [];\n\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n result.push(obj[prop]);\n }\n }\n\n return result;\n }\n}; // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nif (typeof Object.assign != \"function\") {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n value: function assign() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var target = args[0]; // .length of function is 2\n\n \"use strict\";\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n\n var to = Object(target);\n\n for (var index = 1; index < args.length; index++) {\n var nextSource = args[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n\n return to;\n },\n writable: true,\n configurable: true\n });\n} // https://stackoverflow.com/a/20428914/5506547\n\n\n(function (arr) {\n arr.forEach(function (item) {\n // eslint-disable-next-line no-prototype-builtins\n if (item.hasOwnProperty(\"remove\")) {\n return;\n }\n\n Object.defineProperty(item, \"remove\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function remove() {\n this.parentNode.removeChild(this);\n }\n });\n });\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);","/**\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 */\nvar ready = function ready(fn) {\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"complete\";\n return new Promise(function (resolve) {\n var cb = function cb() {\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n if (document.readyState === state) {\n cb();\n } else {\n document.addEventListener(\"readystatechange\", function () {\n if (document.readyState === state) {\n cb();\n }\n });\n }\n });\n};\n\nexport { ready };","var TEST_COOKIE_NAME = \"real_cookie_banner-test\";\n/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\n\nfunction supportsCookies() {\n try {\n document.cookie = \"\".concat(TEST_COOKIE_NAME, \"=1\");\n var result = document.cookie.indexOf(\"\".concat(TEST_COOKIE_NAME, \"=\")) !== -1;\n document.cookie = \"\".concat(TEST_COOKIE_NAME, \"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT\");\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","// 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\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// 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\t392: 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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_name_\"] = self[\"webpackChunkrealCookieBanner_name_\"] || [];\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\n__webpack_require__.O(undefined, [568], function() { return __webpack_require__(4741); })\nvar __webpack_exports__ = __webpack_require__.O(undefined, [568], function() { return __webpack_require__(5346); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","DYNAMICS_VARIABLE_REGEXP","applyDynamicsToHtml","src","dynamics","replace","fullMatch","variableName","Object","prototype","hasOwnProperty","call","HTML_ATTRIBUTE_CAPTURE_PREFIX","HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX","HTML_ATTRIBUTE_CAPTURE_SUFFIX","HTML_ATTRIBUTE_BY","HTML_ATTRIBUTE_COOKIE_IDS","HTML_ATTRIBUTE_VISUAL_PARENT","HTML_ATTRIBUTE_INLINE","HTML_ATTRIBUTE_INLINE_STYLE","HTML_ATTRIBUTE_BLOCKER_ID","HTML_TAG_CONSENT_SCRIPT","HTML_ATTRIBUTE_BLOCKER_CONNECTED","HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE","HTML_ATTRIBUTE_TRANSFORM_WRAPPER","HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE","HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN","HTML_ATTRIBUTE_RESET_PARENT","HTML_ATTRIBUTE_RESET_PARENT_VALUE","htmlDecode","input","_doc$querySelector","isUrl","DOMParser","parseFromString","concat","querySelector","href","documentElement","textContent","WINDOW_ONLOAD_UNBLOCK_REPLACEMENT","putHtmlCodeToDom","html","referenceNode","arguments","length","undefined","document","body","Promise","resolve","done","error","e","console","beforeWriteToken","token","attrs","booleanAttrs","content","attr","OPT_IN_CONTENT_BLOCKER","url","test","parents","element","selector","elements","elem","parentElement","nodeType","Node","ELEMENT_NODE","push","matchingSelector","matchingElements","querySelectorAll","matchIdx","commonUrlBuilder","_ref","location","_ref$params","params","_ref$nonce","nonce","options","apiUrl","restRoot","query","permalinkPath","rest_route","pathname","foundParams","path","match","group","getParams","_i","_Object$keys","keys","checkParam","indexOf","usePath","namespace","restNamespace","useThisProtocol","window","protocol","slice","set","restNonce","_wpnonce","currentApiUrlString","toString","filter","s","method","_method","restQuery","pool","recreateFetchPool","nonceDeprecationPool","_x","_x2","_nonceDeprecationPool","apply","this","_callee2","restRecreateNonceEndpoint","resultPromise","returnNonce","_context2","prev","next","_callee","reject","recreateFetch","newNonce","_context","sent","ok","text","t0","stop","_x3","_x4","abrupt","all","values","parseResult","_parseResult","result","cloneForFallback","lastError","_iterator","_step","line","clone","json","warn","split","n","value","startsWith","JSON","parse","t1","t2","f","finish","CONTENT_TYPE_JSON","commonRequest","_commonRequest","routeRequest","_ref$settings","settings","_ref$multipart","multipart","_ref$sendRestNonce","sendRestNonce","allowBody","hasRestNonce","init","apiUrlBuilt","responseJSON","replay","resultAny","request","stringify","headers","Accept","code","status","detectCorruptRestApiFailed","RouteHttpVerb","untrailingslashit","str","endsWith","trailingslashit","getWebpackPublicPath","env","slug","g","toUpperCase","publicUrl","chunkFolder","unblock","ref","createElement","found","blocker","isPseudoRef","loop1","_step2","row","hosts","_iterator2","host","regexp","err","setAttribute","cookies","join","id","addEventListener","remove","appendChild","bannerInlineStylesScale","useWidthOfThisContainerId","original","replaceWith","enabled","scalePercent","scalePercentVertical","hexToRgb","hex","exec","r","parseInt","b","calculateOverlay","alpha","_hexToRgb","useBannerButtons","_useBanner","individualPrivacyOpen","onSave","updateGroupChecked","updateCookieChecked","groups","essentialGroup","updateIndividualPrivacyOpen","activeAction","onClose","buttonClickedAll","buttonClickedEssentials","buttonClickedCloseIcon","buttonClickedCustom","acceptAll","forEach","acceptEssentials","isCloseIcon","items","_step$value","legalBasis","cookieId","acceptIndividual","openIndividualPrivacy","closeIcon","RESOLVE_TRANSITION_ISSUE_TIMEOUT","Portal","children","className","_ref$tag","tag","renderInContainer","_useState","el","classList","add","renderIn","removeChild","counter","BannerCloseIcon","idCloseIcon","idCloseIconPlaceholder","rect","_useBanner$headerDesi","headerDesign","fontSize","fontColor","texts","mobile","pageRequestUuid4","_useBanner$buttonClic","buttonClicked","width","_useBannerButtons","_getOtherOptionsFromW2","getOtherOptionsFromWindow","bannerI18n","close","closeWithoutSaving","tooltipText","usePlainCss","y","x","thickness","container","getElementById","h","title","onClick","position","always","clientWidth","RESOLVE_TRANSITION_ISSUE","useBannerRefToRenderedHeight","name","rest","renderedHeights","updateRenderedHeight","updateSize","_ref$current","current","getBoundingClientRect","height","removeEventListener","clearTimeout","setTimeout","t","BannerHeader","_ref$layout","type","dialogBorderRadius","_ref$design","borderWidth","borderColor","restDesign","_ref$headerDesign","inheritBg","bg","padding","antiAdBlocker","useType","useBorderWidth","style","banner","_banner$headerDesign","logo","logoRetina","showCloseIcon","decision","headline","individualTexts","headerTitlePrivacyPolicyHistory","useRetina","devicePixelRatio","useLogo","useHeadline","layout","design","customCss","map","p","background","borderRadius","zIndex","top","borderTop","borderLeft","borderRight","bannerMaxWidth","textAlign","inheritTextAlign","logoPosition","restHeaderDesign","individualLayout","useTextAlign","transition","maxWidth","inheritBannerMaxWidth","margin","display","justifyContent","alignItems","flexDirection","bannerHeaderInlineStyle","isRetina","logoMaxHeight","logoMargin","logoFitDim","logoRetinaFitDim","useFitDim","dimStyle","m","bannerHeaderInlineStyleLogo","fontInheritFamily","fontFamily","fontWeight","color","bannerHeaderInlineStyleHeadline","BannerGroupSectionTitle","_ref$group","headlineFontSize","headlineFontColor","headlineFontWeight","bannerGroupsInlineStyleTitle","descriptionFontColor","descriptionFontSize","marginTop","bannerGroupsInlineStyleDescription","bannerGroupsInlineStyleCheckbox","visible","checked","isDisabled","checkboxBg","checkboxBorderWidth","checkboxBorderColor","checkboxActiveBg","checkboxActiveBorderColor","checkboxActiveColor","useFontSize","useCheckboxBorderWidth","cursor","opacity","border","marginRight","verticalAlign","lineHeight","bannerGroupsInlineStyleLinkMore","isHover","linkTextDecoration","linkColor","linkHoverColor","textDecoration","BannerCookieProperty","label","isValueUrl","useValue","lineBreak","target","rel","dangerouslySetInnerHTML","__html","key","groupBorderWidth","groupBorderColor","paddingLeft","wordBreak","bannerGroupsInlineStyleCookieProperty","BannerCookie","_consent$groups","_ref$cookie","cookie","purpose","provider","providerPrivacyPolicy","ePrivacyUSA","noTechnicalDefinitions","technicalDefinitions","codeDynamics","_useState2","isRendered","setIsRendered","isEPrivacyUSA","consent","types","isEssentialGroup","isChecked","some","c","handleCheckbox","bannerGroupsInlineStyleCookie","marginBottom","icon","CheckOutlined","legalRequirement","legitimateInterest","yes","no","_ref2","duration","durationUnit","sessionDuration","technicalCookieDefinition","BannerGroup","_consent$groups$id","description","_useState3","_useState4","setIsHover","_useState5","_useState6","isOpen","setIsOpen","previewCheckboxActiveState","_banner$individualTex","showMore","hideMore","CheckboxIcon","sort","MinusOutlined","groupBg","groupBorderRadius","groupPadding","groupInheritBg","useGroupBorderWidth","bannerGroupsInlineStyleGroup","preventDefault","onMouseEnter","onMouseLeave","BannerGroups","groupSpacing","useGroups","clear","index","BannerDottedGroup","groupsFirstView","isPro","_ref$bodyDesign","bodyDesign","dottedGroupsInheritFontSize","dottedGroupsFontSize","paddingRight","whiteSpace","bannerInlineStyleBodyDottedGroupItem","dottedGroupsBulletColor","bannerInlineStyleBodyDottedGroupBullet","BannerDottedGroups","BannerHistorySelect","_history$","selectedId","setSelectedId","history","selectHistoryEntry","historyLabel","historySelectNone","descriptionInheritFontSize","uuid","borderBottom","disabled","onChange","tcf","isDoNotTrack","isUnblock","isForwarded","created","Date","toLocaleString","lang","bannerInlineStyleBodyTeaching","teachingsInheritTextAlign","teachingsTextAlign","teachingsInheritFontSize","teachingsFontSize","teachingsInheritFontColor","teachingsFontColor","bannerButtonsInlineStyleCommon","framed","order","fullWidth","marginLeft","hoverBg","hoverFontColor","hoverBorderColor","backgroundColor","overflow","outline","flex","bannerButtonsInlineStyleAcceptEssentials","isTwoButtonRowLayout","isTcf","acceptEssentialsFontSize","acceptEssentialsBg","acceptEssentialsTextAlign","acceptEssentialsBorderColor","acceptEssentialsPadding","acceptEssentialsBorderWidth","acceptEssentialsFontColor","acceptEssentialsFontWeight","acceptEssentialsHoverBg","acceptEssentialsHoverFontColor","acceptEssentialsHoverBorderColor","acceptAllFontWeight","acceptAllFontSize","acceptAllPadding","bannerButtonsInlineStyleAcceptIndividual","acceptIndividualFontSize","acceptIndividualBg","acceptIndividualTextAlign","acceptIndividualBorderColor","acceptIndividualPadding","acceptIndividualBorderWidth","acceptIndividualFontColor","acceptIndividualFontWeight","acceptIndividualHoverBg","acceptIndividualHoverFontColor","acceptIndividualHoverBorderColor","bannerButtonsInlineStyleSave","_ref$saveButton","saveButton","bannerButtonsInlineStyleAcceptAll","acceptAllBg","acceptAllTextAlign","acceptAllBorderColor","acceptAllBorderWidth","acceptAllFontColor","acceptAllHoverBg","acceptAllHoverFontColor","acceptAllHoverBorderColor","AsciiSpinner","_ref$ms","ms","_ref$chars","chars","i","setI","interval","setInterval","clearInterval","BannerButton","inlineStyle","busyOnClick","isBusy","setIsBusy","handleOnClick","_banner$decision","acceptAllOneRowLayout","interactionAttr","useStyleFn","navigator","userAgent","textOverflow","BannerButtons","_banner$texts","didGroupFirstChange","_banner$buttonClicked","handleAll","handleEssentials","handleIndividual","save","BannerBody","_document$getElementB","isAgeNotice","ageNotice","teachingsSeparatorActive","ageNoticeBanner","consentForwardingExternalHostsText","consentForwardingExternalHosts","tcfGlobalScope","_banner$renderedHeigh","footerContainer","headerContainer","rightSideContainer","rightSideContainerRef","leftSideId","rightSideId","contentId","consentForwardingExternalHostsFinalText","tcfGlobalScopeFinalText","model","isServiceSpecific","useDescription","Boolean","useEPrivacyUSA","expandGroupsServiceVariable","gvl","vendorConfigurations","vendorConfiguration","stackOrGroups","leftSide","usePadding","float","paddingTop","paddingBottom","bannerInlineStylesLeftSide","descriptionTextAlign","bannerInlineStyleBodyDescription","teachingsSeparatorWidth","teachingsSeparatorHeight","teachingsSeparatorColor","bannerInlineStyleBodyTeachingsSeparator","rightSide","_style","dialogMaxWidth","footerDesign","inheritDialogMaxWidth","_ref$renderedHeights","bannerInlineStylesRightSide","bannerInlineStyleBodyContainer","bannerInlineStyleBody","BannerFooterLink","anchorRest","_ref$footerDesign","bannerFooterInlineStyleLink","BannerFooter","legal","_banner$footerDesign","poweredByLink","linkTarget","poweredLink","isConsentRecord","_getOtherOptionsFromW","affiliate","handleClose","targetAttributes","_useBannerLegalLinks","useBannerLegalLinks","linkPrivacyPolicy","linkImprint","links","link","innerHTML","labelBehind","bottom","bannerFooterInlineStyleContainer","bannerFooterInlineStyle","jsxJoin","linksRow","BannerContent","_banner$layout","currentRef","showHeader","hideHeader","showScrollBoxShadow","setShowScrollBoxShadow","updateShowScrollBoxShadow","clientHeight","scrollHeight","scrollTop","offsetHeight","hasScrollbar","scrolledToBottom","Math","ceil","platform","innerHeight","closeIconDistance","maxHeight","bannerContentInlineStyle","useDesignBorderWidth","bannerHeaderInlineStyleSeparator","bannerFooterInlineStyleSeparator","useResetableAnimation","animation","j","setJ","stateAnimation","setStateAnimation","_useState7","_useState8","stateAnimationReset","setStateAnimationReset","_useState9","_useState10","stateDuration","setStateDuration","_useState11","_useState12","stateDurationReset","setStateDurationReset","locationRestConsentGet","HREF_MATCHER","getAnimationRelatedState","isVisible","animationIn","animationOut","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","delay","AnimatedCss","_ref2$animateOnMount","animateOnMount","_ref2$isVisible","_ref2$animationIn","_ref2$animationOut","_ref2$animationInDela","_ref2$animationOutDel","_ref2$animationInDura","_ref2$animationOutDur","_ref2$className","_ref2$style","_useState2$","setAnimationRelatedState","classes","backwardStyle","animationDelay","animationDuration","pointerEvents","isHiddenDueLegal","_banner$legal","imprint","imprintHide","privacyPolicy","privacyPolicyHide","pageId","Banner","overlay","_banner$customCss","overlayBlur","css","animationVisible","skipOverlay","gotHiddenDueLegal","_useResetableAnimatio","_useResetableAnimatio2","stateAnimationIn","stateAnimationInDuration","_useResetableAnimatio3","_useResetableAnimatio4","stateAnimationOut","stateAnimationOutDuration","hiddenDueLegal","show","_document$body","dataset","rcbPreviousOverflow","useRestrictScrollWhenVisible","openBanner","openHistory","revokeConsent","setInvalidate","dispatchResizeEvent","setHistory","originalConsent","setOriginalConsent","_fetch","_getOptionsFromWindow","_result","_result$","_groups2","_tcf2","getOptionsFromWindow","fetch","_groups","consentGroups","_tcf","useBannerActionType","handleType","successMessage","eventListener","parent","getAttribute","dialogPosition","bannerOverlayInlineStyleAlignment","dialogMargin","bannerPosition","boxShadowEnabled","boxShadowOffsetX","boxShadowOffsetY","boxShadowBlurRadius","boxShadowSpreadRadius","boxShadowColor","boxShadowColorAlpha","alignment","alignSelf","boxShadow","bannerContentInlineStyleInner","overlayBg","overlayBgAlpha","left","right","bannerOverlayInlineStyle","getDefaultDecision","respectLegitimateInterests","_groups$filter","_groups$filter2","essentialGroupObj","ids","_ref3","_ref4","preDecisionGatewaySupportsCookies","supportsCookies","preDecisionGatewayHasPageClass","isCrawler","promiseTimeout","promise","then","Error","locationRestConsentDynamicPredecisionGet","preDecisionGatewayDynamicRequest","_getOptionsFromWindow2","revisionHash","hasDynamicPreDecisions","revision","_document$documentEle","_yield$promiseTimeout","predecision","others","getUserDecision","viewPortWidth","viewPortHeight","_wp_http_referer","preDecisionGatewayIsHiddenDueLegal","preDecisionGatewayIsPreventPreDecision","other","userDecision","isPreventPreDecision","preDecisionGatewayIsCrawler","isAcceptAllForBots","w","doNotTrack","msDoNotTrack","external","msTrackingProtectionEnabled","preDecisionGatewayIsDoNotTrack","isRespectDoNotTrack","preDecisionGatewayUserConsent","WebsiteBanner","customizeValuesBanner","pageIdToPermalink","tcfMetadata","isRefreshSiteAfterConsent","tcfObject","active","tcfMeta","useTcf","_useWebsiteBannerOver","toggleOverlay","useDuration","trim","useWebsiteBannerOverlay","tcfFilterBy","updateTcfFilterBy","newFilter","setContextValue","state","opened","newConsent","groupId","cookieIds","splice","markAsDoNotTrack","appliedConsent","applyConsent","tcfString","refreshSiteAfterSave","reload","additionalChanges","contextValue","toggleWithActiveAction","cancelEvent","stopPropagation","actions","alert","useBannerActions","customizeIdsBanner","_gateways","gateway","applyCookies","ready","dispatchEvent","CustomEvent","detail","useBannerPreDecisionGateway","BannerContext","Provider","waitObject","_waitObject","getObject","delayNextCheck","maxTries","_args","amazonWidgetsSlotNum","consentSync","typeOrId","allCookies","flat","relevance","td","createRegxpPatternFromWildcardedName","already","relevantCookie","consentGiven","cookieOptIn","_len","args","Array","_key","_consentSync","foundCookie","consentAll","_ref$detail$cookie","presetId","codeOptIn","amznAssoWidgetHtmlId","slotNum","adContainer","_ref5","_ref6","et_pb_map_init","jQuery","matches","google","getSsrPoweredByLink","ensureBodyElement","consentApi","BannerDevHint","isLicensed","isDevLicense","noLicense","devLicense","useText","BannerTooltip","_ref$position","_ref$size","size","rounded","noAnimate","bounce","PlainAntdIconAsSvg","svgString","extraSVGAttrs","fill","BannerContextFactory","_Context","Context","context","useBanner","BlockerContextFactory","useBlocker","usePageIdToPermalinkMapLink","mapBanner","mapBlocker","pageByIdUrl","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","privacyPolicyLabel","imprintExternalUrl","imprintIsExternalUrl","imprintLabel","uniqueId","getElementsByTagName","_element$parentNode","parentNode","locationRestConsentPost","applyConsentForwarding","endpoints","data","promises","endpoint","credentials","_applyConsent","_ref$markAsDoNotTrack","_ref$blocker","_yield$commonRequest","forward","cookie_revision","decision_in_cookie","rcbDisabledCookieComp","getSelectedCookies","selectedGroups","_iterateCookies","setCookiesViaManager","isManagerActive","consentEssentials","iterateCookies","callback","_group","_selectedGroups$_grou","_cookie","_isOptIn","getManagerDependingVariables","useVariableNameCamel","useVariableNamePascal","useGlobalObjectName","charAt","applyOptIn","_applyOptIn","allOptInCookies","_getSelectedCookies","_getManagerDependingV","isManagerOptOut","dataLayerPromise","isOptIn","isOnlyWhenNoConsentToManager","restrictOptInCodeForPreset","applyOptInOutManager","_applyOptInOutManager","dataLayer","event","realCookieBannerOptInEvents","realCookieBannerOptOutEvents","_x5","_x6","deleteCookiesLocally","pattern","RegExp","useStorage","localStorage","sessionStorage","_i2","_Object$keys2","itemName","setItem","tries","getItem","removeItem","locationRestConsentClearDelete","deleteCookiesServer","applyOptOut","_applyOptOut","foundOptOutToDelete","codeOptOut","codeOptOutDelete","_applyCookies","_yield$applyOptIn","t3","ATTRIBUTE_EXPRIVACY_NOTE_EXPAND","addedEventListener","truncateAfter","noCookiesReturnEmptyString","ePrivacyNoteMore","none","restLabels","labels","hasAttribute","removeAttribute","getCookieTypeLocalized","http","abbr","local","session","flash","indexedDb","Event","originalPoweredLink","nextElementSibling","rcbPoweredByCacheOuterHTML","toLowerCase","outerHTML","cookieValue","cname","_document$cookie$matc","decode","pop","decodeURIComponent","getCookie","userConsentCookieName","string","separator","out","explode","_split","BANNER_PRE_DECISION_SHOW_EVENT","OPT_IN_ALL_EVENT","OPT_IN_EVENT","OPT_OUT_EVENT","tmp","components","filtered","reduce","acc","curr","String","searchString","subjectString","isFinite","floor","lastIndex","Element","getAttributeNames","attributes","bubbles","cancelable","evt","createEvent","initCustomEvent","obj","objType","TypeError","prop","assign","defineProperty","to","nextSource","nextKey","writable","configurable","CharacterData","DocumentType","item","enumerable","fn","cb","readyState","TEST_COOKIE_NAME","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","a","definition","o","get","globalThis","Function","Symbol","toStringTag","scriptUrl","importScripts","currentScript","scripts","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../common-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../common-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../common-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../common-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../common-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../common-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../common-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../common-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/scale.tsx","webpack:///./src/public/ts/utils/hexToRgb.tsx","webpack:///./src/public/ts/utils/calculateOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerButtons.tsx","webpack:///./src/public/ts/components/portal.tsx","webpack:///./src/public/ts/components/banner/closeIcon.tsx","webpack:///./src/public/ts/components/banner/header.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/container.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/header.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/logo.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/headline.tsx","webpack:///./src/public/ts/components/banner/groupSectionTitle.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/title.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/description.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/checkbox.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/linkMore.tsx","webpack:///./src/public/ts/components/banner/cookieProperty.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/cookieProperty.tsx","webpack:///./src/public/ts/components/banner/cookie.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/cookie.tsx","webpack:///./src/public/ts/components/banner/group.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/group.tsx","webpack:///./src/public/ts/components/banner/groups.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/groups/groups.tsx","webpack:///./src/public/ts/components/banner/dottedGroup.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/dottedGroupItem.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/dottedGroupBullet.tsx","webpack:///./src/public/ts/components/banner/dottedGroups.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/dottedGroups.tsx","webpack:///./src/public/ts/components/banner/historySelect.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/historySelect.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/teaching.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/common.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/acceptEssentials.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/acceptIndividual.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/save.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/acceptAll.tsx","webpack:///./src/public/ts/components/asciiSpinner.tsx","webpack:///./src/public/ts/components/banner/button.tsx","webpack:///./src/public/ts/utils/isIE.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/buttons/ellipsesText.tsx","webpack:///./src/public/ts/components/banner/buttons.tsx","webpack:///./src/public/ts/components/banner/body.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/banner/leftSide.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/description.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/teachingSeparator.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/banner/rightSide.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/container.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/body/body.tsx","webpack:///./src/public/ts/components/banner/footerLink.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/link.tsx","webpack:///./src/public/ts/components/banner/footer.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/container.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/footer.tsx","webpack:///./src/public/ts/hooks/useBannerRenderedHeightsAsCssVars.tsx","webpack:///./src/public/ts/components/banner/content.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/content/content.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/header/separator.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/footer/separator.tsx","webpack:///./src/public/ts/hooks/useResetableAnimation.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/hooks/useBannerActionLinks.tsx","webpack:///./src/public/ts/components/animateCss.tsx","webpack:///./src/public/ts/others/banner/isHiddenDueLegal.tsx","webpack:///./src/public/ts/components/banner/banner.tsx","webpack:///./src/public/ts/hooks/useRestrictScrollWhenVisible.tsx","webpack:///./src/public/ts/hooks/useBannerActionType.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/overlay/alignment.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/content/inner.tsx","webpack:///./src/public/ts/components/banner/inlineStyles/overlay/overlay.tsx","webpack:///./src/public/ts/others/getDefaultDecision.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/supportsCookies.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/hasPageClass.tsx","webpack:///./src/public/ts/utils/isCrawler.tsx","webpack:///./src/public/ts/utils/promiseTimeout.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/dynamicRequest.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isHiddenDueLegal.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isPreventPreDecision.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isCrawler.tsx","webpack:///./src/public/ts/utils/isDoNotTrack.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/isDoNotTrack.tsx","webpack:///./src/public/ts/others/banner/preDecisionGateways/userConsent.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///./src/public/ts/hooks/useWebsiteBannerOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerActions.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///./src/public/ts/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/others/printUuidToShortcode.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///./src/public/ts/components/banner/devHint.tsx","webpack:///./src/public/ts/components/banner/tooltip.tsx","webpack:///./src/public/ts/components/plainAntdIconAsSvg.tsx","webpack:///./src/public/ts/contexts/bannerContextFactory.tsx","webpack:///./src/public/ts/contexts/blockerContextFactory.tsx","webpack:///./src/public/ts/hooks/usePageIdToPermalinkMapLink.tsx","webpack:///./src/public/ts/hooks/useBannerLegalLinks.tsx","webpack:///./src/public/ts/hooks/usePlainCss.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/others/applyCookies/getSelectedCookies.tsx","webpack:///./src/public/ts/others/applyCookies/getManagerDependingVariables.tsx","webpack:///./src/public/ts/others/applyCookies/applyOptIn.tsx","webpack:///./src/public/ts/others/applyCookies/applyOptInOutManager.tsx","webpack:///./src/public/ts/others/applyCookies/deleteCookiesLocally.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/others/applyCookies/deleteCookiesServer.tsx","webpack:///./src/public/ts/others/applyCookies/applyOptOut.tsx","webpack:///./src/public/ts/others/applyCookies/applyCookies.tsx","webpack:///./src/public/ts/others/banner/expandGroupsServiceVariable.tsx","webpack:///./src/public/ts/others/cookieTypeLocalized.tsx","webpack:///./src/public/ts/others/dispatchResizeEvent.tsx","webpack:///./src/public/ts/others/getSsrPoweredByLink.tsx","webpack:///./src/public/ts/others/getUserDecision.tsx","webpack:///./src/public/ts/utils/getCookie.tsx","webpack:///./src/public/ts/utils/explode.tsx","webpack:///./src/public/ts/types/events/bannerPredecisionShowEvent.tsx","webpack:///./src/public/ts/types/events/optInAllEvent.tsx","webpack:///./src/public/ts/types/events/optInEvent.tsx","webpack:///./src/public/ts/types/events/optOutEvent.tsx","webpack:///./src/public/ts/utils/createRegxpPatternFromWildcardedName.tsx","webpack:///./src/public/ts/utils/pregQuote.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/jsxJoin.tsx","webpack:///./src/public/ts/utils/polyfill.tsx","webpack:///./src/public/ts/utils/ready.tsx","webpack:///./src/public/ts/utils/supportsCookies.tsx","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/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","var DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, function (fullMatch, variableName) {\n return Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch;\n });\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport var HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport var HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport var HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport var HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport var HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport var HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport var HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport var HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport var HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport var HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n var inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n var doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n var _doc = new DOMParser().parseFromString(input, \"text/html\");\n\n return _doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nvar WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics) {\n var referenceNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;\n return new Promise(function (resolve) {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: function error(e) {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: function beforeWriteToken(token) {\n var attrs = token.attrs,\n booleanAttrs = token.booleanAttrs,\n src = token.src,\n href = token.href,\n content = token.content; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (var attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport var OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n var pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n var elements = [];\n var elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","function matchingSelector(element, selector) {\n if (!element || !element.parentElement) {\n return false;\n }\n\n var matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (var matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import Url from \"url-parse\";\nimport { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\n\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\nfunction commonUrlBuilder(_ref) {\n var location = _ref.location,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params,\n _ref$nonce = _ref.nonce,\n nonce = _ref$nonce === void 0 ? true : _ref$nonce,\n options = _ref.options;\n var apiUrl = new Url(options.restRoot, true);\n var query = apiUrl.query;\n var permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n var foundParams = [];\n var path = location.path.replace(/:([A-Za-z0-9-_]+)/g, function (match, group) {\n foundParams.push(group);\n return params[group];\n });\n var getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (var _i = 0, _Object$keys = Object.keys(params); _i < _Object$keys.length; _i++) {\n var checkParam = _Object$keys[_i];\n\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `url-parse` already\n }\n }\n\n var usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path; // Force protocol from parent location\n\n var useThisProtocol = new Url(window.location.href).protocol.slice(0, -1);\n apiUrl.set(\"protocol\", useThisProtocol); // Set path depending on permalink settings\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.set(\"pathname\", usePath); // Set path\n } // Append others\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n }\n\n var currentApiUrlString = apiUrl.toString();\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return currentApiUrlString.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n query._method = location.method;\n }\n\n return apiUrl.set(\"query\", deepMerge.all([options.restQuery, getParams, query])).toString();\n}\n\nexport { commonUrlBuilder, Url };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nvar pool = {};\nvar recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nfunction nonceDeprecationPool(_x, _x2) {\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nfunction _nonceDeprecationPool() {\n _nonceDeprecationPool = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(nonce, restRecreateNonceEndpoint) {\n var resultPromise, returnNonce;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(typeof restRecreateNonceEndpoint !== \"undefined\")) {\n _context2.next = 6;\n break;\n }\n\n resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise(\n /*#__PURE__*/\n // eslint-disable-next-line no-async-promise-executor\n function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var recreateFetch, newNonce;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return window.fetch(restRecreateNonceEndpoint);\n\n case 3:\n recreateFetch = _context.sent;\n\n if (!recreateFetch.ok) {\n _context.next = 12;\n break;\n }\n\n _context.next = 7;\n return recreateFetch.text();\n\n case 7:\n newNonce = _context.sent;\n pool[nonce] = newNonce;\n resolve(newNonce);\n _context.next = 13;\n break;\n\n case 12:\n reject();\n\n case 13:\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](0);\n reject();\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 15]]);\n }));\n\n return function (_x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n recreateFetchPool[nonce] = resultPromise;\n return _context2.abrupt(\"return\", resultPromise);\n\n case 6:\n if (!(typeof nonce === \"undefined\")) {\n _context2.next = 8;\n break;\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 8:\n _context2.next = 10;\n return Promise.all(Object.values(recreateFetchPool));\n\n case 10:\n returnNonce = nonce;\n\n while (pool[returnNonce]) {\n returnNonce = pool[returnNonce];\n }\n\n return _context2.abrupt(\"return\", Promise.resolve(returnNonce));\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nexport { nonceDeprecationPool };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nfunction parseResult(_x, _x2, _x3) {\n return _parseResult.apply(this, arguments);\n}\n\nfunction _parseResult() {\n _parseResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url, result, method) {\n var cloneForFallback, body, lastError, _iterator, _step, line;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneForFallback = result.clone();\n _context.prev = 1;\n _context.next = 4;\n return result.json();\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](1);\n _context.next = 11;\n return cloneForFallback.text();\n\n case 11:\n body = _context.sent;\n\n if (!(body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1)) {\n _context.next = 14;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 14:\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body: body\n });\n _iterator = _createForOfIteratorHelper(body.split(\"\\n\"));\n _context.prev = 16;\n\n _iterator.s();\n\n case 18:\n if ((_step = _iterator.n()).done) {\n _context.next = 30;\n break;\n }\n\n line = _step.value;\n\n if (!(line.startsWith(\"[\") || line.startsWith(\"{\"))) {\n _context.next = 28;\n break;\n }\n\n _context.prev = 21;\n return _context.abrupt(\"return\", JSON.parse(line));\n\n case 25:\n _context.prev = 25;\n _context.t1 = _context[\"catch\"](21);\n lastError = _context.t1;\n\n case 28:\n _context.next = 18;\n break;\n\n case 30:\n _context.next = 35;\n break;\n\n case 32:\n _context.prev = 32;\n _context.t2 = _context[\"catch\"](16);\n\n _iterator.e(_context.t2);\n\n case 35:\n _context.prev = 35;\n\n _iterator.f();\n\n return _context.finish(35);\n\n case 38:\n throw lastError;\n\n case 39:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 7], [16, 32, 35, 38], [21, 25]]);\n }));\n return _parseResult.apply(this, arguments);\n}\n\nexport { parseResult };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { commonUrlBuilder, RouteHttpVerb } from \"./\";\nimport deepMerge from \"deepmerge\";\nimport Url from \"url-parse\";\nimport { parseResult, nonceDeprecationPool } from \".\";\nimport jsonFormData from \"json-form-data\";\nvar CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nfunction commonRequest(_x) {\n return _commonRequest.apply(this, arguments);\n}\n\nfunction _commonRequest() {\n _commonRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var location, options, routeRequest, params, _ref$settings, settings, _ref$multipart, multipart, _ref$sendRestNonce, sendRestNonce, url, apiUrl, allowBody, body, restNonce, hasRestNonce, init, apiUrlBuilt, result, responseJSON, replay, restRecreateNonceEndpoint, resultAny;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n location = _ref.location, options = _ref.options, routeRequest = _ref.request, params = _ref.params, _ref$settings = _ref.settings, settings = _ref$settings === void 0 ? {} : _ref$settings, _ref$multipart = _ref.multipart, multipart = _ref$multipart === void 0 ? false : _ref$multipart, _ref$sendRestNonce = _ref.sendRestNonce, sendRestNonce = _ref$sendRestNonce === void 0 ? true : _ref$sendRestNonce;\n url = commonUrlBuilder({\n location: location,\n params: params,\n nonce: false,\n options: options\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return url.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n apiUrl = new Url(url, true);\n allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n apiUrl.set(\"query\", deepMerge(apiUrl.query, routeRequest));\n } // Determine body\n\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n _context.next = 9;\n return nonceDeprecationPool(options.restNonce);\n\n case 9:\n restNonce = _context.sent;\n hasRestNonce = typeof restNonce !== \"undefined\";\n init = deepMerge.all([settings, {\n headers: _objectSpread(_objectSpread(_objectSpread({}, typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}), hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}), {}, {\n Accept: \"application/json, */*;q=0.1\"\n })\n }]);\n init.body = body; // Do not make body merge-able\n\n apiUrlBuilt = apiUrl.toString();\n _context.next = 16;\n return window.fetch(apiUrlBuilt, init);\n\n case 16:\n result = _context.sent;\n\n if (result.ok) {\n _context.next = 47;\n break;\n }\n\n responseJSON = undefined;\n replay = false;\n _context.prev = 20;\n _context.next = 23;\n return parseResult(apiUrlBuilt, result, location.method);\n\n case 23:\n responseJSON = _context.sent;\n\n // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (!(responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce)) {\n _context.next = 35;\n break;\n }\n\n restRecreateNonceEndpoint = options.restRecreateNonceEndpoint;\n _context.prev = 27;\n _context.next = 30;\n return nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n\n case 30:\n replay = true;\n _context.next = 35;\n break;\n\n case 33:\n _context.prev = 33;\n _context.t0 = _context[\"catch\"](27);\n\n case 35:\n _context.next = 39;\n break;\n\n case 37:\n _context.prev = 37;\n _context.t1 = _context[\"catch\"](20);\n\n case 39:\n if (!replay) {\n _context.next = 43;\n break;\n }\n\n _context.next = 42;\n return commonRequest({\n location: location,\n options: options,\n multipart: multipart,\n params: params,\n request: routeRequest,\n sendRestNonce: true,\n settings: settings\n });\n\n case 42:\n return _context.abrupt(\"return\", _context.sent);\n\n case 43:\n // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n\n case 47:\n return _context.abrupt(\"return\", parseResult(apiUrlBuilt, result, location.method));\n\n case 48:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[20, 37], [27, 33]]);\n }));\n return _commonRequest.apply(this, arguments);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","var untrailingslashit = function untrailingslashit(str) {\n return str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n};\n\nvar trailingslashit = function trailingslashit(str) {\n return \"\".concat(untrailingslashit(str), \"/\");\n}; // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nvar getWebpackPublicPath = function getWebpackPublicPath(env) {\n var options = window[env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow, createRegxpPatternFromWildcardedName } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.createElement(\"div\");\n return new Promise(function (resolve) {\n // Find matching blocker\n var found;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n blocker = _getOtherOptionsFromW.blocker;\n\n var isPseudoRef = !ref.parentElement;\n\n var _iterator = _createForOfIteratorHelper(blocker),\n _step;\n\n try {\n loop1: for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n var hosts = row.hosts; // Check if host matches\n\n var _iterator2 = _createForOfIteratorHelper(hosts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var host = _step2.value;\n var regexp = createRegxpPatternFromWildcardedName(host);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"cookies\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.cookies.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, function () {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","var BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\n\nvar calculateNewVal = function calculateNewVal(val, scalePercent) {\n var newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction bannerInlineStylesScale(_ref, useWidthOfThisContainerId, original, replaceWith) {\n var enabled = _ref.enabled,\n scalePercent = _ref.scalePercent,\n scalePercentVertical = _ref.scalePercentVertical;\n var additionalVerticalScaling = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, bannerInlineStylesScale };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateOverlay(hex, alpha) {\n var _hexToRgb = hexToRgb(hex),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateOverlay };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { useCallback } from \"react\";\nimport { useBanner } from \"../contexts\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtons() {\n var _useBanner = useBanner(),\n individualPrivacyOpen = _useBanner.individualPrivacyOpen,\n onSave = _useBanner.onSave,\n updateGroupChecked = _useBanner.updateGroupChecked,\n updateCookieChecked = _useBanner.updateCookieChecked,\n groups = _useBanner.groups,\n essentialGroup = _useBanner.essentialGroup,\n updateIndividualPrivacyOpen = _useBanner.updateIndividualPrivacyOpen,\n activeAction = _useBanner.activeAction,\n onClose = _useBanner.onClose;\n\n var buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n var buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n var buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n var buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n var result = {\n buttonClickedAll: buttonClickedAll,\n buttonClickedEssentials: buttonClickedEssentials,\n buttonClickedCloseIcon: buttonClickedCloseIcon,\n buttonClickedCustom: buttonClickedCustom,\n acceptAll: useCallback(function () {\n groups.forEach(function (g) {\n return updateGroupChecked(g.id, true);\n });\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback(function () {\n var isCloseIcon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n groups.forEach(function (_ref) {\n var slug = _ref.slug,\n id = _ref.id,\n items = _ref.items;\n\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n var _iterator = _createForOfIteratorHelper(items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n legalBasis = _step$value.legalBasis,\n cookieId = _step$value.id;\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(function () {\n return onSave(false, buttonClickedCustom);\n }, [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(function () {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return _objectSpread(_objectSpread({}, result), {}, {\n closeIcon: useCallback(function () {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n });\n}\n\nexport { useBannerButtons };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n className = _ref.className,\n _ref$tag = _ref.tag,\n tag = _ref$tag === void 0 ? \"div\" : _ref$tag,\n renderInContainer = _ref.renderInContainer;\n\n var _useState = useState(function () {\n var el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }),\n _useState2 = _slicedToArray(_useState, 1),\n renderIn = _useState2[0]; // Append container to `body`\n\n\n useEffect(function () {\n document.body.appendChild(renderIn);\n return function () {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { usePlainCss, useBannerButtons } from \"../../hooks\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerInlineStylesScale, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"./inlineStyles\";\nimport { BannerTooltip } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { useRect } from \"@reach/rect\";\nimport { Portal } from \"..\";\nvar counter = 0;\n\nvar BannerCloseIcon = function BannerCloseIcon() {\n var idCloseIcon = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n var idCloseIconPlaceholder = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var ref = useRef();\n var rect = useRect(ref);\n\n var _useBanner = useBanner(),\n _useBanner$headerDesi = _useBanner.headerDesign,\n fontSize = _useBanner$headerDesi.fontSize,\n fontColor = _useBanner$headerDesi.fontColor,\n acceptEssentials = _useBanner.texts.acceptEssentials,\n mobile = _useBanner.mobile,\n activeAction = _useBanner.activeAction,\n pageRequestUuid4 = _useBanner.pageRequestUuid4,\n _useBanner$buttonClic = _useBanner.buttonClicked,\n buttonClicked = _useBanner$buttonClic === void 0 ? \"\" : _useBanner$buttonClic;\n\n var width = bannerInlineStylesScale(mobile, pageRequestUuid4, fontSize);\n var thickness = 1;\n\n var _useBannerButtons = useBannerButtons(),\n buttonClickedCloseIcon = _useBannerButtons.buttonClickedCloseIcon,\n closeIcon = _useBannerButtons.closeIcon;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n close = _getOtherOptionsFromW2.close,\n closeWithoutSaving = _getOtherOptionsFromW2.closeWithoutSaving;\n\n var tooltipText = activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials;\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIcon, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n cursor: pointer;\\n z-index: 99;\\n pointer-events: all;\\n \").concat(buttonClicked === buttonClickedCloseIcon ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n#\").concat(idCloseIcon, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIcon, \" > span:before,#\").concat(idCloseIcon, \" > span:after{\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(fontColor, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIcon, \" > span:after{\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIcon, \" > span:hover:before,#\").concat(idCloseIcon, \" > span:hover:after{\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n var container = document.getElementById(pageRequestUuid4);\n return h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: container\n }, h(BannerTooltip, {\n title: tooltipText,\n id: idCloseIcon,\n onClick: closeIcon,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER\n }, h(\"span\", null))));\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef } from \"react\";\nimport { bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, bannerHeaderInlineStyleHeadline, BannerCloseIcon } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { getOtherOptionsFromWindow } from \"../../utils\"; // eslint-disable-next-line react/display-name\n\nvar BannerHeader = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var _banner$headerDesign = banner.headerDesign,\n logo = _banner$headerDesign.logo,\n logoRetina = _banner$headerDesign.logoRetina,\n showCloseIcon = banner.decision.showCloseIcon,\n headline = banner.texts.headline,\n activeAction = banner.activeAction,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n headerTitlePrivacyPolicyHistory = _getOtherOptionsFromW.bannerI18n.headerTitlePrivacyPolicyHistory; // Calculate logo\n\n\n var useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n var useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n var useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", bannerHeaderInlineStyleHeadline(banner), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n});\nexport { BannerHeader };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n restDesign = _objectWithoutProperties(_ref$design, [\"borderWidth\", \"borderColor\"]),\n _ref$headerDesign = _ref.headerDesign,\n inheritBg = _ref$headerDesign.inheritBg,\n bg = _ref$headerDesign.bg,\n padding = _ref$headerDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var style = {\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n textAlign = _ref.design.textAlign,\n _ref$headerDesign = _ref.headerDesign,\n inheritTextAlign = _ref$headerDesign.inheritTextAlign,\n logo = _ref$headerDesign.logo,\n logoPosition = _ref$headerDesign.logoPosition,\n restHeaderDesign = _objectWithoutProperties(_ref$headerDesign, [\"inheritTextAlign\", \"logo\", \"logoPosition\"]),\n headline = _ref.texts.headline,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n\n var useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleLogo(_ref, isRetina) {\n var _ref$headerDesign = _ref.headerDesign,\n logoMaxHeight = _ref$headerDesign.logoMaxHeight,\n logoMargin = _ref$headerDesign.logoMargin,\n logoFitDim = _ref$headerDesign.logoFitDim,\n logoRetinaFitDim = _ref$headerDesign.logoRetinaFitDim,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n var dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: _objectSpread(_objectSpread({}, dimStyle), {}, {\n margin: bannerInlineStylesScale(mobile, pageRequestUuid4, logoMargin).map(function (m) {\n return \"\".concat(m, \"px\");\n }).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n })\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleHeadline(_ref) {\n var _ref$headerDesign = _ref.headerDesign,\n fontSize = _ref$headerDesign.fontSize,\n fontColor = _ref$headerDesign.fontColor,\n fontInheritFamily = _ref$headerDesign.fontInheritFamily,\n fontFamily = _ref$headerDesign.fontFamily,\n fontWeight = _ref$headerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight\n }\n };\n}\n\nexport { bannerHeaderInlineStyleHeadline };","import { useBanner } from \"../../contexts\";\nimport { bannerGroupsInlineStyleDescription, bannerGroupsInlineStyleTitle } from \"./inlineStyles\";\n\nvar BannerGroupSectionTitle = function BannerGroupSectionTitle(_ref) {\n var title = _ref.title,\n children = _ref.children;\n var banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleTitle(_ref) {\n var _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n headlineFontColor = _ref$group.headlineFontColor,\n headlineFontWeight = _ref$group.headlineFontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleDescription(_ref) {\n var fontWeight = _ref.design.fontWeight,\n _ref$group = _ref.group,\n descriptionFontColor = _ref$group.descriptionFontColor,\n descriptionFontSize = _ref$group.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight: fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import { bannerInlineStylesScale } from \"..\";\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\n\nfunction bannerGroupsInlineStyleCheckbox(_ref, visible, checked, isDisabled, fontSize) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n checkboxBg = _ref$group.checkboxBg,\n checkboxBorderWidth = _ref$group.checkboxBorderWidth,\n checkboxBorderColor = _ref$group.checkboxBorderColor,\n checkboxActiveBg = _ref$group.checkboxActiveBg,\n checkboxActiveBorderColor = _ref$group.checkboxActiveBorderColor,\n checkboxActiveColor = _ref$group.checkboxActiveColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFontSize = bannerInlineStylesScale(mobile, pageRequestUuid4, fontSize || headlineFontSize);\n var useCheckboxBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, +checkboxBorderWidth);\n var height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: isDisabled ? \"not-allowed\" : \"pointer\",\n opacity: isDisabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height: height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0\n }\n };\n}\n\nexport { bannerGroupsInlineStyleCheckbox };","function bannerGroupsInlineStyleLinkMore(_ref, isHover) {\n var linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$group = _ref.group,\n linkColor = _ref$group.linkColor,\n linkHoverColor = _ref$group.linkHoverColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { bannerGroupsInlineStyleLinkMore };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { bannerGroupsInlineStyleLinkMore, bannerGroupsInlineStyleCookieProperty } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\n\nvar BannerCookieProperty = function BannerCookieProperty(_ref) {\n var label = _ref.label,\n value = _ref.value,\n children = _ref.children;\n var banner = useBanner();\n var isValueUrl = typeof value === \"string\" && isUrl(value);\n var useValue = isValueUrl ? h(\"a\", _extends({\n href: value,\n style: {\n lineBreak: isValueUrl ? \"anywhere\" : undefined\n },\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, bannerGroupsInlineStyleLinkMore(banner, false)), value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n return h(\"div\", _extends({\n key: label\n }, bannerGroupsInlineStyleCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { BannerCookieProperty };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleCookieProperty(_ref) {\n var _ref$group = _ref.group,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupBorderColor = _ref$group.groupBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: bannerInlineStylesScale(mobile, pageRequestUuid4, groupBorderWidth) > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15,\n wordBreak: \"break-all\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleCookieProperty };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useLayoutEffect, useState, useCallback } from \"react\";\nimport { bannerGroupsInlineStyleCookie, bannerGroupsInlineStyleCheckbox, BannerCookieProperty } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { getCookieTypeLocalized } from \"../../others\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { PlainAntdIconAsSvg } from \"..\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nvar BannerCookie = function BannerCookie(_ref) {\n var _consent$groups;\n\n var group = _ref.group,\n _ref$cookie = _ref.cookie,\n id = _ref$cookie.id,\n name = _ref$cookie.name,\n purpose = _ref$cookie.purpose,\n provider = _ref$cookie.provider,\n providerPrivacyPolicy = _ref$cookie.providerPrivacyPolicy,\n legalBasis = _ref$cookie.legalBasis,\n ePrivacyUSA = _ref$cookie.ePrivacyUSA,\n noTechnicalDefinitions = _ref$cookie.noTechnicalDefinitions,\n technicalDefinitions = _ref$cookie.technicalDefinitions,\n codeDynamics = _ref$cookie.codeDynamics;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var isEPrivacyUSA = banner.ePrivacyUSA,\n descriptionFontSize = banner.group.descriptionFontSize,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n bannerI18n = _getOtherOptionsFromW.bannerI18n;\n\n var types = getCookieTypeLocalized();\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === group.slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(function (c) {\n return c === id;\n });\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked);\n }, [isDisabled, banner, group, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleCookie(banner), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, bannerGroupsInlineStyleCheckbox(banner, isRendered, isChecked, isDisabled, descriptionFontSize))), h(\"strong\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name)), !!purpose && h(BannerCookieProperty, {\n label: bannerI18n.purpose,\n value: purpose\n }), h(BannerCookieProperty, {\n label: bannerI18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? bannerI18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? bannerI18n.legitimateInterest : bannerI18n.consent\n }), h(BannerCookieProperty, {\n label: bannerI18n.provider,\n value: provider\n }), !!providerPrivacyPolicy && h(BannerCookieProperty, {\n label: bannerI18n.providerPrivacyPolicy,\n value: providerPrivacyPolicy\n }), !!isEPrivacyUSA && h(BannerCookieProperty, {\n label: bannerI18n.ePrivacyUSA,\n value: ePrivacyUSA ? bannerI18n.yes : bannerI18n.no\n }), !noTechnicalDefinitions && technicalDefinitions.map(function (_ref2) {\n var type = _ref2.type,\n name = _ref2.name,\n host = _ref2.host,\n duration = _ref2.duration,\n durationUnit = _ref2.durationUnit,\n sessionDuration = _ref2.sessionDuration;\n return h(BannerCookieProperty, {\n key: name,\n label: bannerI18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(BannerCookieProperty, {\n label: bannerI18n.type,\n value: types[type].name\n }), !!host && h(BannerCookieProperty, {\n label: bannerI18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), [\"local\", \"session\", \"indexedDb\", \"flash\"].indexOf(type) === -1 && h(BannerCookieProperty, {\n label: bannerI18n.duration,\n value: sessionDuration ? \"Session\" : \"\".concat(duration, \" \").concat(bannerI18n.durationUnit[durationUnit])\n }));\n }));\n};\n\nexport { BannerCookie };","function bannerGroupsInlineStyleCookie(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { bannerGroupsInlineStyleCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\";\nimport { bannerGroupsInlineStyleGroup, bannerGroupsInlineStyleCheckbox, bannerGroupsInlineStyleLinkMore, BannerCookie, BannerGroupSectionTitle } from \".\";\nimport { useBanner } from \"../../contexts\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { PlainAntdIconAsSvg } from \"..\";\n\nvar BannerGroup = function BannerGroup(_ref) {\n var _consent$groups$id;\n\n var group = _ref.group;\n var banner = useBanner();\n var id = group.id,\n slug = group.slug,\n name = group.name,\n description = group.description,\n items = group.items;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isOpen = _useState6[0],\n setIsOpen = _useState6[1];\n\n var previewCheckboxActiveState = banner.previewCheckboxActiveState,\n _banner$individualTex = banner.individualTexts,\n showMore = _banner$individualTex.showMore,\n hideMore = _banner$individualTex.hideMore,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n var isPartial = !isEssentialGroup && JSON.stringify(items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n var CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateGroupChecked(id, !isChecked);\n }, [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(Fragment, null, h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: handleCheckbox\n }, bannerGroupsInlineStyleCheckbox(banner, isRendered, isChecked, isDisabled))), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name, \" (\", items.length, \")\"))\n }, description, !!items && h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, bannerGroupsInlineStyleLinkMore(banner, isHover), {\n onClick: function onClick(e) {\n setIsOpen(!isOpen);\n e.preventDefault();\n },\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }), isOpen ? hideMore : showMore), isOpen && items.map(function (cookie) {\n return h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n });\n }))));\n};\n\nexport { BannerGroup };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerGroupsInlineStyleGroup(_ref) {\n var _ref$group = _ref.group,\n groupBg = _ref$group.groupBg,\n groupBorderRadius = _ref$group.groupBorderRadius,\n groupBorderColor = _ref$group.groupBorderColor,\n groupPadding = _ref$group.groupPadding,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupInheritBg = _ref$group.groupInheritBg,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, groupPadding).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { Fragment } from \"react\";\nimport { bannerGroupsInlineStyle, BannerGroup, bannerInlineStylesScale } from \".\";\nimport { useBanner } from \"../../contexts\";\n\nvar BannerGroups = function BannerGroups() {\n var banner = useBanner();\n var groups = banner.groups,\n groupSpacing = banner.group.groupSpacing,\n mobile = banner.mobile,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var useGroups = groups.filter(function (_ref) {\n var items = _ref.items;\n return items.length;\n });\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map(function (group, index) {\n return h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +groupSpacing)\n }\n }));\n }));\n};\n\nexport { BannerGroups };","function bannerGroupsInlineStyle(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\";\nimport { bannerGroupsInlineStyleCheckbox, bannerInlineStyleBodyDottedGroupItem, bannerInlineStyleBodyDottedGroupBullet } from \".\";\nimport { useBanner } from \"../../contexts\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { PlainAntdIconAsSvg } from \"..\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\n\nvar BannerDottedGroup = function BannerDottedGroup(_ref) {\n var _ref$group = _ref.group,\n id = _ref$group.id,\n slug = _ref$group.slug,\n name = _ref$group.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var groupsFirstView = banner.decision.groupsFirstView,\n fontSize = banner.design.fontSize,\n consent = banner.consent,\n essentialGroup = banner.essentialGroup;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isChecked = isEssentialGroup || !!consent.groups[id];\n var handleCheckbox = useCallback(function () {\n return isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked);\n }, [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, bannerGroupsInlineStyleCheckbox(banner, isRendered, isChecked, isEssentialGroup, fontSize))) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyDottedGroupItem(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n dottedGroupsInheritFontSize = _ref$bodyDesign.dottedGroupsInheritFontSize,\n dottedGroupsFontSize = _ref$bodyDesign.dottedGroupsFontSize,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet(_ref) {\n var dottedGroupsBulletColor = _ref.bodyDesign.dottedGroupsBulletColor;\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup, bannerInlineStyleBodyDottedGroups } from \".\";\nimport { useBanner } from \"../../contexts\";\n\nvar BannerDottedGroups = function BannerDottedGroups() {\n var banner = useBanner();\n var groups = banner.groups;\n return h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(function (_ref) {\n var items = _ref.items;\n return !!items.length;\n }).map(function (group) {\n return h(BannerDottedGroup, {\n key: group.id,\n group: group\n });\n }));\n};\n\nexport { BannerDottedGroups };","function bannerInlineStyleBodyDottedGroups(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { Fragment, useState, useEffect } from \"react\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerInlineStyleHistorySelect } from \"./inlineStyles\";\nvar SELECT_NONE = -1;\n\nvar BannerHistorySelect = function BannerHistorySelect() {\n var _history$;\n\n var banner = useBanner();\n\n var _useState = useState(SELECT_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var activeAction = banner.activeAction,\n history = banner.history,\n selectHistoryEntry = banner.selectHistoryEntry;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n historyLabel = _getOtherOptionsFromW2.historyLabel,\n historySelectNone = _getOtherOptionsFromW2.historySelectNone; // Reset select after exit history dialog\n\n\n useEffect(function () {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n var uuid = history === null || history === void 0 ? void 0 : (_history$ = history[0]) === null || _history$ === void 0 ? void 0 : _history$.uuid;\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: function onChange(e) {\n var value = +e.target.value;\n history.forEach(function (_ref) {\n var id = _ref.id,\n decision = _ref.decision,\n groups = _ref.groups,\n tcf = _ref.tcf;\n\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(function (_ref2) {\n var id = _ref2.id,\n isDoNotTrack = _ref2.isDoNotTrack,\n isUnblock = _ref2.isUnblock,\n isForwarded = _ref2.isForwarded,\n created = _ref2.created;\n return h(\"option\", {\n key: id,\n value: id\n }, new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\");\n }) : h(\"option\", {\n value: SELECT_NONE\n }, historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","import { bannerInlineStylesScale } from \"..\";\nimport { calculateOverlay } from \"../../../../utils\";\n\nfunction bannerInlineStyleHistorySelect(_ref) {\n var _ref$design = _ref.design,\n fontSize = _ref$design.fontSize,\n fontColor = _ref$design.fontColor,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateOverlay(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyTeaching(_ref) {\n var _ref$bodyDesign = _ref.bodyDesign,\n teachingsInheritTextAlign = _ref$bodyDesign.teachingsInheritTextAlign,\n teachingsTextAlign = _ref$bodyDesign.teachingsTextAlign,\n teachingsInheritFontSize = _ref$bodyDesign.teachingsInheritFontSize,\n teachingsFontSize = _ref$bodyDesign.teachingsFontSize,\n teachingsInheritFontColor = _ref$bodyDesign.teachingsInheritFontColor,\n teachingsFontColor = _ref$bodyDesign.teachingsFontColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : bannerInlineStylesScale(mobile, pageRequestUuid4, +teachingsFontSize),\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyTeaching };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerButtonsInlineStyleCommon(_ref, mobile, isHover, framed) {\n var name = _ref.name,\n order = _ref.order,\n fullWidth = _ref.fullWidth,\n marginLeft = _ref.marginLeft,\n marginRight = _ref.marginRight,\n type = _ref.type,\n borderRadius = _ref.borderRadius,\n bg = _ref.bg,\n hoverBg = _ref.hoverBg,\n fontSize = _ref.fontSize,\n textAlign = _ref.textAlign,\n linkTextDecoration = _ref.linkTextDecoration,\n fontColor = _ref.fontColor,\n fontWeight = _ref.fontWeight,\n hoverFontColor = _ref.hoverFontColor,\n borderWidth = _ref.borderWidth,\n borderColor = _ref.borderColor,\n hoverBorderColor = _ref.hoverBorderColor,\n padding = _ref.padding,\n antiAdBlocker = _ref.antiAdBlocker,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, +borderWidth);\n var style = {\n textDecoration: type === \"link\" ? linkTextDecoration : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(bannerInlineStylesScale(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n order: order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style: style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials(_ref, isHover, framed, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n acceptEssentials = _ref.decision.acceptEssentials,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptEssentialsFontSize = _ref$bodyDesign.acceptEssentialsFontSize,\n acceptEssentialsBg = _ref$bodyDesign.acceptEssentialsBg,\n acceptEssentialsTextAlign = _ref$bodyDesign.acceptEssentialsTextAlign,\n acceptEssentialsBorderColor = _ref$bodyDesign.acceptEssentialsBorderColor,\n acceptEssentialsPadding = _ref$bodyDesign.acceptEssentialsPadding,\n acceptEssentialsBorderWidth = _ref$bodyDesign.acceptEssentialsBorderWidth,\n acceptEssentialsFontColor = _ref$bodyDesign.acceptEssentialsFontColor,\n acceptEssentialsFontWeight = _ref$bodyDesign.acceptEssentialsFontWeight,\n acceptEssentialsHoverBg = _ref$bodyDesign.acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor = _ref$bodyDesign.acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor = _ref$bodyDesign.acceptEssentialsHoverBorderColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order: isTwoButtonRowLayout ? 0 : 1,\n fullWidth: !isTwoButtonRowLayout,\n marginLeft: 0,\n marginRight: isTwoButtonRowLayout ? 5 : 0,\n type: acceptEssentials,\n borderRadius: borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual(_ref, isHover, framed) {\n var acceptIndividual = _ref.decision.acceptIndividual,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptIndividualFontSize = _ref$bodyDesign.acceptIndividualFontSize,\n acceptIndividualBg = _ref$bodyDesign.acceptIndividualBg,\n acceptIndividualTextAlign = _ref$bodyDesign.acceptIndividualTextAlign,\n acceptIndividualBorderColor = _ref$bodyDesign.acceptIndividualBorderColor,\n acceptIndividualPadding = _ref$bodyDesign.acceptIndividualPadding,\n acceptIndividualBorderWidth = _ref$bodyDesign.acceptIndividualBorderWidth,\n acceptIndividualFontColor = _ref$bodyDesign.acceptIndividualFontColor,\n acceptIndividualFontWeight = _ref$bodyDesign.acceptIndividualFontWeight,\n acceptIndividualHoverBg = _ref$bodyDesign.acceptIndividualHoverBg,\n acceptIndividualHoverFontColor = _ref$bodyDesign.acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor = _ref$bodyDesign.acceptIndividualHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order: 2,\n fullWidth: true,\n marginLeft: 0,\n marginRight: 0,\n type: acceptIndividual,\n borderRadius: borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave(_ref, isHover, framed) {\n var isTcf = _ref.isTcf,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n _ref$saveButton = _ref.saveButton,\n type = _ref$saveButton.type,\n fontSize = _ref$saveButton.fontSize,\n bg = _ref$saveButton.bg,\n textAlign = _ref$saveButton.textAlign,\n borderColor = _ref$saveButton.borderColor,\n padding = _ref$saveButton.padding,\n borderWidth = _ref$saveButton.borderWidth,\n fontColor = _ref$saveButton.fontColor,\n fontWeight = _ref$saveButton.fontWeight,\n hoverBg = _ref$saveButton.hoverBg,\n hoverFontColor = _ref$saveButton.hoverFontColor,\n hoverBorderColor = _ref$saveButton.hoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order: 2,\n fullWidth: true,\n marginLeft: 0,\n marginRight: 0,\n type: type,\n borderRadius: borderRadius,\n bg: bg,\n hoverBg: hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign: textAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor: hoverFontColor,\n borderWidth: borderWidth,\n borderColor: borderColor,\n hoverBorderColor: hoverBorderColor,\n padding: padding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleAcceptAll(_ref, isHover, framed, isTwoButtonRowLayout) {\n var acceptAll = _ref.decision.acceptAll,\n borderRadius = _ref.layout.borderRadius,\n linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllBg = _ref$bodyDesign.acceptAllBg,\n acceptAllTextAlign = _ref$bodyDesign.acceptAllTextAlign,\n acceptAllBorderColor = _ref$bodyDesign.acceptAllBorderColor,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n acceptAllBorderWidth = _ref$bodyDesign.acceptAllBorderWidth,\n acceptAllFontColor = _ref$bodyDesign.acceptAllFontColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllHoverBg = _ref$bodyDesign.acceptAllHoverBg,\n acceptAllHoverFontColor = _ref$bodyDesign.acceptAllHoverFontColor,\n acceptAllHoverBorderColor = _ref$bodyDesign.acceptAllHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order: isTwoButtonRowLayout ? 1 : 0,\n fullWidth: !isTwoButtonRowLayout,\n marginLeft: isTwoButtonRowLayout ? 5 : 0,\n marginRight: 0,\n type: acceptAll,\n borderRadius: borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n linkTextDecoration: linkTextDecoration,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nvar AsciiSpinner = function AsciiSpinner(_ref) {\n var _ref$ms = _ref.ms,\n ms = _ref$ms === void 0 ? 100 : _ref$ms,\n _ref$chars = _ref.chars,\n chars = _ref$chars === void 0 ? [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"] : _ref$chars;\n\n var _useState = useState(1),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n useEffect(function () {\n var interval = setInterval(function () {\n setI(i + 1);\n }, ms);\n return function () {\n return clearInterval(interval);\n };\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleEllipsesText, bannerButtonsInlineStyleSave } from \".\";\nimport { isIE } from \"../../utils\";\nimport { AsciiSpinner } from \"..\";\n\nvar BannerButton = function BannerButton(_ref) {\n var inlineStyle = _ref.inlineStyle,\n type = _ref.type,\n onClick = _ref.onClick,\n children = _ref.children,\n framed = _ref.framed,\n busyOnClick = _ref.busyOnClick;\n\n if (type === \"hide\") {\n return null;\n }\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var handleOnClick = useCallback(function () {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var banner = useBanner();\n var individualPrivacyOpen = banner.individualPrivacyOpen,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n acceptAllOneRowLayout = banner.bodyDesign.acceptAllOneRowLayout;\n var interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n };\n var useStyleFn = useMemo(function () {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || acceptEssentials === \"hide\" || individualPrivacyOpen ? false : acceptAllOneRowLayout)), h(\"span\", _extends({}, bannerButtonsInlineStyleEllipsesText(), type === \"link\" ? interactionAttr : {}), isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","function bannerButtonsInlineStyleEllipsesText() {\n return {\n style: {\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n wordBreak: \"keep-all\",\n overflow: \"hidden\",\n cursor: \"pointer\"\n }\n };\n}\n\nexport { bannerButtonsInlineStyleEllipsesText };","import { Fragment } from \"react\";\nimport { useBanner } from \"../../contexts\";\nimport { BannerButton, BannerDevHint } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { useBannerButtons } from \"../../hooks\";\n\nvar BannerButtons = function BannerButtons() {\n var banner = useBanner();\n var activeAction = banner.activeAction,\n decision = banner.decision,\n _banner$texts = banner.texts,\n acceptAll = _banner$texts.acceptAll,\n acceptEssentials = _banner$texts.acceptEssentials,\n acceptIndividual = _banner$texts.acceptIndividual,\n saveButton = banner.saveButton,\n individualTexts = banner.individualTexts,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n didGroupFirstChange = banner.didGroupFirstChange,\n _banner$buttonClicked = banner.buttonClicked,\n buttonClicked = _banner$buttonClicked === void 0 ? \"\" : _banner$buttonClicked;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n var _useBannerButtons = useBannerButtons(),\n buttonClickedAll = _useBannerButtons.buttonClickedAll,\n buttonClickedEssentials = _useBannerButtons.buttonClickedEssentials,\n buttonClickedCustom = _useBannerButtons.buttonClickedCustom,\n handleAll = _useBannerButtons.acceptAll,\n handleEssentials = _useBannerButtons.acceptEssentials,\n handleIndividual = _useBannerButtons.acceptIndividual,\n openIndividualPrivacy = _useBannerButtons.openIndividualPrivacy; // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n\n var busyOnClick = activeAction === \"change\";\n return h(Fragment, null, !individualPrivacyOpen && isPro && decision.groupsFirstView && decision.saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: decision.acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick\n }, individualTexts.save) : h(BannerButton, {\n onClick: handleAll,\n type: decision.acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick\n }, acceptAll), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: decision.acceptEssentials,\n inlineStyle: \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick\n }, acceptEssentials), (individualPrivacyOpen || isPro && decision.groupsFirstView && (decision.saveButton === \"always\" || decision.saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButton.type,\n inlineStyle: \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick\n }, individualTexts.save), !individualPrivacyOpen && h(BannerButton, {\n type: decision.acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick\n }, acceptIndividual), h(BannerDevHint, null));\n};\n\nexport { BannerButtons };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useMemo, Fragment } from \"react\";\nimport { useBanner } from \"../../contexts\";\nimport { bannerInlineStylesLeftSide, bannerInlineStylesRightSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, bannerInlineStyleBodyTeaching, bannerInlineStyleBodyTeachingsSeparator, BannerGroups, BannerTcfGroups, BannerDottedGroups, BannerButtons, BannerHistorySelect, BannerTcfStacks, bannerInlineStylesScale, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \".\";\nimport { usePlainCss } from \"../../hooks\";\nimport { expandGroupsServiceVariable } from \"../../others\";\n\nvar BannerBody = function BannerBody(_ref) {\n var _document$getElementB;\n\n var leftSideContainerRef = _ref.leftSideContainerRef,\n rightSideContainerRef = _ref.rightSideContainerRef;\n var banner = useBanner();\n var groups = banner.groups,\n type = banner.layout.type,\n mobile = banner.mobile,\n isEPrivacyUSA = banner.ePrivacyUSA,\n isAgeNotice = banner.ageNotice,\n teachingsSeparatorActive = banner.bodyDesign.teachingsSeparatorActive,\n _banner$texts = banner.texts,\n description = _banner$texts.description,\n ePrivacyUSA = _banner$texts.ePrivacyUSA,\n ageNoticeBanner = _banner$texts.ageNoticeBanner,\n consentForwardingExternalHostsText = _banner$texts.consentForwardingExternalHosts,\n tcfGlobalScope = _banner$texts.tcfGlobalScope,\n tcf = banner.tcf,\n consentForwardingExternalHosts = banner.consentForwardingExternalHosts,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4; // Make the content responsive\n\n var leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Prepare description text\n\n var consentForwardingExternalHostsFinalText = consentForwardingExternalHosts ? consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \")) : \"\";\n var tcfGlobalScopeFinalText = tcf ? tcf.model.isServiceSpecific ? \"\" : tcfGlobalScope : \"\";\n var useDescription = [individualPrivacyOpen ? individualTexts.description : description, consentForwardingExternalHostsFinalText, tcfGlobalScopeFinalText].filter(Boolean).join(\" \");\n var useEPrivacyUSA = expandGroupsServiceVariable(groups, tcf ? {\n gvl: tcf.gvl,\n vendorConfigurations: tcf.original.vendorConfigurations\n } : undefined, isEPrivacyUSA ? ePrivacyUSA : \"\", function (cookie, tcf) {\n return (cookie === null || cookie === void 0 ? void 0 : cookie.ePrivacyUSA) || (tcf === null || tcf === void 0 ? void 0 : tcf.vendorConfiguration.ePrivacyUSA) === 1;\n }, 3, true); // Calculate the body content depending on TCF availability and if second view got opened\n\n var stackOrGroups = useMemo(function () {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroups, null) : h(BannerTcfStacks, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroups, null) : h(BannerDottedGroups, null);\n }\n }, [individualPrivacyOpen, tcf]);\n var leftSide = h(\"div\", _extends({\n ref: leftSideContainerRef,\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), !!useDescription && h(Fragment, null, h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: useDescription\n }\n }), (isEPrivacyUSA || isAgeNotice) && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", bannerInlineStyleBodyTeachingsSeparator(banner))), !!useEPrivacyUSA && h(\"span\", _extends({}, bannerInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: useEPrivacyUSA\n }\n })), isAgeNotice && !!ageNoticeBanner && h(\"span\", _extends({}, bannerInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: ageNoticeBanner\n }\n })))))), stackOrGroups);\n var rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtons, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { bannerInlineStylesScale } from \"..\";\nvar BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide(_ref) {\n var type = _ref.layout.type,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n activeAction = _ref.activeAction,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var usePadding = bannerInlineStylesScale(mobile, pageRequestUuid4, padding);\n var style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style: style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyDescription(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n descriptionTextAlign = _ref.individualLayout.descriptionTextAlign,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","function bannerInlineStyleBodyTeachingsSeparator(_ref) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n teachingsSeparatorActive = _ref$bodyDesign.teachingsSeparatorActive,\n teachingsSeparatorWidth = _ref$bodyDesign.teachingsSeparatorWidth,\n teachingsSeparatorHeight = _ref$bodyDesign.teachingsSeparatorHeight,\n teachingsSeparatorColor = _ref$bodyDesign.teachingsSeparatorColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyTeachingsSeparator };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bannerInlineStylesScale } from \"..\";\nimport { hexToRgb } from \"../../../../utils\";\nimport { BUTTONS_WIDTH } from \"./\";\n\nfunction bannerInlineStylesRightSide(_ref) {\n var _style;\n\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n bg = _ref$design.bg,\n fontColor = _ref$design.fontColor,\n headerDesign = _ref.headerDesign,\n footerDesign = _ref.footerDesign,\n padding = _ref.bodyDesign.padding,\n inheritDialogMaxWidth = _ref.individualLayout.inheritDialogMaxWidth,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var usePadding = bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, true);\n\n var _hexToRgb = hexToRgb(fontColor),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n var width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n var style = (_style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width: width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\"\n }, _defineProperty(_style, individualPrivacyOpen ? \"top\" : \"bottom\", individualPrivacyOpen ? \"calc(var(--rendered-height-header) + \".concat(bannerInlineStylesScale(mobile, pageRequestUuid4, headerDesign.borderWidth), \"px)\") : \"calc(var(--rendered-height-footer) + \".concat(bannerInlineStylesScale(mobile, pageRequestUuid4, footerDesign.borderWidth), \"px)\")), _defineProperty(_style, \"zIndex\", 1), _defineProperty(_style, \"display\", \"flex\"), _defineProperty(_style, \"flexWrap\", \"wrap\"), _defineProperty(_style, \"transition\", \"box-shadow ease-in-out .1s\"), _defineProperty(_style, \"--boxShadowShowScroll\", \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")), _style);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style: style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBodyContainer(_ref) {\n var type = _ref.layout.type,\n _ref$design = _ref.design,\n bg = _ref$design.bg,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding).map(function (p, i) {\n return \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\");\n }).join(\" \"),\n lineHeight: 1.4\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerInlineStyleBody(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useState } from \"react\";\nimport { bannerFooterInlineStyleLink } from \"./inlineStyles\";\nimport { useBanner } from \"../../contexts\";\n\nvar BannerFooterLink = function BannerFooterLink(_ref) {\n var children = _ref.children,\n anchorRest = _objectWithoutProperties(_ref, [\"children\"]);\n\n var banner = useBanner();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHover = _useState2[0],\n setIsHover = _useState2[1];\n\n return h(\"a\", _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }, bannerFooterInlineStyleLink(banner, isHover), anchorRest), children);\n};\n\nexport { BannerFooterLink };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyleLink(_ref) {\n var _ref$footerDesign = _ref.footerDesign,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n hoverFontColor = _ref$footerDesign.hoverFontColor,\n fontInheritFamily = _ref$footerDesign.fontInheritFamily,\n fontFamily = _ref$footerDesign.fontFamily,\n linkTextDecoration = _ref.design.linkTextDecoration,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var isHover = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var style = {\n textDecoration: linkTextDecoration,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleLink };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef } from \"react\";\nimport { Fragment, useCallback } from \"react\";\nimport { bannerFooterInlineStyle, bannerFooterInlineStyleContainer, bannerInlineStylesScale } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { getOtherOptionsFromWindow, jsxJoin } from \"../../utils\";\nimport { useBannerLegalLinks } from \"../../hooks\";\nimport { BannerFooterLink, BannerTooltip } from \".\"; // eslint-disable-next-line react/display-name\n\nvar BannerFooter = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var isTcf = banner.isTcf,\n type = banner.layout.type,\n mobile = banner.mobile,\n legal = banner.legal,\n _banner$footerDesign = banner.footerDesign,\n poweredByLink = _banner$footerDesign.poweredByLink,\n linkTarget = _banner$footerDesign.linkTarget,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n updateIndividualPrivacyOpen = banner.updateIndividualPrivacyOpen,\n poweredLink = banner.poweredLink,\n isConsentRecord = banner.isConsentRecord,\n onClose = banner.onClose,\n pageRequestUuid4 = banner.pageRequestUuid4;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n close = _getOtherOptionsFromW2.close,\n tcf = _getOtherOptionsFromW2.tcf,\n affiliate = _getOtherOptionsFromW.affiliate;\n\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(function (e) {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n var handleClose = useCallback(function (e) {\n onClose();\n e.preventDefault();\n }, [onClose]);\n var targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n\n var _useBannerLegalLinks = useBannerLegalLinks(legal),\n linkPrivacyPolicy = _useBannerLegalLinks.linkPrivacyPolicy,\n linkImprint = _useBannerLegalLinks.linkImprint;\n\n var links = [// Row 1\n [isConsentRecord && h(BannerFooterLink, {\n href: \"#\",\n onClick: handleClose,\n key: \"close\"\n }, h(\"strong\", null, close)), process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(BannerFooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList), linkPrivacyPolicy && h(BannerFooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(BannerFooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)].filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n links[useType === \"banner\" ? 0 : 1].push(h(BannerFooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(BannerTooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind)));\n }\n\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), jsxJoin(links.map(function (linksRow) {\n return linksRow.length ? h(Fragment, {\n key: linksRow[0].key\n }, jsxJoin(linksRow, h(Fragment, null, \" \\u2022 \"))) : null;\n }), h(\"br\", null))));\n});\nexport { BannerFooter };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n inheritBg = _ref$footerDesign.inheritBg,\n bg = _ref$footerDesign.bg,\n inheritTextAlign = _ref$footerDesign.inheritTextAlign,\n textAlign = _ref$footerDesign.textAlign,\n padding = _ref$footerDesign.padding,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n fontWeight = _ref$footerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n padding: bannerInlineStylesScale(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyle };","import { useEffect } from \"react\";\nimport { usePlainCss } from \".\";\nimport { useBanner } from \"../contexts\";\n/**\n * Pass an HTML refs and we will provide a root stylesheet with the height dimensions.\n */\n\nfunction useBannerRenderedHeightsAsCssVars(element, name) {\n var _useBanner = useBanner(),\n pageRequestUuid4 = _useBanner.pageRequestUuid4; // We do directly modify the inline CSS as we do not want to trigger a rerender for the complete banner content\n\n\n var cssId = usePlainCss(\"\", \"useBannerRenderedHeightsAsCssVars-\".concat(name));\n var cssElement = document.getElementById(cssId);\n useEffect(function () {\n var fn = function fn(height) {\n cssElement.innerHTML = \"#\".concat(pageRequestUuid4, \"{--rendered-height-\").concat(name, \": \").concat(Math.floor(height), \"px;--rendered-height-raw-\").concat(name, \": \").concat(height, \"px}\");\n };\n\n if (!element) {\n return function () {// Silence is golden.\n };\n }\n\n if (window.ResizeObserver) {\n var ro = new ResizeObserver(function () {\n //fn(entries[0].borderBoxSize[0].blockSize); This implementation is currently broken as every browser handles the properties in another way\n fn(element.getBoundingClientRect().height);\n });\n ro.observe(element);\n return function () {\n ro.disconnect();\n };\n } else {\n var previousHeight = 0;\n var interval = setInterval(function () {\n var currentHeight = element.getBoundingClientRect().height;\n\n if (previousHeight !== currentHeight) {\n previousHeight = currentHeight;\n fn(currentHeight);\n }\n }, 150);\n return function () {\n clearInterval(interval);\n };\n }\n }, [element, name]);\n}\n\nexport { useBannerRenderedHeightsAsCssVars };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\nimport { bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerBody, BannerFooter } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { usePlainCss, useBannerRenderedHeightsAsCssVars } from \"../../hooks\";\nimport { bannerInlineStylesScale, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"./inlineStyles\";\n\nvar BannerContent = function BannerContent() {\n var _document$getElementB;\n\n var banner = useBanner();\n var _banner$layout = banner.layout,\n type = _banner$layout.type,\n dialogBorderRadius = _banner$layout.dialogBorderRadius,\n _banner$decision = banner.decision,\n acceptEssentials = _banner$decision.acceptEssentials,\n showCloseIcon = _banner$decision.showCloseIcon,\n mobile = banner.mobile,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n bg = banner.design.bg,\n teachingsFontColor = banner.bodyDesign.teachingsFontColor,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var id = \"cntnt-\".concat(pageRequestUuid4);\n var ref = useRef();\n var currentRef = ref.current;\n var showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (acceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = bannerInlineStylesScale(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior on mobile devices\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showScrollBoxShadow = _useState2[0],\n setShowScrollBoxShadow = _useState2[1];\n\n var updateShowScrollBoxShadow = useCallback(function () {\n if (currentRef) {\n var clientHeight = currentRef.clientHeight,\n scrollHeight = currentRef.scrollHeight,\n scrollTop = currentRef.scrollTop,\n offsetHeight = currentRef.offsetHeight;\n var hasScrollbar = clientHeight < scrollHeight;\n var scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n var result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(function () {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return function () {\n return currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n };\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return function () {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow && ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scrollbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n var headerRef = useRef();\n var footerRef = useRef();\n var rightSideContainerRef = useRef();\n useBannerRenderedHeightsAsCssVars(headerRef.current, \"header\");\n useBannerRenderedHeightsAsCssVars(footerRef.current, \"footer\");\n useBannerRenderedHeightsAsCssVars(rightSideContainerRef.current, \"rightSideContainer\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, {\n ref: headerRef\n }), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, {\n rightSideContainerRef: rightSideContainerRef\n }), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, {\n ref: footerRef\n }));\n};\n\nexport { BannerContent };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerContentInlineStyle(_ref) {\n var _document$getElementB;\n\n var type = _ref.layout.type,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n showCloseIcon = _ref.decision.showCloseIcon,\n activeAction = _ref.activeAction,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n var mobileMaxHeight = +mobile.maxHeight;\n var useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n var closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: bannerInlineStylesScale(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerHeaderInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$headerDesign = _ref.headerDesign,\n borderWidth = _ref$headerDesign.borderWidth,\n borderColor = _ref$headerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useDesignBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: \"var(--rendered-height-header)\",\n zIndex: 9\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerFooterInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n borderWidth = _ref$footerDesign.borderWidth,\n borderColor = _ref$footerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: bannerInlineStylesScale(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: \"var(--rendered-height-footer)\"\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from \"react\";\n\nfunction useResetableAnimation(animation, duration) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n j = _useState4[0],\n setJ = _useState4[1];\n\n var _useState5 = useState(animation),\n _useState6 = _slicedToArray(_useState5, 2),\n stateAnimation = _useState6[0],\n setStateAnimation = _useState6[1];\n\n var _useState7 = useState(undefined),\n _useState8 = _slicedToArray(_useState7, 2),\n stateAnimationReset = _useState8[0],\n setStateAnimationReset = _useState8[1];\n\n var _useState9 = useState(duration),\n _useState10 = _slicedToArray(_useState9, 2),\n stateDuration = _useState10[0],\n setStateDuration = _useState10[1];\n\n var _useState11 = useState(undefined),\n _useState12 = _slicedToArray(_useState11, 2),\n stateDurationReset = _useState12[0],\n setStateDurationReset = _useState12[1]; // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(function () {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(function () {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResetableAnimation };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nvar HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n var _useBanner = useBanner(),\n openBanner = _useBanner.openBanner,\n openHistory = _useBanner.openHistory,\n revokeConsent = _useBanner.revokeConsent;\n\n useEffect(function () {\n var handleType = function handleType(type, successMessage, e) {\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n var eventListener = function eventListener(e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n var element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(function (parent) {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n document.addEventListener(\"click\", eventListener, true);\n return function () {\n document.removeEventListener(\"click\", eventListener, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState(_ref) {\n var isVisible = _ref.isVisible,\n animationIn = _ref.animationIn,\n animationOut = _ref.animationOut,\n animationInDuration = _ref.animationInDuration,\n animationOutDuration = _ref.animationOutDuration,\n animationInDelay = _ref.animationInDelay,\n animationOutDelay = _ref.animationOutDelay;\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nvar AnimatedCss = function AnimatedCss(_ref2) {\n var _ref2$animateOnMount = _ref2.animateOnMount,\n animateOnMount = _ref2$animateOnMount === void 0 ? true : _ref2$animateOnMount,\n _ref2$isVisible = _ref2.isVisible,\n isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,\n _ref2$animationIn = _ref2.animationIn,\n animationIn = _ref2$animationIn === void 0 ? \"fadeIn\" : _ref2$animationIn,\n _ref2$animationOut = _ref2.animationOut,\n animationOut = _ref2$animationOut === void 0 ? \"fadeOut\" : _ref2$animationOut,\n _ref2$animationInDela = _ref2.animationInDelay,\n animationInDelay = _ref2$animationInDela === void 0 ? 0 : _ref2$animationInDela,\n _ref2$animationOutDel = _ref2.animationOutDelay,\n animationOutDelay = _ref2$animationOutDel === void 0 ? 0 : _ref2$animationOutDel,\n _ref2$animationInDura = _ref2.animationInDuration,\n animationInDuration = _ref2$animationInDura === void 0 ? 1000 : _ref2$animationInDura,\n _ref2$animationOutDur = _ref2.animationOutDuration,\n animationOutDuration = _ref2$animationOutDur === void 0 ? 1000 : _ref2$animationOutDur,\n _ref2$className = _ref2.className,\n className = _ref2$className === void 0 ? \"\" : _ref2$className,\n _ref2$style = _ref2.style,\n style = _ref2$style === void 0 ? {} : _ref2$style,\n children = _ref2.children;\n\n var _useState = useState(animateOnMount ? getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n animation = _useState2$.animation,\n duration = _useState2$.duration,\n delay = _useState2$.delay,\n setAnimationRelatedState = _useState2[1];\n\n useEffect(function () {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n var classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n var backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: _objectSpread(_objectSpread({\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\"\n }, style), backwardStyle)\n }, children);\n};\n\nexport { AnimatedCss };","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n var _banner$legal = banner.legal,\n imprint = _banner$legal.imprint,\n imprintHide = _banner$legal.imprintHide,\n privacyPolicy = _banner$legal.privacyPolicy,\n privacyPolicyHide = _banner$legal.privacyPolicyHide,\n pageId = banner.pageId;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { BannerContent, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, bannerContentInlineStyleInner } from \".\";\nimport { useBanner } from \"../../contexts\";\nimport { useRestrictScrollWhenVisible, useResetableAnimation, usePlainCss, useBannerActionType, useBannerActionLinks } from \"../../hooks\";\nimport { AnimatedCss } from \"..\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { isHiddenDueLegal, dispatchResizeEvent } from \"../../others\";\n\nvar Banner = function Banner() {\n var banner = useBanner();\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n var _banner$layout = banner.layout,\n animationIn = _banner$layout.animationIn,\n animationInDuration = _banner$layout.animationInDuration,\n animationOut = _banner$layout.animationOut,\n animationOutDuration = _banner$layout.animationOutDuration,\n overlay = _banner$layout.overlay,\n overlayBlur = _banner$layout.overlayBlur,\n _banner$customCss = banner.customCss,\n antiAdBlocker = _banner$customCss.antiAdBlocker,\n css = _banner$customCss.css,\n visible = banner.visible,\n animationVisible = banner.animationVisible,\n activeAction = banner.activeAction,\n skipOverlay = banner.skipOverlay,\n gotHiddenDueLegal = banner.gotHiddenDueLegal,\n pageRequestUuid4 = banner.pageRequestUuid4,\n individualPrivacyOpen = banner.individualPrivacyOpen;\n\n var _useResetableAnimatio = useResetableAnimation(animationIn, animationInDuration),\n _useResetableAnimatio2 = _slicedToArray(_useResetableAnimatio, 2),\n stateAnimationIn = _useResetableAnimatio2[0],\n stateAnimationInDuration = _useResetableAnimatio2[1];\n\n var _useResetableAnimatio3 = useResetableAnimation(animationOut === \"none\" ? \"fadeOut\" : animationOut, animationOut === \"none\" ? 0 : animationOutDuration),\n _useResetableAnimatio4 = _slicedToArray(_useResetableAnimatio3, 2),\n stateAnimationOut = _useResetableAnimatio4[0],\n stateAnimationOutDuration = _useResetableAnimatio4[1];\n\n var hiddenDueLegal = isHiddenDueLegal(banner);\n var show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss(\"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;}\")); // Blur effect\n\n if (isPro) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n useRestrictScrollWhenVisible(show && overlay && animationVisible); // Listen to window resizes and resize the content automatically\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n setInvalidate = _useState2[1];\n\n var updateSize = function updateSize() {\n return setInvalidate(+new Date());\n };\n\n useLayoutEffect(function () {\n window.addEventListener(\"resize\", updateSize);\n return function () {\n return window.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n useLayoutEffect(function () {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(function () {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerActionType();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n var content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null)));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\n/**\n * Do not allow scrolling when this banner is visible\n *\n * @param visible\n */\n\nfunction useRestrictScrollWhenVisible(visible) {\n return useEffect(function () {\n var _document$body = document.body,\n dataset = _document$body.dataset,\n style = _document$body.style; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = visible ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n }, [visible]);\n}\n\nexport { useRestrictScrollWhenVisible };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect, useState } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n/**\n * Populate the banner depending on the active action. This handles the following things:\n *\n * - History\n * - Change\n * - Revoke\n */\n\nfunction useBannerActionType() {\n var banner = useBanner();\n var consent = banner.consent,\n groups = banner.groups,\n tcf = banner.tcf,\n activeAction = banner.activeAction,\n selectHistoryEntry = banner.selectHistoryEntry,\n setHistory = banner.setHistory; // Save the current consent and group settings to restore\n\n var _useState = useState({\n consent: consent,\n groups: groups,\n tcf: tcf\n }),\n _useState2 = _slicedToArray(_useState, 2),\n originalConsent = _useState2[0],\n setOriginalConsent = _useState2[1]; // Listen to consent changes and save it as original consent (only when non-history)\n\n\n useEffect(function () {\n if (!activeAction) {\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(function () {\n function fetch() {\n return _fetch.apply(this, arguments);\n }\n\n function _fetch() {\n _fetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, result, _result, _result$, _groups2, decision, _tcf2;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce;\n _context.next = 3;\n return commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false\n });\n\n case 3:\n result = _context.sent;\n setHistory(result); // Initially select first item\n\n if (result.length) {\n _result = _slicedToArray(result, 1), _result$ = _result[0], _groups2 = _result$.groups, decision = _result$.decision, _tcf2 = _result$.tcf;\n selectHistoryEntry(_groups2, decision, _tcf2);\n } else {\n selectHistoryEntry([], []);\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetch.apply(this, arguments);\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n var _groups = originalConsent.groups,\n consentGroups = originalConsent.consent.groups,\n _tcf = originalConsent.tcf;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(_groups, consentGroups, _tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerActionType };","import { bannerInlineStylesScale } from \"..\";\n\nfunction bannerOverlayInlineStyleAlignment(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogPosition = _ref$layout.dialogPosition,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style: style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { bannerInlineStylesScale } from \"..\";\nimport { calculateOverlay } from \"../../../../utils\";\n\nfunction bannerContentInlineStyleInner(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n dialogPosition = _ref$layout.dialogPosition,\n dialogMargin = _ref$layout.dialogMargin,\n bannerPosition = _ref$layout.bannerPosition,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n textAlign = _ref$design.textAlign,\n fontColor = _ref$design.fontColor,\n fontInheritFamily = _ref$design.fontInheritFamily,\n fontFamily = _ref$design.fontFamily,\n fontWeight = _ref$design.fontWeight,\n boxShadowEnabled = _ref$design.boxShadowEnabled,\n boxShadowOffsetX = _ref$design.boxShadowOffsetX,\n boxShadowOffsetY = _ref$design.boxShadowOffsetY,\n boxShadowBlurRadius = _ref$design.boxShadowBlurRadius,\n boxShadowSpreadRadius = _ref$design.boxShadowSpreadRadius,\n boxShadowColor = _ref$design.boxShadowColor,\n boxShadowColorAlpha = _ref$design.boxShadowColorAlpha,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var mobileAlignment = mobile.alignment;\n var useType = bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = bannerInlineStylesScale(mobile, pageRequestUuid4, borderWidth);\n var width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n\n var style = _defineProperty({\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign: textAlign,\n width: width,\n overflow: \"hidden\",\n alignSelf: bannerInlineStylesScale(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateOverlay(boxShadowColor, boxShadowColorAlpha)) : undefined\n }, useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\", useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined);\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(function (i) {\n return \"\".concat(i, \"px\");\n }).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style: style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import { calculateOverlay } from \"../../../../utils\";\nimport { bannerInlineStylesScale } from \"..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n overlay = _ref$layout.overlay,\n overlayBg = _ref$layout.overlayBg,\n overlayBgAlpha = _ref$layout.overlayBgAlpha,\n fontSize = _ref.design.fontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(bannerInlineStylesScale(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateOverlay(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 99999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: bannerInlineStylesScale(mobile, pageRequestUuid4, +fontSize)\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Get the default decision and respect essential group and legitimate interests.\n */\n\nfunction getDefaultDecision() {\n var respectLegitimateInterests = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n essentialGroup = _getOtherOptionsFromW.essentialGroup;\n\n var _groups$filter = groups.filter(function (_ref) {\n var slug = _ref.slug;\n return slug === essentialGroup;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0]; // We need always use the current essential group\n\n\n var result = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }));\n\n if (respectLegitimateInterests) {\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var group = _step.value;\n\n if (group === essentialGroupObj) {\n continue;\n }\n\n var ids = group.items.filter(function (_ref3) {\n var legalBasis = _ref3.legalBasis;\n return legalBasis === \"legitimate-interest\";\n }).map(function (_ref4) {\n var id = _ref4.id;\n return id;\n });\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { supportsCookies } from \"../../../utils\";\n\n/**\n * Does the current browser support cookies?\n */\nvar preDecisionGatewaySupportsCookies = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", supportsCookies() ? false : \"essentials\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewaySupportsCookies() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewaySupportsCookies };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nvar preDecisionGatewayHasPageClass = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var className;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n className = document.body.className;\n return _context.abrupt(\"return\", className.indexOf(\"login-action-\") > -1 ? \"consent\" : false);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayHasPageClass() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayHasPageClass };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise(function (resolve, reject) {\n promise.then(resolve, reject);\n var e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.GET\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOptionsFromWindow, isCrawler, promiseTimeout } from \"../../../utils\";\nimport { getUserDecision } from \"../..\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../../../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n/**\n * Dynamically allow to get a predecision with a extra request to our REST API.\n */\n\nvar preDecisionGatewayDynamicRequest = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, _getOptionsFromWindow2, revisionHash, hasDynamicPreDecisions, decision, revision, _document$documentEle, clientWidth, clientHeight, _yield$promiseTimeout, predecision;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce, _getOptionsFromWindow2 = _getOptionsFromWindow.others, revisionHash = _getOptionsFromWindow2.revisionHash, hasDynamicPreDecisions = _getOptionsFromWindow2.hasDynamicPreDecisions;\n\n if (!(isCrawler() || !hasDynamicPreDecisions)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n // Check if revision has changed, and probably access our dynamic predecision again\n decision = getUserDecision();\n\n if (!decision) {\n _context.next = 8;\n break;\n }\n\n revision = decision.revision;\n\n if (!(revisionHash === revision)) {\n _context.next = 8;\n break;\n }\n\n return _context.abrupt(\"return\", \"consent\");\n\n case 8:\n _document$documentEle = document.documentElement, clientWidth = _document$documentEle.clientWidth, clientHeight = _document$documentEle.clientHeight;\n _context.prev = 9;\n _context.next = 12;\n return promiseTimeout(commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n }), 10000);\n\n case 12:\n _yield$promiseTimeout = _context.sent;\n predecision = _yield$promiseTimeout.predecision;\n return _context.abrupt(\"return\", predecision);\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](9);\n return _context.abrupt(\"return\", false);\n\n case 20:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[9, 17]]);\n }));\n\n return function preDecisionGatewayDynamicRequest() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayDynamicRequest };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { isHiddenDueLegal } from \"..\";\n/**\n * Is the page currently a legal site?\n */\n\nvar preDecisionGatewayIsHiddenDueLegal = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(banner) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", isHiddenDueLegal(banner) ? \"consent\" : false);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayIsHiddenDueLegal(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsHiddenDueLegal };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow, isCrawler } from \"../../../utils\";\nimport { getUserDecision } from \"../../getUserDecision\";\n/**\n * When the server decides to not predecision anything e. g. due to\n * legal settings (privacy policy, imprint, hide on additional pages) or\n * the login page.\n */\n\nvar preDecisionGatewayIsPreventPreDecision = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var other, userDecision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n other = getOtherOptionsFromWindow();\n userDecision = getUserDecision();\n return _context.abrupt(\"return\", other.isPreventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explictely allow cookies on all pages\n \"all\" : \"consent\" : false);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayIsPreventPreDecision() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsPreventPreDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow, isCrawler } from \"../../../utils\";\nimport { getUserDecision } from \"../..\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nvar preDecisionGatewayIsCrawler = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOtherOptionsFromW, isAcceptAllForBots;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), isAcceptAllForBots = _getOtherOptionsFromW.isAcceptAllForBots;\n\n if (!(getUserDecision() !== false || !isAcceptAllForBots)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n return _context.abrupt(\"return\", isCrawler() ? \"all\" : false);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayIsCrawler() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsCrawler };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n var w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { isDoNotTrack, getOtherOptionsFromWindow } from \"../../../utils\";\nimport { getUserDecision } from \"../../getUserDecision\";\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's\n * automatically save the dialog without any action.\n */\n\nvar preDecisionGatewayIsDoNotTrack = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOtherOptionsFromW, isRespectDoNotTrack, groups, essentialGroup, _groups$filter, _groups$filter2, essentialGroupObj, _iterator, _step, group, _iterator2, _step2, item;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), isRespectDoNotTrack = _getOtherOptionsFromW.isRespectDoNotTrack, groups = _getOtherOptionsFromW.groups, essentialGroup = _getOtherOptionsFromW.essentialGroup;\n _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroup;\n }), _groups$filter2 = _slicedToArray(_groups$filter, 1), essentialGroupObj = _groups$filter2[0];\n\n if (!(getUserDecision() !== false || !isRespectDoNotTrack)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n // As soon we have a legitimate interest, we need to show the cookie banner\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context.next = 29;\n break;\n }\n\n group = _step.value;\n\n if (!(group !== essentialGroupObj)) {\n _context.next = 27;\n break;\n }\n\n _iterator2 = _createForOfIteratorHelper(group.items);\n _context.prev = 11;\n\n _iterator2.s();\n\n case 13:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 19;\n break;\n }\n\n item = _step2.value;\n\n if (!(item.legalBasis === \"legitimate-interest\")) {\n _context.next = 17;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 17:\n _context.next = 13;\n break;\n\n case 19:\n _context.next = 24;\n break;\n\n case 21:\n _context.prev = 21;\n _context.t0 = _context[\"catch\"](11);\n\n _iterator2.e(_context.t0);\n\n case 24:\n _context.prev = 24;\n\n _iterator2.f();\n\n return _context.finish(24);\n\n case 27:\n _context.next = 7;\n break;\n\n case 29:\n _context.next = 34;\n break;\n\n case 31:\n _context.prev = 31;\n _context.t1 = _context[\"catch\"](5);\n\n _iterator.e(_context.t1);\n\n case 34:\n _context.prev = 34;\n\n _iterator.f();\n\n return _context.finish(34);\n\n case 37:\n return _context.abrupt(\"return\", isDoNotTrack() ? \"dnt\" : false);\n\n case 38:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 31, 34, 37], [11, 21, 24, 27]]);\n }));\n\n return function preDecisionGatewayIsDoNotTrack() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayIsDoNotTrack };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow } from \"../../../utils\";\nimport { getUserDecision } from \"../../getUserDecision\";\n/**\n * Has the user already consent to the latest revision settings?\n */\n\nvar preDecisionGatewayUserConsent = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var decision, revision, _getOtherOptionsFromW, revisionHash;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decision = getUserDecision();\n\n if (!(decision === false)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n revision = decision.revision;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), revisionHash = _getOtherOptionsFromW.revisionHash;\n return _context.abrupt(\"return\", revisionHash === revision ? \"consent\" : false);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayUserConsent() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayUserConsent };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState } from \"react\";\nimport { Banner } from \"./banner\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { BannerContextFactory } from \"../contexts\";\nimport { useWebsiteBannerOverlay, useBannerActions, useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getUserDecision, getDefaultDecision } from \"../others\";\nimport { prepareTcfString, restoreTcf } from \"../tcf\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nvar WebsiteBanner = function WebsiteBanner(_ref) {\n var poweredLink = _ref.poweredLink;\n var userDecision = getUserDecision();\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.customizeValuesBanner,\n layout = _getOtherOptionsFromW2.layout,\n decision = _getOtherOptionsFromW2.decision,\n legal = _getOtherOptionsFromW2.legal,\n design = _getOtherOptionsFromW2.design,\n headerDesign = _getOtherOptionsFromW2.headerDesign,\n bodyDesign = _getOtherOptionsFromW2.bodyDesign,\n footerDesign = _getOtherOptionsFromW2.footerDesign,\n texts = _getOtherOptionsFromW2.texts,\n individualLayout = _getOtherOptionsFromW2.individualLayout,\n saveButton = _getOtherOptionsFromW2.saveButton,\n group = _getOtherOptionsFromW2.group,\n individualTexts = _getOtherOptionsFromW2.individualTexts,\n customCss = _getOtherOptionsFromW2.customCss,\n mobile = _getOtherOptionsFromW2.mobile,\n pageId = _getOtherOptionsFromW.pageId,\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4,\n pageIdToPermalink = _getOtherOptionsFromW.pageIdToPermalink,\n consentForwardingExternalHosts = _getOtherOptionsFromW.consentForwardingExternalHosts,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n isTcf = _getOtherOptionsFromW.isTcf,\n isEPrivacyUSA = _getOtherOptionsFromW.isEPrivacyUSA,\n isAgeNotice = _getOtherOptionsFromW.isAgeNotice,\n tcf = _getOtherOptionsFromW.tcf,\n tcfMetadata = _getOtherOptionsFromW.tcfMetadata,\n groups = _getOtherOptionsFromW.groups,\n isRefreshSiteAfterConsent = _getOtherOptionsFromW.isRefreshSiteAfterConsent; // TCF compatibility\n\n\n var tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n var _useWebsiteBannerOver = useWebsiteBannerOverlay(),\n toggleOverlay = _useWebsiteBannerOver.toggleOverlay; // Context values preparation\n\n\n var _useState = useState({\n layout: _objectSpread({}, layout),\n decision: _objectSpread({}, decision),\n legal: _objectSpread({}, legal),\n design: _objectSpread({}, design),\n headerDesign: _objectSpread({}, headerDesign),\n bodyDesign: _objectSpread({}, bodyDesign),\n footerDesign: _objectSpread({}, footerDesign),\n texts: _objectSpread({}, texts),\n individualLayout: _objectSpread({}, individualLayout),\n saveButton: _objectSpread({}, saveButton),\n group: _objectSpread({}, group),\n individualTexts: _objectSpread({}, individualTexts),\n customCss: _objectSpread({}, customCss),\n mobile: _objectSpread({}, mobile),\n pageRequestUuid4: pageRequestUuid4,\n pageIdToPermalink: pageIdToPermalink,\n consentForwardingExternalHosts: consentForwardingExternalHosts,\n pageId: pageId,\n isTcf: isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n updateTcfFilterBy: function updateTcfFilterBy(newFilter) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n tcfFilterBy: newFilter\n });\n });\n },\n groups: groups,\n essentialGroup: essentialGroup,\n poweredLink: poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(opened) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n individualPrivacyOpen: opened\n });\n });\n },\n consent: {\n groups: _objectSpread(_objectSpread({}, userDecision === false ? {} : userDecision.consent), getDefaultDecision(userDecision === false))\n },\n didGroupFirstChange: false,\n updateGroupChecked: function updateGroupChecked(id, checked) {\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(function (group) {\n return group.id === id;\n })[0].items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n });\n } else {\n delete newConsent.groups[id];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent,\n didGroupFirstChange: true\n });\n });\n },\n updateCookieChecked: function updateCookieChecked(groupId, id, checked) {\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n // Initially create \"selected\" cookies\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n var cookieIds = newConsent.groups[groupId];\n var indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n // Delete group entirely when no cookies selected\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent\n });\n });\n },\n onSave: function onSave(markAsDoNotTrack, buttonClicked) {\n setContextValue(function (state) {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n var appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n if (isRefreshSiteAfterConsent || state.refreshSiteAfterSave) {\n appliedConsent.then(function () {\n return (// Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(function () {\n return window.location.reload();\n }, state.refreshSiteAfterSave ||\n /* BC */\n 2000)\n );\n }); // When refreshing the site, do not show any out animation\n\n // When refreshing the site, do not show any out animation\n return state;\n } else {\n return _objectSpread(_objectSpread({}, state), toggleOverlay(state, false));\n }\n });\n },\n onClose: function onClose() {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread(_objectSpread({}, state), toggleOverlay(state, false)), {}, {\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n });\n });\n },\n setHistory: function setHistory(history) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n history: history\n });\n });\n },\n selectHistoryEntry: function selectHistoryEntry(groups, consentGroups, tcf) {\n setContextValue(function (state) {\n var additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : restoreTcf(tcf)\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: groups,\n consent: _objectSpread(_objectSpread({}, state.consent), {}, {\n groups: consentGroups\n })\n }, additionalChanges);\n });\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n contextValue = _useState2[0],\n setContextValue = _useState2[1]; // Directly modify the context value as the actions are memorized and should not trigger a rerendering\n\n\n useBannerActions(setContextValue, toggleOverlay);\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n var BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { applyModelMetadata, applyRestrictivePurposes, prepareTcfString, restoreTcf, getCurrentTcfStringFromCookie } from \"../tcf\";\n\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(function () {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n var gvl;\n var model;\n var restored = getCurrentTcfStringFromCookie(tcf, tcfMeta); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n var newTcf = restoreTcf({\n tcf: tcf,\n tcfMeta: tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyModelMetadata(model, tcfMeta);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl: gvl,\n model: model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { useCallback } from \"react\";\n\nfunction useWebsiteBannerOverlay() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var overlay = document.getElementById(pageRequestUuid4);\n var toggleOverlay = useCallback(function (_ref, show) {\n var _ref$layout = _ref.layout,\n animationIn = _ref$layout.animationIn,\n animationInDuration = _ref$layout.animationInDuration,\n animationOut = _ref$layout.animationOut,\n animationOutDuration = _ref$layout.animationOutDuration;\n var defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n var useDuration = show ? animationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : animationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(function () {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(function () {\n var bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(function () {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n var animationVisible = {\n animationVisible: show\n };\n return show ? _objectSpread({\n visible: true\n }, animationVisible) : animationVisible;\n }, []);\n return {\n overlay: overlay,\n toggleOverlay: toggleOverlay\n };\n}\n\nexport { useWebsiteBannerOverlay };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useMemo } from \"react\";\nimport { applyConsent, getDefaultDecision } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\n/**\n * Create actions for a passed context. If you want to use the actions, do not use\n * this hook directly, instead pass the result of this hook to your context and use\n * it with `useBanner`.\n */\n\nfunction useBannerActions(setContextValue, toggleOverlay) {\n return useMemo(function () {\n var toggleWithActiveAction = function toggleWithActiveAction(type) {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false\n }, toggleOverlay(state, true));\n });\n };\n\n var cancelEvent = function cancelEvent(e) {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n };\n\n var actions = {\n openHistory: function openHistory(e) {\n toggleWithActiveAction(\"history\");\n cancelEvent(e);\n },\n openBanner: function openBanner(e) {\n toggleWithActiveAction(\"change\");\n cancelEvent(e);\n },\n revokeConsent: function revokeConsent(successMessage, e) {\n setContextValue(function (state) {\n var tcf = state.tcf;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var buttonClicked, tcfString;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n // Do not rely on current state of `groups` because it can be altered through history change\n buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n _context.next = 4;\n return applyConsent({\n consent: {\n groups: getDefaultDecision(true)\n },\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n case 4:\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(function () {\n return window.location.reload();\n }, 2000);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))(); // Do not change anything\n\n\n return state;\n });\n cancelEvent(e);\n }\n }; // Make the actions available in our context\n\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), actions);\n });\n }, [setContextValue, toggleOverlay]);\n}\n\nexport { useBannerActions };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect } from \"react\";\nimport { isCustomize, ready } from \"../utils\";\nimport { preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass, preDecisionGatewayIsHiddenDueLegal, preDecisionGatewayIsPreventPreDecision, preDecisionGatewayIsDoNotTrack, preDecisionGatewayUserConsent, preDecisionGatewayIsCrawler, preDecisionGatewayDynamicRequest, applyCookies, getDefaultDecision } from \"../others\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../types\";\n\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n // Only run this predecision mechanism once and when not in customize\n !isCustomize() && useEffect(function () {\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var onSave, gateways, show, _i, _gateways, gateway, result;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n onSave = banner.onSave;\n gateways = [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass, preDecisionGatewayDynamicRequest, preDecisionGatewayIsHiddenDueLegal, preDecisionGatewayIsPreventPreDecision, preDecisionGatewayIsCrawler, preDecisionGatewayIsDoNotTrack, preDecisionGatewayUserConsent];\n show = true;\n _i = 0, _gateways = gateways;\n\n case 4:\n if (!(_i < _gateways.length)) {\n _context.next = 16;\n break;\n }\n\n gateway = _gateways[_i];\n _context.next = 8;\n return gateway(banner);\n\n case 8:\n result = _context.sent;\n\n if (!(result !== false)) {\n _context.next = 13;\n break;\n }\n\n show = false;\n\n if (result === \"all\") {\n applyCookies(\"all\");\n } else if (result === \"essentials\") {\n applyCookies(\"essentials\");\n } else if (result === \"dnt\") {\n // Accept only essentials (save because they are always preselected when no decision given and we need to hold this decision in API)\n onSave(gateway === preDecisionGatewayIsDoNotTrack, \"none\");\n } else if (result === \"consent\") {\n // Apply cookies for the current user decision\n applyCookies(\"consent\");\n }\n\n return _context.abrupt(\"break\", 16);\n\n case 13:\n _i++;\n _context.next = 4;\n break;\n\n case 16:\n if (!show) {\n _context.next = 21;\n break;\n }\n\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getDefaultDecision()\n }\n }, toggleOverlay(state, true));\n }); // Wait all events are initialized\n\n _context.next = 20;\n return ready();\n\n case 20:\n // All content blockers should be made visible\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Wait for a given object which is calculated through a callback.\n */\nfunction waitObject(_x) {\n return _waitObject.apply(this, arguments);\n}\n\nfunction _waitObject() {\n _waitObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(getObject) {\n var delayNextCheck,\n maxTries,\n i,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n delayNextCheck = _args.length > 1 && _args[1] !== undefined ? _args[1] : 500;\n maxTries = _args.length > 2 && _args[2] !== undefined ? _args[2] : 0;\n i = 0;\n\n case 3:\n if (getObject()) {\n _context.next = 11;\n break;\n }\n\n if (!(maxTries > 0 && i >= maxTries)) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 6:\n _context.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, delayNextCheck);\n });\n\n case 8:\n i++;\n _context.next = 3;\n break;\n\n case 11:\n return _context.abrupt(\"return\", getObject());\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _waitObject.apply(this, arguments);\n}\n\nexport { waitObject };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT } from \"../../types\";\nimport { waitObject } from \"../../utils\";\nvar amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref) {\n var _ref$detail$cookie, presetId, codeOptIn, codeDynamics, _ref3, amznAssoWidgetHtmlId, element, slotNum, adContainer;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _ref$detail$cookie = _ref.detail.cookie, presetId = _ref$detail$cookie.presetId, codeOptIn = _ref$detail$cookie.codeOptIn, codeDynamics = _ref$detail$cookie.codeDynamics;\n _context2.t0 = presetId;\n _context2.next = _context2.t0 === \"amazon-associates-widget\" ? 4 : _context2.t0 === \"google-maps\" ? 16 : 18;\n break;\n\n case 4:\n _ref3 = codeDynamics || {}, amznAssoWidgetHtmlId = _ref3.amznAssoWidgetHtmlId;\n\n if (!amznAssoWidgetHtmlId) {\n _context2.next = 15;\n break;\n }\n\n element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (!element) {\n _context2.next = 15;\n break;\n }\n\n slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n _context2.next = 13;\n return waitObject(function () {\n return document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\"));\n }, 500, 50);\n\n case 13:\n adContainer = _context2.sent;\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n\n case 15:\n return _context2.abrupt(\"break\", 19);\n\n case 16:\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref4) {\n var element, _ref6, et_pb_map_init, jQuery;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n element = _ref4.detail.element;\n _ref6 = window, et_pb_map_init = _ref6.et_pb_map_init, jQuery = _ref6.jQuery;\n\n if (!(jQuery && element.matches(\".et_pb_map\") && et_pb_map_init)) {\n _context.next = 6;\n break;\n }\n\n _context.next = 5;\n return waitObject(function () {\n return window.google;\n });\n\n case 5:\n et_pb_map_init(jQuery(element).parent());\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2) {\n return _ref5.apply(this, arguments);\n };\n }());\n return _context2.abrupt(\"break\", 19);\n\n case 18:\n return _context2.abrupt(\"break\", 19);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n}\n\nexport { listenPresetOptIn };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow, createRegxpPatternFromWildcardedName } from \"../utils\";\nimport { getUserDecision } from \"../others\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n var found = [];\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n revisionHash = _getOtherOptionsFromW.revisionHash;\n\n var allCookies = groups.map(function (_ref) {\n var items = _ref.items;\n return items;\n }).flat();\n\n var _iterator = _createForOfIteratorHelper(allCookies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n var technicalDefinitions = row.technicalDefinitions;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n var _iterator2 = _createForOfIteratorHelper(technicalDefinitions),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var td = _step2.value;\n var regexp = createRegxpPatternFromWildcardedName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var already = getUserDecision();\n\n if (found.length) {\n var relevantCookie = found.sort(function (_ref2, _ref3) {\n var a = _ref2.relevance;\n var b = _ref3.relevance;\n return a - b;\n })[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n var consentCookieIds = Object.values(already.consent).flat();\n\n if (consentCookieIds.indexOf(relevantCookie.id) > -1) {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: true\n };\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: false,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: null,\n consentGiven: !!already,\n cookieOptIn: true\n };\n }\n}\n\nexport { consentSync };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { OPT_IN_EVENT, OPT_OUT_EVENT } from \"../types\";\nimport { consentSync } from \".\";\n/**\n * `window.consentApi.consent`: Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:\n *\n * - When a technical information exists in defined cookies, the Promise is only resolved after given consent\n * - When no technical information exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * **Since 2.3.0**: You can also check for consent by cookie ID (ID in `wp_posts`, post id):\n *\n * ```js\n * window.consentApi.consent(15)\n * ```\n */\n\nfunction consent() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new Promise(function (resolve, reject) {\n var _consentSync = consentSync.apply(void 0, args),\n foundCookie = _consentSync.cookie,\n consentGiven = _consentSync.consentGiven,\n cookieOptIn = _consentSync.cookieOptIn;\n\n if (foundCookie) {\n if (consentGiven) {\n if (cookieOptIn) {\n resolve();\n } else {\n reject();\n }\n } else {\n // Wait for consent\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cookie = _ref.detail.cookie;\n\n if (cookie === foundCookie) {\n resolve();\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()); // Wait for opt out\n\n document.addEventListener(OPT_OUT_EVENT, /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cookie = _ref3.detail.cookie;\n\n if (cookie === foundCookie) {\n reject();\n }\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { consent };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { consent } from \".\";\n/**\n * `window.consentApi.consentAll`: Check if a set of given technical information (e.g. HTTP Cookie, LocalStorage, ...)\n * have a consent. This is similar to `window.consentApi.consent` but for multiple cookies.\n */\n\nfunction consentAll(technicalDefinitions) {\n return Promise.all(technicalDefinitions.map(function (args) {\n return consent.apply(void 0, _toConsumableArray(args));\n }));\n}\n\nexport { consentAll };","import { OPT_IN_ALL_EVENT, BANNER_PRE_DECISION_SHOW_EVENT } from \"../types\";\nimport { getUserDecision } from \".\";\n/**\n * Listen to opt-in so we can safely print the UUID of the current user to the\n * `PrintUuidShortcode.php` HTML tag.\n */\n\nfunction printUuidToShortcode() {\n var elements = Array.prototype.slice.call(document.querySelectorAll(\".rcb-consent-print-uuid\"));\n document.addEventListener(BANNER_PRE_DECISION_SHOW_EVENT, function () {\n elements.forEach(function (element) {\n return element.innerHTML = element.getAttribute(\"data-fallback\");\n });\n });\n document.addEventListener(OPT_IN_ALL_EVENT, function () {\n var consent = getUserDecision();\n elements.forEach(function (element) {\n return element.innerHTML = consent === false ? element.getAttribute(\"data-fallback\") : consent.uuid;\n });\n });\n}\n\nexport { printUuidToShortcode };","/* 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 * Entrypoint for plain website. This file is only loaded if the visitor needs to accept cookies.\n */\nimport { render } from \"react-dom\";\nimport { WebsiteBanner } from \"./components\";\nimport { ready, getOtherOptionsFromWindow, ensureBodyElement } from \"./utils\";\nimport { listenPresetOptIn, getSsrPoweredByLink, printUuidToShortcode } from \"./others\";\nimport { tcfCmpApi } from \"./tcf\";\nimport * as API from \"./api\";\nimport { getWebpackPublicPath } from \"@devowl-wp/utils\";\n__webpack_public_path__ = getWebpackPublicPath(process.env);\nlistenPresetOptIn();\nprintUuidToShortcode();\ntcfCmpApi();\nready(function () {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var poweredLink = getSsrPoweredByLink();\n var element = ensureBodyElement(document.getElementById(pageRequestUuid4));\n\n if (element) {\n render(h(WebsiteBanner, {\n poweredLink: poweredLink\n }), element);\n }\n}, \"interactive\"); // Expose public API\n\nif (window) {\n window.consentApi = API;\n}\n\nexport * from \"./api\";","import { CmpApi } from \"@iabtcf/cmpapi\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\nimport { tcfCmpApiDispatcher } from \"./dispatcher\";\nvar cmpApiInstance;\n/**\n * Initialize a CMP API once for this page request. If TCF is not available, it will\n * return `undefined`.\n *\n * @see https://www.npmjs.com/package/@iabtcf/cmpapi\n */\n\nfunction tcfCmpApi() {\n var other = getOtherOptionsFromWindow();\n var isTcf = other.isTcf;\n\n if (process.env.IS_TCF === \"1\" && isTcf) {\n var tcf = other.tcf,\n tcfMetadata = other.tcfMetadata;\n var scope = tcfMetadata.scope; // Create instance only once\n\n if (!cmpApiInstance) {\n cmpApiInstance = new CmpApi(+process.env.TCF_CMP_ID, // Currently, only two bits (https://git.io/JmuD0) can be saved to the cmpVersion, so we can only save the major version\n getCmpVersion(\"major\"), scope === \"service-specific\"); // Dispatch events to vendors can listen to it\n\n setTimeout(function () {\n return tcfCmpApiDispatcher(tcf, tcfMetadata);\n }, 0);\n }\n\n return cmpApiInstance;\n } else {\n return undefined;\n }\n}\n\nexport { tcfCmpApi };","/**\n * Ensure the given HTML is a child of `body`. If not, it automatically gets moved.\n */\nfunction ensureBodyElement(element) {\n var _document = document,\n body = _document.body;\n var parentElement = element.parentElement;\n\n if (parentElement !== body) {\n body.appendChild(element);\n }\n\n return element;\n}\n\nexport { ensureBodyElement };","import { getOtherOptionsFromWindow } from \"../../utils\";\n\nvar BannerDevHint = function BannerDevHint() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro,\n isLicensed = _getOtherOptionsFromW.isLicensed,\n isDevLicense = _getOtherOptionsFromW.isDevLicense,\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n noLicense = _getOtherOptionsFromW2.noLicense,\n devLicense = _getOtherOptionsFromW2.devLicense;\n\n if (!isPro) {\n return null;\n }\n\n var useText = \"\";\n\n if (isDevLicense) {\n useText = devLicense;\n } else if (!isLicensed) {\n useText = noLicense;\n }\n\n return useText ? h(\"div\", {\n style: {\n fontSize: 13,\n color: \"#c95252\",\n fontWeight: \"bold\",\n order: 9\n }\n }, useText) : null;\n};\n\nexport { BannerDevHint };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nvar BannerTooltip = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? \"top\" : _ref$position,\n color = _ref.color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? \"large\" : _ref$size,\n always = _ref.always,\n rounded = _ref.rounded,\n noAnimate = _ref.noAnimate,\n bounce = _ref.bounce,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"title\", \"position\", \"color\", \"size\", \"always\", \"rounded\", \"noAnimate\", \"bounce\"]);\n\n usePlainCss(hintCss, \"hint-css\");\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { BannerTooltip };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nvar PlainAntdIconAsSvg = function PlainAntdIconAsSvg(_ref) {\n var icon = _ref.icon,\n rest = _objectWithoutProperties(_ref, [\"icon\"]);\n\n var svgString = useMemo(function () {\n return renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n });\n }, [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider so banner can be handled independent from Mobx.\n * Mobx is not enqueued in website frontend for bundle-size purposes!\n */\nvar BannerContextFactory = /*#__PURE__*/function () {\n function BannerContextFactory() {\n _classCallCheck(this, BannerContextFactory);\n }\n\n _createClass(BannerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BannerContextFactory;\n}();\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider so blocker can be handled independent from Mobx.\n * Mobx is not enqueued in website frontend for bundle-size purposes!\n */\nvar BlockerContextFactory = /*#__PURE__*/function () {\n function BlockerContextFactory() {\n _classCallCheck(this, BlockerContextFactory);\n }\n\n _createClass(BlockerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BlockerContextFactory;\n}();\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import { useBanner, useBlocker } from \"../contexts\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Get the permalink of a given page id from our page ID permalink map. It automatically\n * falls back to `p={ID}` URL.\n */\n\nfunction usePageIdToPermalinkMapLink(pageId) {\n var _useBanner = useBanner(),\n mapBanner = _useBanner.pageIdToPermalink;\n\n var _useBlocker = useBlocker(),\n mapBlocker = _useBlocker.pageIdToPermalink;\n\n var pageIdToPermalink = mapBanner || mapBlocker;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageByIdUrl = _getOtherOptionsFromW.pageByIdUrl;\n\n return (pageIdToPermalink === null || pageIdToPermalink === void 0 ? void 0 : pageIdToPermalink[pageId]) || \"\".concat(pageByIdUrl, \"=\").concat(pageId);\n}\n\nexport { usePageIdToPermalinkMapLink };","import { usePageIdToPermalinkMapLink } from \".\";\n\nfunction useBannerLegalLinks(_ref) {\n var privacyPolicy = _ref.privacyPolicy,\n privacyPolicyExternalUrl = _ref.privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl = _ref.privacyPolicyIsExternalUrl,\n privacyPolicyLabel = _ref.privacyPolicyLabel,\n imprint = _ref.imprint,\n imprintExternalUrl = _ref.imprintExternalUrl,\n imprintIsExternalUrl = _ref.imprintIsExternalUrl,\n imprintLabel = _ref.imprintLabel;\n var linkPrivacyPolicy = usePageIdToPermalinkMapLink(privacyPolicy);\n var linkImprint = usePageIdToPermalinkMapLink(imprint);\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useBannerLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nvar counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId) {\n var id = useMemo(function () {\n return \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36));\n }, []);\n useLayoutEffect(function () {\n var element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return function () {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n };\n }, [css]);\n return id;\n}\n\nexport { usePlainCss };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n}; // Also ported to rest/Consent.php","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Apply Consent Forwarding, it set's cross domain cookies via CORS requests.\n *\n * @see https://javascript.info/fetch-crossorigin\n */\n\nfunction applyConsentForwarding(_ref) {\n var endpoints = _ref.endpoints,\n data = _ref.data;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n if (isPro) {\n /* onlypro:start */\n var promises = [];\n\n var _iterator = _createForOfIteratorHelper(endpoints),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var endpoint = _step.value;\n promises.push(window.fetch(endpoint, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\"\n },\n body: JSON.stringify(data)\n }));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return Promise.all(promises);\n /* onlypro:start */\n } else {\n return Promise.reject();\n }\n}\n\nexport { applyConsentForwarding };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { locationRestConsentPost } from \"../wp-api\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { applyCookies, applyConsentForwarding } from \".\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n/**\n * Save consent to the backend and apply cookies on running session.\n */\n\nfunction applyConsent(_x) {\n return _applyConsent.apply(this, arguments);\n}\n\nfunction _applyConsent() {\n _applyConsent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var consent, _ref$markAsDoNotTrack, markAsDoNotTrack, buttonClicked, _ref$blocker, blocker, tcfString, _document$documentEle, clientWidth, clientHeight, _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, _yield$commonRequest, forward, uuid, cookie_revision, decision_in_cookie;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n consent = _ref.consent, _ref$markAsDoNotTrack = _ref.markAsDoNotTrack, markAsDoNotTrack = _ref$markAsDoNotTrack === void 0 ? false : _ref$markAsDoNotTrack, buttonClicked = _ref.buttonClicked, _ref$blocker = _ref.blocker, blocker = _ref$blocker === void 0 ? 0 : _ref$blocker, tcfString = _ref.tcfString;\n _document$documentEle = document.documentElement, clientWidth = _document$documentEle.clientWidth, clientHeight = _document$documentEle.clientHeight;\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce; // Use `commonRequest` cause on frontend we do not have `wp.i18n` available\n\n _context.next = 5;\n return commonRequest({\n location: locationRestConsentPost,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: _objectSpread(_objectSpread({}, consent), {}, {\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight,\n blocker: blocker,\n tcfString: tcfString\n }),\n params: {\n _wp_http_referer: window.location.href\n }\n });\n\n case 5:\n _yield$commonRequest = _context.sent;\n forward = _yield$commonRequest.forward;\n uuid = _yield$commonRequest.uuid;\n cookie_revision = _yield$commonRequest.cookie_revision;\n decision_in_cookie = _yield$commonRequest.decision_in_cookie;\n // Does the browser support cookies? Save the decision locally in `window` so `getUserDecision` can fallback\n window.rcbDisabledCookieComp = {\n uuid: uuid,\n revision: cookie_revision,\n consent: decision_in_cookie\n };\n _context.next = 13;\n return Promise.all([// Apply consent forwarding and wait for all requests\n forward && applyConsentForwarding(forward), applyCookies(\"consent\")].filter(Boolean));\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _applyConsent.apply(this, arguments);\n}\n\nexport { applyConsent };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { getUserDecision } from \"../getUserDecision\";\n/**\n * Read the selected groups + cookies depending on the passed type.\n *\n * @param type If \"consent\" it will be read from the current cookie and if this fails, it\n * falls back to essentials-only.\n */\n\nfunction getSelectedCookies(type) {\n var selectedGroups;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager,\n isPro = _getOtherOptionsFromW.isPro;\n\n var isManagerActive = isPro && setCookiesViaManager !== \"none\";\n\n var _groups$filter = groups.filter(function (_ref) {\n var slug = _ref.slug;\n return slug === essentialGroup;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0];\n\n var consentEssentials = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n })); // Read current consent\n\n\n if (type === \"consent\") {\n var decision = getUserDecision();\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive: isManagerActive,\n selectedGroups: selectedGroups,\n iterateCookies: function () {\n var _iterateCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callback) {\n var _iterator, _step, _group, _iterator2, _step2, _selectedGroups$_grou, _cookie, _isOptIn;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context.next = 25;\n break;\n }\n\n _group = _step.value;\n _iterator2 = _createForOfIteratorHelper(_group.items);\n _context.prev = 6;\n\n _iterator2.s();\n\n case 8:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 15;\n break;\n }\n\n _cookie = _step2.value;\n _isOptIn = type === \"all\" || ((_selectedGroups$_grou = selectedGroups[_group.id]) === null || _selectedGroups$_grou === void 0 ? void 0 : _selectedGroups$_grou.indexOf(_cookie.id)) > -1;\n _context.next = 13;\n return callback(_group, _cookie, _isOptIn);\n\n case 13:\n _context.next = 8;\n break;\n\n case 15:\n _context.next = 20;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](6);\n\n _iterator2.e(_context.t0);\n\n case 20:\n _context.prev = 20;\n\n _iterator2.f();\n\n return _context.finish(20);\n\n case 23:\n _context.next = 3;\n break;\n\n case 25:\n _context.next = 30;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t1 = _context[\"catch\"](1);\n\n _iterator.e(_context.t1);\n\n case 30:\n _context.prev = 30;\n\n _iterator.f();\n\n return _context.finish(30);\n\n case 33:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 27, 30, 33], [6, 17, 20, 23]]);\n }));\n\n function iterateCookies(_x) {\n return _iterateCookies.apply(this, arguments);\n }\n\n return iterateCookies;\n }()\n };\n}\n\nexport { getSelectedCookies };","function getManagerDependingVariables(isManagerActive, setCookiesViaManager) {\n var useVariableNameCamel;\n var useVariableNamePascal;\n var useGlobalObjectName;\n\n if (isManagerActive) {\n useVariableNameCamel = setCookiesViaManager;\n useVariableNamePascal = useVariableNameCamel.charAt(0).toUpperCase() + useVariableNameCamel.slice(1);\n var isGtm = setCookiesViaManager === \"googleTagManager\"; // const isMtm = setCookiesViaManager === \"matomoTagManager\"; // This variable is not yet needed, because we only have 2 managers\n\n useGlobalObjectName = isGtm ? \"dataLayer\" : \"_mtm\";\n }\n\n return {\n useVariableNameCamel: useVariableNameCamel,\n useVariableNamePascal: useVariableNamePascal,\n useGlobalObjectName: useGlobalObjectName\n };\n}\n\nexport { getManagerDependingVariables };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getSelectedCookies, getManagerDependingVariables } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { OPT_IN_EVENT, OPT_IN_ALL_EVENT } from \"../../types\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * Opt-in to a set of cookies.\n */\n\nfunction applyOptIn(_x) {\n return _applyOptIn.apply(this, arguments);\n}\n\nfunction _applyOptIn() {\n _applyOptIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type) {\n var allOptInCookies, _getSelectedCookies, isManagerActive, iterateCookies, _getOtherOptionsFromW, setCookiesViaManager, _getManagerDependingV, useGlobalObjectName, useVariableNamePascal, isManagerOptOut, dataLayerPromise;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n allOptInCookies = [];\n _getSelectedCookies = getSelectedCookies(type), isManagerActive = _getSelectedCookies.isManagerActive, iterateCookies = _getSelectedCookies.iterateCookies;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, setCookiesViaManager), useGlobalObjectName = _getManagerDependingV.useGlobalObjectName, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle managers like GTM and MTM\n\n isManagerOptOut = false;\n dataLayerPromise = Promise.resolve(undefined); // Handle opt-ins sequentially\n\n _context2.next = 8;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var presetId, codeDynamics, codeOptIn, rest, isManager, isOnlyWhenNoConsentToManager, restrictOptInCodeForPreset;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n presetId = cookie.presetId, codeDynamics = cookie.codeDynamics, codeOptIn = cookie.codeOptIn, rest = _objectWithoutProperties(cookie, [\"presetId\", \"codeDynamics\", \"codeOptIn\"]);\n isManager = isManagerActive && rest[\"thisIs\".concat(useVariableNamePascal)];\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n restrictOptInCodeForPreset = [\"amazon-associates-widget\"].indexOf(presetId) > -1;\n\n if (!isOnlyWhenNoConsentToManager && !restrictOptInCodeForPreset) {\n putHtmlCodeToDom(codeOptIn, codeDynamics);\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n allOptInCookies.push({\n group: group,\n cookie: cookie\n });\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 8:\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n cookies: allOptInCookies\n }\n }));\n return _context2.abrupt(\"return\", {\n isManagerOptOut: isManagerOptOut,\n dataLayerPromise: dataLayerPromise\n });\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptIn.apply(this, arguments);\n}\n\nexport { applyOptIn };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getSelectedCookies, getManagerDependingVariables } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\n/**\n * Opt-in and opt-out to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptInOutManager(_x, _x2, _x3) {\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nfunction _applyOptInOutManager() {\n _applyOptInOutManager = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type, dataLayer, isManagerOptOut) {\n var _getSelectedCookies, isManagerActive, iterateCookies, _getOtherOptionsFromW, setCookiesViaManager, _getManagerDependingV, useVariableNameCamel, useVariableNamePascal;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n /* onlypro:start */\n _getSelectedCookies = getSelectedCookies(type), isManagerActive = _getSelectedCookies.isManagerActive, iterateCookies = _getSelectedCookies.iterateCookies;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, setCookiesViaManager), useVariableNameCamel = _getManagerDependingV.useVariableNameCamel, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (!dataLayer) {\n _context2.next = 10;\n break;\n }\n\n // Opt-in events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"InEventName\")];\n\n if (isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptInEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n }); // Wait x seconds\n\n _context2.next = 7;\n return new Promise(function (r) {\n return setTimeout(r, 1000);\n });\n\n case 7:\n // Opt-out events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"OutEventName\")];\n\n if (!isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptOutEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n });\n _context2.next = 13;\n break;\n\n case 10:\n if (!(isManagerActive && isManagerOptOut)) {\n _context2.next = 13;\n break;\n }\n\n _context2.next = 13;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, _ref, isOptIn) {\n var codeDynamics, codeOptIn, rest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = _ref.codeDynamics, codeOptIn = _ref.codeOptIn, rest = _objectWithoutProperties(_ref, [\"codeDynamics\", \"codeOptIn\"]);\n\n if (isOptIn && rest[\"codeOptInNo\".concat(useVariableNamePascal)]) {\n putHtmlCodeToDom(codeOptIn, codeDynamics);\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x4, _x5, _x6) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nexport { applyOptInOutManager };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { createRegxpPatternFromWildcardedName } from \"../../utils\";\nimport Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n var _iterator = _createForOfIteratorHelper(technicalDefinitions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n type = _step$value.type,\n name = _step$value.name;\n // Create valid Regxp pattern\n var pattern = new RegExp(createRegxpPatternFromWildcardedName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (var _i = 0, _Object$keys = Object.keys(Cookie.get()); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n var useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(useStorage); _i2 < _Object$keys2.length; _i2++) {\n var itemName = _Object$keys2[_i2];\n\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n var tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport { deleteCookiesLocally };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import { commonRequest } from \"@devowl-wp/utils\";\nimport { getOptionsFromWindow } from \"../../utils\";\nimport { locationRestConsentClearDelete } from \"../../wp-api\";\n/**\n * Delete cookies on server side (currently only `http`).\n */\n\nfunction deleteCookiesServer(cookies) {\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce;\n\n return commonRequest({\n location: locationRestConsentClearDelete,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n params: {\n cookies: cookies.join(\",\")\n }\n });\n}\n\nexport { deleteCookiesServer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getSelectedCookies, getManagerDependingVariables, deleteCookiesLocally, deleteCookiesServer } from \".\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nimport { OPT_OUT_EVENT } from \"../../types\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\n/**\n * Opt-in to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptOut(_x, _x2) {\n return _applyOptOut.apply(this, arguments);\n}\n\nfunction _applyOptOut() {\n _applyOptOut = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type, isManagerOptOut) {\n var _getSelectedCookies, isManagerActive, iterateCookies, _getOtherOptionsFromW, setCookiesViaManager, _getManagerDependingV, useVariableNamePascal, foundOptOutToDelete;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _getSelectedCookies = getSelectedCookies(type), isManagerActive = _getSelectedCookies.isManagerActive, iterateCookies = _getSelectedCookies.iterateCookies;\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, setCookiesViaManager), useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle opt-outs sequentially\n\n foundOptOutToDelete = [];\n _context2.next = 6;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var id, codeDynamics, codeOptOut, codeOptOutDelete, noTechnicalDefinitions, technicalDefinitions, rest, isOnlyWhenNoConsentToManager;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = cookie.id, codeDynamics = cookie.codeDynamics, codeOptOut = cookie.codeOptOut, codeOptOutDelete = cookie.codeOptOutDelete, noTechnicalDefinitions = cookie.noTechnicalDefinitions, technicalDefinitions = cookie.technicalDefinitions, rest = _objectWithoutProperties(cookie, [\"id\", \"codeDynamics\", \"codeOptOut\", \"codeOptOutDelete\", \"noTechnicalDefinitions\", \"technicalDefinitions\"]);\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n\n if (isOnlyWhenNoConsentToManager && !isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n putHtmlCodeToDom(codeOptOut, codeDynamics);\n }\n\n if (codeOptOutDelete && !noTechnicalDefinitions) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side cookies\n\n // Mark deletable server-side cookies\n if (technicalDefinitions.some(function (_ref2) {\n var type = _ref2.type;\n return type === \"http\";\n })) {\n foundOptOutToDelete.push(id);\n }\n }\n\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 6:\n // Handle cookie deletion which needs to be done server-side (e. g. HTTP cookies)\n foundOptOutToDelete.length && setTimeout(function () {\n return deleteCookiesServer(foundOptOutToDelete);\n }, 0);\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptOut.apply(this, arguments);\n}\n\nexport { applyOptOut };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { ready } from \"../../utils\";\n/**\n * Apply cookies on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All cookies are applied (e. g. bots)\n * - `consent`: All cookies from the current consent (read from cookie)\n *\n * The cookies are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nfunction applyCookies(_x) {\n return _applyCookies.apply(this, arguments);\n}\n\nfunction _applyCookies() {\n _applyCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(type) {\n var _yield$applyOptIn, dataLayerPromise, isManagerOptOut;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ready();\n\n case 2:\n _context.next = 4;\n return applyOptIn(type);\n\n case 4:\n _yield$applyOptIn = _context.sent;\n dataLayerPromise = _yield$applyOptIn.dataLayerPromise;\n isManagerOptOut = _yield$applyOptIn.isManagerOptOut;\n _context.t0 = applyOptInOutManager;\n _context.t1 = type;\n _context.next = 11;\n return dataLayerPromise;\n\n case 11:\n _context.t2 = _context.sent;\n _context.t3 = isManagerOptOut;\n _context.next = 15;\n return (0, _context.t0)(_context.t1, _context.t2, _context.t3);\n\n case 15:\n _context.next = 17;\n return applyOptOut(type, isManagerOptOut);\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _applyCookies.apply(this, arguments);\n}\n\nexport { applyCookies };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../../utils\";\nvar ATTRIBUTE_EXPRIVACY_NOTE_EXPAND = \"eprivacy-usa-expand\";\nvar addedEventListener = false;\n/**\n * Replace in a given (HTML) string `{{service}}` with a given filter.\n */\n\nfunction expandGroupsServiceVariable( // Pass available services as values\ngroups, tcf, text, // Pass a callback to filter the passed available services by criteria\nfilter) {\n var truncateAfter = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 3;\n var noCookiesReturnEmptyString = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n ePrivacyNoteMore = _getOtherOptionsFromW2.ePrivacyNoteMore,\n none = _getOtherOptionsFromW2.none;\n\n var restLabels = [];\n var labels = []; // Usual cookies\n\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var items = _step.value.items;\n\n var _iterator2 = _createForOfIteratorHelper(items),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _cookie = _step2.value;\n\n if (filter(_cookie)) {\n labels.push(_cookie.name);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n // TCF vendor configurations\n var gvl = tcf.gvl,\n vendorConfigurations = tcf.vendorConfigurations;\n\n for (var vendorConfigurationId in vendorConfigurations) {\n var vendorConfiguration = vendorConfigurations[vendorConfigurationId];\n var vendor = gvl.vendors[vendorConfiguration.vendorId];\n\n if (filter(undefined, {\n vendor: vendor,\n vendorConfiguration: vendorConfiguration\n })) {\n labels.push(vendor.name);\n }\n }\n } // Truncate when more than 1 difference\n\n\n if (labels.length - truncateAfter > 1) {\n restLabels = labels.slice(truncateAfter, labels.length);\n labels = labels.slice(0, truncateAfter); // Unfortunately we can not use React here because the text is customized inside a text\n\n labels.push(\"<span \".concat(ATTRIBUTE_EXPRIVACY_NOTE_EXPAND, \"=\\\"\").concat(restLabels.join(\", \"), \"\\\" style=\\\"text-decoration:none;border-bottom:0.5px dashed;padding-bottom:1px;cursor:pointer;\\\">\").concat(ePrivacyNoteMore.replace(\"%d\", restLabels.length.toString()), \"</span>\")); // Add event-listener globally once as we are not using React here\n\n !addedEventListener && document.addEventListener(\"click\", function (e) {\n var target = e.target;\n\n if (target !== null && target !== void 0 && target.hasAttribute(ATTRIBUTE_EXPRIVACY_NOTE_EXPAND)) {\n target.innerHTML = target.getAttribute(ATTRIBUTE_EXPRIVACY_NOTE_EXPAND);\n target.removeAttribute(\"style\");\n }\n });\n addedEventListener = true;\n }\n\n if (noCookiesReturnEmptyString && labels.length === 0) {\n return \"\";\n }\n\n return text.replace(/{{services}}/g, labels.length ? labels.join(\", \") : \"<span style=\\\"color:red;\\\">\".concat(none, \"</span>\"));\n}\n\nexport { expandGroupsServiceVariable };","function getCookieTypeLocalized() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { getCookieTypeLocalized };","/**\n * Example: When switching the individual privacy mode, the headline get's updated so\n * we need also recalculate the `position: sticky`.\n *\n * @param delay\n */\nfunction dispatchResizeEvent() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n setTimeout(function () {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { getOtherOptionsFromWindow } from \"../utils\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var element = document.getElementById(pageRequestUuid4); // SSR-powered by\n\n var originalPoweredLink = element.nextElementSibling;\n var poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { getOtherOptionsFromWindow, getCookie, supportsCookies } from \"../utils\";\nimport { explode } from \"../utils\";\n\n/**\n * Get current user decision from the cookie value.\n */\nfunction getUserDecision() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName;\n\n var cookieValue = getCookie(userConsentCookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n var split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n var _split = _slicedToArray(split, 2),\n uuid = _split[0],\n revision = _split[1];\n\n var consent = JSON.parse(split[2]);\n return {\n uuid: uuid,\n revision: revision,\n consent: consent\n };\n}\n\nexport { getUserDecision };","/**\n * Get cookie by name. Please keep in mind you need to `decodeURIComponent` the value in some cases!\n *\n * @param cname\n * @see https://stackoverflow.com/questions/10730362/get-cookie-by-name\n * @see https://stackoverflow.com/a/25490531/5506547\n */\nfunction getCookie(cname) {\n var _document$cookie$matc;\n\n var decode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var value = ((_document$cookie$matc = document.cookie.match(\"(^|;)\\\\s*\".concat(cname, \"\\\\s*=\\\\s*([^;]+)\"))) === null || _document$cookie$matc === void 0 ? void 0 : _document$cookie$matc.pop()) || \"\";\n return decode ? decodeURIComponent(value) : value;\n}\n\nexport { getCookie };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n var split = string.split(separator);\n if (split.length <= n) return split;\n var out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport var BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export var OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export var OPT_IN_EVENT = \"RCB/OptIn\";","export var OPT_OUT_EVENT = \"RCB/OptOut\";","import { pregQuote } from \".\";\n/**\n * Port of Clear.php#createRegxpPatternFromWildcardedName.\n */\n\nfunction createRegxpPatternFromWildcardedName(name) {\n var tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { createRegxpPatternFromWildcardedName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n var filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce(function (acc, curr, i) {\n return acc.length ? [].concat(_toConsumableArray(acc), [// Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr]) : [curr];\n }, []);\n}\n\nexport { jsxJoin };","// Currently we can not rely on core-js for frontend banner because\n// it increases the bundle size a lot. There is an open issue for this:\n// https://github.com/zloirock/core-js/issues/388\n// import \"core-js/stable/string/virtual/starts-with\";\n// import \"core-js/stable/string/virtual/ends-with\";\n// import \"core-js/features/object/assign\";\n// import \"core-js/features/object/values\";\n// import \"core-js/features/promise\";\n// https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWIth\nif (!String.prototype.startsWith) {\n // @see\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.indexOf(searchString, position) === position;\n };\n} // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n\n if (typeof position !== \"number\" || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames\n\n\nif (Element.prototype.getAttributeNames == undefined) {\n Element.prototype.getAttributeNames = function () {\n var attributes = this.attributes;\n var length = attributes.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++) {\n result[i] = attributes[i].name;\n }\n\n return result;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill\n\n\n(function () {\n if (typeof window.CustomEvent === \"function\") return;\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null\n };\n var evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n})(); // https://github.com/KhaledElAnsari/Object.values\n\n\nObject.values = Object.values ? Object.values : function (obj) {\n var allowedTypes = [\"[object String]\", \"[object Object]\", \"[object Array]\", \"[object Function]\"];\n var objType = Object.prototype.toString.call(obj);\n\n if (obj === null || typeof obj === \"undefined\") {\n throw new TypeError(\"Cannot convert undefined or null to object\");\n } else if (!~allowedTypes.indexOf(objType)) {\n return [];\n } else {\n // if ES6 is supported\n if (Object.keys) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n }\n\n var result = [];\n\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n result.push(obj[prop]);\n }\n }\n\n return result;\n }\n}; // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nif (typeof Object.assign != \"function\") {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n value: function assign() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var target = args[0]; // .length of function is 2\n\n \"use strict\";\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n\n var to = Object(target);\n\n for (var index = 1; index < args.length; index++) {\n var nextSource = args[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n\n return to;\n },\n writable: true,\n configurable: true\n });\n} // https://stackoverflow.com/a/20428914/5506547\n\n\n(function (arr) {\n arr.forEach(function (item) {\n // eslint-disable-next-line no-prototype-builtins\n if (item.hasOwnProperty(\"remove\")) {\n return;\n }\n\n Object.defineProperty(item, \"remove\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function remove() {\n this.parentNode.removeChild(this);\n }\n });\n });\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);","/**\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 */\nvar ready = function ready(fn) {\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"complete\";\n return new Promise(function (resolve) {\n var cb = function cb() {\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n if (document.readyState === state) {\n cb();\n } else {\n document.addEventListener(\"readystatechange\", function () {\n if (document.readyState === state) {\n cb();\n }\n });\n }\n });\n};\n\nexport { ready };","var TEST_COOKIE_NAME = \"real_cookie_banner-test\";\n/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\n\nfunction supportsCookies() {\n try {\n document.cookie = \"\".concat(TEST_COOKIE_NAME, \"=1\");\n var result = document.cookie.indexOf(\"\".concat(TEST_COOKIE_NAME, \"=\")) !== -1;\n document.cookie = \"\".concat(TEST_COOKIE_NAME, \"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT\");\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","// 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\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// 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\t392: 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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_name_\"] = self[\"webpackChunkrealCookieBanner_name_\"] || [];\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\n__webpack_require__.O(undefined, [568], function() { return __webpack_require__(4741); })\nvar __webpack_exports__ = __webpack_require__.O(undefined, [568], function() { return __webpack_require__(6385); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","DYNAMICS_VARIABLE_REGEXP","applyDynamicsToHtml","src","dynamics","replace","fullMatch","variableName","Object","prototype","hasOwnProperty","call","HTML_ATTRIBUTE_CAPTURE_PREFIX","HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX","HTML_ATTRIBUTE_CAPTURE_SUFFIX","HTML_ATTRIBUTE_BY","HTML_ATTRIBUTE_COOKIE_IDS","HTML_ATTRIBUTE_VISUAL_PARENT","HTML_ATTRIBUTE_INLINE","HTML_ATTRIBUTE_INLINE_STYLE","HTML_ATTRIBUTE_BLOCKER_ID","HTML_TAG_CONSENT_SCRIPT","HTML_ATTRIBUTE_BLOCKER_CONNECTED","HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE","HTML_ATTRIBUTE_TRANSFORM_WRAPPER","HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE","HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN","HTML_ATTRIBUTE_RESET_PARENT","HTML_ATTRIBUTE_RESET_PARENT_VALUE","htmlDecode","input","_doc$querySelector","isUrl","DOMParser","parseFromString","concat","querySelector","href","documentElement","textContent","WINDOW_ONLOAD_UNBLOCK_REPLACEMENT","putHtmlCodeToDom","html","referenceNode","arguments","length","undefined","document","body","Promise","resolve","done","error","e","console","beforeWriteToken","token","attrs","booleanAttrs","content","attr","OPT_IN_CONTENT_BLOCKER","url","test","parents","element","selector","elements","elem","parentElement","nodeType","Node","ELEMENT_NODE","push","matchingSelector","matchingElements","querySelectorAll","matchIdx","commonUrlBuilder","_ref","location","_ref$params","params","_ref$nonce","nonce","options","apiUrl","restRoot","query","permalinkPath","rest_route","pathname","foundParams","path","match","group","getParams","_i","_Object$keys","keys","checkParam","indexOf","usePath","namespace","restNamespace","useThisProtocol","window","protocol","slice","set","restNonce","_wpnonce","currentApiUrlString","toString","filter","s","method","_method","restQuery","pool","recreateFetchPool","nonceDeprecationPool","_x","_x2","_nonceDeprecationPool","apply","this","_callee2","restRecreateNonceEndpoint","resultPromise","returnNonce","_context2","prev","next","_callee","reject","recreateFetch","newNonce","_context","sent","ok","text","t0","stop","_x3","_x4","abrupt","all","values","parseResult","_parseResult","result","cloneForFallback","lastError","_iterator","_step","line","clone","json","warn","split","n","value","startsWith","JSON","parse","t1","t2","f","finish","CONTENT_TYPE_JSON","commonRequest","_commonRequest","routeRequest","_ref$settings","settings","_ref$multipart","multipart","_ref$sendRestNonce","sendRestNonce","allowBody","hasRestNonce","init","apiUrlBuilt","responseJSON","replay","resultAny","request","stringify","headers","Accept","code","status","detectCorruptRestApiFailed","RouteHttpVerb","untrailingslashit","str","endsWith","trailingslashit","getWebpackPublicPath","env","slug","g","toUpperCase","publicUrl","chunkFolder","unblock","ref","createElement","found","blocker","isPseudoRef","loop1","_step2","row","hosts","_iterator2","host","regexp","err","setAttribute","cookies","join","id","addEventListener","remove","appendChild","bannerInlineStylesScale","useWidthOfThisContainerId","original","replaceWith","enabled","scalePercent","scalePercentVertical","hexToRgb","hex","exec","r","parseInt","b","calculateOverlay","alpha","_hexToRgb","useBannerButtons","_useBanner","individualPrivacyOpen","onSave","updateGroupChecked","updateCookieChecked","groups","essentialGroup","updateIndividualPrivacyOpen","activeAction","onClose","buttonClickedAll","buttonClickedEssentials","buttonClickedCloseIcon","buttonClickedCustom","acceptAll","forEach","acceptEssentials","isCloseIcon","items","_step$value","legalBasis","cookieId","acceptIndividual","openIndividualPrivacy","closeIcon","Portal","children","className","_ref$tag","tag","renderInContainer","_useState","el","classList","add","renderIn","removeChild","counter","BannerCloseIcon","idCloseIcon","idCloseIconPlaceholder","rect","_useBanner$headerDesi","headerDesign","fontSize","fontColor","texts","mobile","pageRequestUuid4","_useBanner$buttonClic","buttonClicked","width","_useBannerButtons","_getOtherOptionsFromW2","getOtherOptionsFromWindow","bannerI18n","close","closeWithoutSaving","tooltipText","usePlainCss","y","x","thickness","container","getElementById","h","title","onClick","position","always","clientWidth","BannerHeader","_","_ref$layout","type","dialogBorderRadius","_ref$design","borderWidth","borderColor","restDesign","_ref$headerDesign","inheritBg","bg","padding","antiAdBlocker","useType","useBorderWidth","style","banner","_banner$headerDesign","logo","logoRetina","showCloseIcon","decision","headline","individualTexts","headerTitlePrivacyPolicyHistory","useRetina","devicePixelRatio","useLogo","useHeadline","layout","design","customCss","map","p","background","borderRadius","zIndex","top","borderTop","borderLeft","borderRight","bannerMaxWidth","textAlign","inheritTextAlign","logoPosition","restHeaderDesign","individualLayout","useTextAlign","transition","maxWidth","inheritBannerMaxWidth","margin","display","justifyContent","alignItems","flexDirection","bannerHeaderInlineStyle","isRetina","logoMaxHeight","logoMargin","logoFitDim","logoRetinaFitDim","useFitDim","dimStyle","height","m","bannerHeaderInlineStyleLogo","fontInheritFamily","fontFamily","fontWeight","color","bannerHeaderInlineStyleHeadline","BannerGroupSectionTitle","_ref$group","headlineFontSize","headlineFontColor","headlineFontWeight","bannerGroupsInlineStyleTitle","descriptionFontColor","descriptionFontSize","marginTop","bannerGroupsInlineStyleDescription","bannerGroupsInlineStyleCheckbox","visible","checked","isDisabled","checkboxBg","checkboxBorderWidth","checkboxBorderColor","checkboxActiveBg","checkboxActiveBorderColor","checkboxActiveColor","useFontSize","useCheckboxBorderWidth","cursor","opacity","border","marginRight","verticalAlign","lineHeight","bannerGroupsInlineStyleLinkMore","isHover","linkTextDecoration","linkColor","linkHoverColor","textDecoration","BannerCookieProperty","label","isValueUrl","useValue","lineBreak","target","rel","dangerouslySetInnerHTML","__html","key","groupBorderWidth","groupBorderColor","paddingLeft","wordBreak","bannerGroupsInlineStyleCookieProperty","BannerCookie","_consent$groups","_ref$cookie","cookie","name","purpose","provider","providerPrivacyPolicy","ePrivacyUSA","noTechnicalDefinitions","technicalDefinitions","codeDynamics","_useState2","isRendered","setIsRendered","isEPrivacyUSA","consent","types","isEssentialGroup","isChecked","some","c","handleCheckbox","bannerGroupsInlineStyleCookie","marginBottom","icon","CheckOutlined","legalRequirement","legitimateInterest","yes","no","_ref2","duration","durationUnit","sessionDuration","technicalCookieDefinition","BannerGroup","_consent$groups$id","description","_useState3","_useState4","setIsHover","_useState5","_useState6","isOpen","setIsOpen","previewCheckboxActiveState","_banner$individualTex","showMore","hideMore","CheckboxIcon","sort","MinusOutlined","groupBg","groupBorderRadius","groupPadding","groupInheritBg","useGroupBorderWidth","bannerGroupsInlineStyleGroup","preventDefault","onMouseEnter","onMouseLeave","BannerGroups","groupSpacing","useGroups","clear","index","BannerDottedGroup","groupsFirstView","isPro","_ref$bodyDesign","bodyDesign","dottedGroupsInheritFontSize","dottedGroupsFontSize","paddingRight","whiteSpace","bannerInlineStyleBodyDottedGroupItem","dottedGroupsBulletColor","bannerInlineStyleBodyDottedGroupBullet","BannerDottedGroups","BannerHistorySelect","_history$","selectedId","setSelectedId","history","selectHistoryEntry","historyLabel","historySelectNone","descriptionInheritFontSize","uuid","borderBottom","disabled","onChange","tcf","isDoNotTrack","isUnblock","isForwarded","created","Date","toLocaleString","lang","bannerInlineStyleBodyTeaching","teachingsInheritTextAlign","teachingsTextAlign","teachingsInheritFontSize","teachingsFontSize","teachingsInheritFontColor","teachingsFontColor","bannerButtonsInlineStyleCommon","framed","order","fullWidth","marginLeft","hoverBg","hoverFontColor","hoverBorderColor","backgroundColor","overflow","outline","flex","bannerButtonsInlineStyleAcceptEssentials","isTwoButtonRowLayout","isTcf","acceptEssentialsFontSize","acceptEssentialsBg","acceptEssentialsTextAlign","acceptEssentialsBorderColor","acceptEssentialsPadding","acceptEssentialsBorderWidth","acceptEssentialsFontColor","acceptEssentialsFontWeight","acceptEssentialsHoverBg","acceptEssentialsHoverFontColor","acceptEssentialsHoverBorderColor","acceptAllFontWeight","acceptAllFontSize","acceptAllPadding","bannerButtonsInlineStyleAcceptIndividual","acceptIndividualFontSize","acceptIndividualBg","acceptIndividualTextAlign","acceptIndividualBorderColor","acceptIndividualPadding","acceptIndividualBorderWidth","acceptIndividualFontColor","acceptIndividualFontWeight","acceptIndividualHoverBg","acceptIndividualHoverFontColor","acceptIndividualHoverBorderColor","bannerButtonsInlineStyleSave","_ref$saveButton","saveButton","bannerButtonsInlineStyleAcceptAll","acceptAllBg","acceptAllTextAlign","acceptAllBorderColor","acceptAllBorderWidth","acceptAllFontColor","acceptAllHoverBg","acceptAllHoverFontColor","acceptAllHoverBorderColor","AsciiSpinner","_ref$ms","ms","_ref$chars","chars","i","setI","interval","setInterval","clearInterval","BannerButton","inlineStyle","busyOnClick","isBusy","setIsBusy","handleOnClick","_banner$decision","acceptAllOneRowLayout","interactionAttr","useStyleFn","navigator","userAgent","textOverflow","BannerButtons","_banner$texts","didGroupFirstChange","_banner$buttonClicked","handleAll","handleEssentials","handleIndividual","save","BannerBody","_document$getElementB","leftSideContainerRef","rightSideContainerRef","isAgeNotice","ageNotice","teachingsSeparatorActive","ageNoticeBanner","consentForwardingExternalHostsText","consentForwardingExternalHosts","tcfGlobalScope","leftSideId","rightSideId","contentId","consentForwardingExternalHostsFinalText","tcfGlobalScopeFinalText","model","isServiceSpecific","useDescription","Boolean","useEPrivacyUSA","expandGroupsServiceVariable","gvl","vendorConfigurations","vendorConfiguration","stackOrGroups","leftSide","usePadding","float","paddingTop","paddingBottom","bannerInlineStylesLeftSide","descriptionTextAlign","bannerInlineStyleBodyDescription","teachingsSeparatorWidth","teachingsSeparatorHeight","teachingsSeparatorColor","bannerInlineStyleBodyTeachingsSeparator","rightSide","_style","dialogMaxWidth","footerDesign","inheritDialogMaxWidth","bannerInlineStylesRightSide","bannerInlineStyleBodyContainer","bannerInlineStyleBody","BannerFooterLink","anchorRest","_ref$footerDesign","bannerFooterInlineStyleLink","BannerFooter","legal","_banner$footerDesign","poweredByLink","linkTarget","poweredLink","isConsentRecord","_getOtherOptionsFromW","affiliate","handleClose","targetAttributes","_useBannerLegalLinks","useBannerLegalLinks","linkPrivacyPolicy","linkImprint","links","link","innerHTML","labelBehind","bottom","bannerFooterInlineStyleContainer","bannerFooterInlineStyle","jsxJoin","linksRow","useBannerRenderedHeightsAsCssVars","cssId","cssElement","fn","Math","floor","ResizeObserver","ro","getBoundingClientRect","observe","disconnect","previousHeight","currentHeight","BannerContent","_banner$layout","currentRef","current","showHeader","hideHeader","showScrollBoxShadow","setShowScrollBoxShadow","updateShowScrollBoxShadow","clientHeight","scrollHeight","scrollTop","offsetHeight","hasScrollbar","scrolledToBottom","ceil","removeEventListener","platform","headerRef","footerRef","innerHeight","closeIconDistance","maxHeight","bannerContentInlineStyle","useDesignBorderWidth","bannerHeaderInlineStyleSeparator","bannerFooterInlineStyleSeparator","useResetableAnimation","animation","j","setJ","stateAnimation","setStateAnimation","_useState7","_useState8","stateAnimationReset","setStateAnimationReset","_useState9","_useState10","stateDuration","setStateDuration","_useState11","_useState12","stateDurationReset","setStateDurationReset","locationRestConsentGet","HREF_MATCHER","getAnimationRelatedState","isVisible","animationIn","animationOut","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","delay","AnimatedCss","_ref2$animateOnMount","animateOnMount","_ref2$isVisible","_ref2$animationIn","_ref2$animationOut","_ref2$animationInDela","_ref2$animationOutDel","_ref2$animationInDura","_ref2$animationOutDur","_ref2$className","_ref2$style","_useState2$","setAnimationRelatedState","classes","backwardStyle","animationDelay","animationDuration","pointerEvents","isHiddenDueLegal","_banner$legal","imprint","imprintHide","privacyPolicy","privacyPolicyHide","pageId","Banner","overlay","_banner$customCss","overlayBlur","css","animationVisible","skipOverlay","gotHiddenDueLegal","_useResetableAnimatio","_useResetableAnimatio2","stateAnimationIn","stateAnimationInDuration","_useResetableAnimatio3","_useResetableAnimatio4","stateAnimationOut","stateAnimationOutDuration","hiddenDueLegal","show","_document$body","dataset","rcbPreviousOverflow","useRestrictScrollWhenVisible","openBanner","openHistory","revokeConsent","setInvalidate","updateSize","dispatchResizeEvent","setHistory","originalConsent","setOriginalConsent","_fetch","_getOptionsFromWindow","_result","_result$","_groups2","_tcf2","getOptionsFromWindow","fetch","_groups","consentGroups","_tcf","useBannerActionType","handleType","successMessage","eventListener","parent","getAttribute","dialogPosition","bannerOverlayInlineStyleAlignment","dialogMargin","bannerPosition","boxShadowEnabled","boxShadowOffsetX","boxShadowOffsetY","boxShadowBlurRadius","boxShadowSpreadRadius","boxShadowColor","boxShadowColorAlpha","alignment","alignSelf","boxShadow","bannerContentInlineStyleInner","overlayBg","overlayBgAlpha","left","right","bannerOverlayInlineStyle","getDefaultDecision","respectLegitimateInterests","_groups$filter","_groups$filter2","essentialGroupObj","ids","_ref3","_ref4","preDecisionGatewaySupportsCookies","supportsCookies","preDecisionGatewayHasPageClass","isCrawler","promiseTimeout","promise","then","Error","setTimeout","locationRestConsentDynamicPredecisionGet","preDecisionGatewayDynamicRequest","_getOptionsFromWindow2","revisionHash","hasDynamicPreDecisions","revision","_document$documentEle","_yield$promiseTimeout","predecision","others","getUserDecision","viewPortWidth","viewPortHeight","_wp_http_referer","preDecisionGatewayIsHiddenDueLegal","preDecisionGatewayIsPreventPreDecision","other","userDecision","isPreventPreDecision","preDecisionGatewayIsCrawler","isAcceptAllForBots","w","doNotTrack","msDoNotTrack","external","msTrackingProtectionEnabled","preDecisionGatewayIsDoNotTrack","isRespectDoNotTrack","preDecisionGatewayUserConsent","WebsiteBanner","customizeValuesBanner","pageIdToPermalink","tcfMetadata","isRefreshSiteAfterConsent","tcfObject","active","tcfMeta","useTcf","_useWebsiteBannerOver","toggleOverlay","useDuration","trim","useWebsiteBannerOverlay","tcfFilterBy","updateTcfFilterBy","newFilter","setContextValue","state","opened","newConsent","groupId","cookieIds","splice","markAsDoNotTrack","appliedConsent","applyConsent","tcfString","refreshSiteAfterSave","reload","additionalChanges","contextValue","toggleWithActiveAction","cancelEvent","stopPropagation","actions","alert","useBannerActions","customizeIdsBanner","_gateways","gateway","applyCookies","ready","dispatchEvent","CustomEvent","detail","useBannerPreDecisionGateway","BannerContext","Provider","waitObject","_waitObject","getObject","delayNextCheck","maxTries","_args","amazonWidgetsSlotNum","consentSync","typeOrId","allCookies","flat","relevance","td","createRegxpPatternFromWildcardedName","already","relevantCookie","consentGiven","cookieOptIn","_len","args","Array","_key","_consentSync","foundCookie","consentAll","_ref$detail$cookie","presetId","codeOptIn","amznAssoWidgetHtmlId","slotNum","adContainer","_ref5","_ref6","et_pb_map_init","jQuery","matches","google","getSsrPoweredByLink","ensureBodyElement","consentApi","BannerDevHint","isLicensed","isDevLicense","noLicense","devLicense","useText","BannerTooltip","_ref$position","_ref$size","size","rounded","noAnimate","bounce","rest","PlainAntdIconAsSvg","svgString","extraSVGAttrs","fill","BannerContextFactory","_Context","Context","context","useBanner","BlockerContextFactory","useBlocker","usePageIdToPermalinkMapLink","mapBanner","mapBlocker","pageByIdUrl","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","privacyPolicyLabel","imprintExternalUrl","imprintIsExternalUrl","imprintLabel","uniqueId","getElementsByTagName","_element$parentNode","parentNode","locationRestConsentPost","applyConsentForwarding","endpoints","data","promises","endpoint","credentials","_applyConsent","_ref$markAsDoNotTrack","_ref$blocker","_yield$commonRequest","forward","cookie_revision","decision_in_cookie","rcbDisabledCookieComp","getSelectedCookies","selectedGroups","_iterateCookies","setCookiesViaManager","isManagerActive","consentEssentials","iterateCookies","callback","_group","_selectedGroups$_grou","_cookie","_isOptIn","getManagerDependingVariables","useVariableNameCamel","useVariableNamePascal","useGlobalObjectName","charAt","applyOptIn","_applyOptIn","allOptInCookies","_getSelectedCookies","_getManagerDependingV","isManagerOptOut","dataLayerPromise","isOptIn","isOnlyWhenNoConsentToManager","restrictOptInCodeForPreset","applyOptInOutManager","_applyOptInOutManager","dataLayer","event","realCookieBannerOptInEvents","realCookieBannerOptOutEvents","_x5","_x6","deleteCookiesLocally","pattern","RegExp","useStorage","localStorage","sessionStorage","_i2","_Object$keys2","itemName","setItem","tries","getItem","removeItem","locationRestConsentClearDelete","deleteCookiesServer","applyOptOut","_applyOptOut","foundOptOutToDelete","codeOptOut","codeOptOutDelete","_applyCookies","_yield$applyOptIn","t3","ATTRIBUTE_EXPRIVACY_NOTE_E