@duckduckgo/autoconsent 15.1.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.github/dependabot.yml +0 -3
  2. package/.github/workflows/release.yml +0 -4
  3. package/AGENTS.md +3 -3
  4. package/CHANGELOG.md +20 -0
  5. package/build.sh +0 -2
  6. package/dist/addon-firefox/background.bundle.js +8 -24
  7. package/dist/addon-firefox/compact-rules.json +1 -1
  8. package/dist/addon-firefox/content.bundle.js +176 -686
  9. package/dist/addon-firefox/manifest.json +1 -1
  10. package/dist/addon-firefox/popup.bundle.js +31 -27
  11. package/dist/addon-firefox/popup.html +21 -13
  12. package/dist/addon-firefox/rule-index.json +1 -1
  13. package/dist/addon-firefox/rules.json +1 -1
  14. package/dist/addon-mv3/background.bundle.js +8 -24
  15. package/dist/addon-mv3/compact-rules.json +1 -1
  16. package/dist/addon-mv3/content.bundle.js +176 -686
  17. package/dist/addon-mv3/manifest.json +1 -1
  18. package/dist/addon-mv3/popup.bundle.js +31 -27
  19. package/dist/addon-mv3/popup.html +21 -13
  20. package/dist/addon-mv3/rule-index.json +1 -1
  21. package/dist/addon-mv3/rules.json +1 -1
  22. package/dist/autoconsent.cjs.js +176 -685
  23. package/dist/autoconsent.esm.js +176 -685
  24. package/dist/autoconsent.playwright.js +177 -689
  25. package/dist/autoconsent.standalone.js +177 -690
  26. package/dist/types/cmps/base.d.ts +3 -3
  27. package/dist/types/heuristics.d.ts +2 -2
  28. package/dist/types/types.d.ts +10 -23
  29. package/dist/types/web.d.ts +0 -9
  30. package/docs/api.md +1 -8
  31. package/docs/puppeteer.md +1 -3
  32. package/docs/rule-syntax.md +0 -17
  33. package/eslint.config.mjs +1 -1
  34. package/lib/cmps/base.ts +5 -6
  35. package/lib/heuristics.ts +15 -15
  36. package/lib/types.ts +9 -21
  37. package/lib/utils.ts +2 -4
  38. package/lib/web.ts +3 -53
  39. package/package.json +4 -17
  40. package/playwright/content.ts +1 -2
  41. package/readme.md +3 -6
  42. package/rules/autoconsent/dreamlab-cmp.json +13 -0
  43. package/rules/build.ts +1 -24
  44. package/rules/compact-rules.json +1 -1
  45. package/rules/rule-index-builder.ts +2 -7
  46. package/rules/rule-index.json +1 -1
  47. package/rules/rules.json +1 -1
  48. package/standalone/content.ts +0 -2
  49. package/tests/dreamlab-cmp.spec.ts +3 -0
  50. package/tests/quantcast.spec.ts +0 -6
  51. package/tests-wtr/heuristics/get-actionable-popups.ts +13 -13
  52. package/tests-wtr/heuristics/heuristic-cmp.ts +32 -33
  53. package/tests-wtr/lifecycle/find-cmp.ts +5 -8
  54. package/tests-wtr/web/do-opt-in.test.ts +0 -1
  55. package/tests-wtr/web/do-opt-out.test.ts +0 -1
  56. package/tests-wtr/web/do-self-test.test.ts +0 -1
  57. package/tests-wtr/web/filter-cmps.test.ts +0 -1
  58. package/tests-wtr/web/receive-message-callback.test.ts +1 -2
  59. package/tests-wtr/web/update-state.test.ts +1 -3
  60. package/tsconfig.build.json +1 -1
  61. package/.github/workflows/update-filterlist.yml +0 -42
  62. package/dist/autoconsent.extra.cjs.js +0 -15717
  63. package/dist/autoconsent.extra.esm.js +0 -15649
  64. package/dist/types/cmps/consentomatic.d.ts +0 -34
  65. package/dist/types/consentomatic/index.d.ts +0 -2
  66. package/dist/types/consentomatic/tools.d.ts +0 -10
  67. package/dist/types/filterlist-engine.d.ts +0 -2
  68. package/dist/types/filterlist-utils.d.ts +0 -4
  69. package/dist/types/web-extra.d.ts +0 -11
  70. package/lib/cmps/consentomatic.ts +0 -97
  71. package/lib/consentomatic/index.ts +0 -252
  72. package/lib/consentomatic/tools.ts +0 -199
  73. package/lib/filterlist-engine.ts +0 -5
  74. package/lib/filterlist-utils.ts +0 -45
  75. package/lib/web-extra.ts +0 -116
  76. package/rules/consentomatic.json +0 -1
  77. package/rules/filterlist.txt +0 -18440
  78. package/rules/filterlists/overrides.txt +0 -4
  79. package/scripts/compile-filterlist.mjs +0 -63
  80. package/scripts/fetch-easylist.sh +0 -25
  81. package/scripts/rebuild-filterlist.mjs +0 -216
  82. package/tests/oil.spec.ts +0 -7
  83. package/tests/springer.spec.ts +0 -7
  84. package/tests/wordpressgdpr.spec.ts +0 -6
@@ -1,45 +0,0 @@
1
- import { FiltersEngine } from '@ghostery/adblocker';
2
- import { extractFeaturesFromDOM } from '@ghostery/adblocker-content';
3
- import { parse as tldtsParse } from 'tldts-experimental';
4
- import { getHidingStyle } from './utils';
5
-
6
- export function deserializeFilterList(serializedEngine: Uint8Array) {
7
- return FiltersEngine.deserialize(serializedEngine);
8
- }
9
-
10
- export function getCosmeticStylesheet(engine: FiltersEngine): string {
11
- try {
12
- const parsed = tldtsParse(location.href);
13
- const hostname = parsed.hostname || '';
14
- const domain = parsed.domain || '';
15
-
16
- const cosmetics = engine.getCosmeticsFilters({
17
- url: location.href,
18
- hostname,
19
- domain,
20
-
21
- // this extracts current ids, classes and attributes (depends on the current DOM state)
22
- ...extractFeaturesFromDOM([document.documentElement]),
23
-
24
- getBaseRules: true,
25
- getInjectionRules: false, // we don't inject scripts atm
26
- getExtendedRules: true,
27
- getRulesFromDOM: true,
28
- getRulesFromHostname: true,
29
-
30
- hidingStyle: getHidingStyle('opacity'),
31
- });
32
- return cosmetics.styles;
33
- } catch (e) {
34
- console.error('Error getting cosmetic rules', e);
35
- return '';
36
- }
37
- }
38
-
39
- export function getFilterlistSelectors(styles: string): string {
40
- if (styles) {
41
- const selectorsOnly = styles.replace(/\s*{[^\\}]*}\s*/g, ',').replace(/,$/, '');
42
- return selectorsOnly;
43
- }
44
- return '';
45
- }
package/lib/web-extra.ts DELETED
@@ -1,116 +0,0 @@
1
- import { deserializeFilterList, getCosmeticStylesheet, getFilterlistSelectors } from './filterlist-utils';
2
- import serializedEngine from './filterlist-engine';
3
- import AutoConsent from './web';
4
-
5
- export default class AutoConsentExtra extends AutoConsent {
6
- initializeFilterList() {
7
- super.initializeFilterList();
8
- try {
9
- if (serializedEngine && serializedEngine.length > 0) {
10
- this.filtersEngine = deserializeFilterList(serializedEngine);
11
- }
12
- } catch (e) {
13
- console.error('Error parsing filter list', e);
14
- }
15
- if (document.readyState === 'loading') {
16
- window.addEventListener('DOMContentLoaded', () => {
17
- this.applyCosmeticFilters();
18
- });
19
- } else {
20
- this.applyCosmeticFilters();
21
- }
22
- }
23
-
24
- undoCosmetics() {
25
- super.undoCosmetics();
26
- this.updateState({ cosmeticFiltersOn: false });
27
- this.config.logs.lifecycle && console.log('[undocosmetics]', this.cosmeticStyleSheet, location.href);
28
- this.domActions.removeStyleSheet(this.cosmeticStyleSheet);
29
- }
30
-
31
- filterListFallback() {
32
- if (!this.filtersEngine) {
33
- this.updateState({ lifecycle: 'nothingDetected' });
34
- return false;
35
- }
36
-
37
- const cosmeticStyles = getCosmeticStylesheet(this.filtersEngine);
38
-
39
- // this may be a false positive: sometimes filters hide unrelated elements that are not cookie pop-ups
40
- const cosmeticFiltersWorked = this.domActions.elementVisible(getFilterlistSelectors(cosmeticStyles), 'any');
41
-
42
- const logsConfig = this.config.logs;
43
-
44
- if (!cosmeticFiltersWorked) {
45
- logsConfig?.lifecycle && console.log("Cosmetic filters didn't work, removing them", location.href);
46
- this.undoCosmetics();
47
- this.updateState({ lifecycle: 'nothingDetected' });
48
- return false;
49
- } else {
50
- this.applyCosmeticFilters(cosmeticStyles); // do not wait for it to finish
51
- logsConfig?.lifecycle && console.log('Keeping cosmetic filters', location.href);
52
- this.updateState({ lifecycle: 'cosmeticFiltersDetected' });
53
- if (!this.state.filterListReported) {
54
- this.reportFilterlist();
55
- }
56
-
57
- this.sendContentMessage({
58
- type: 'optOutResult',
59
- cmp: 'filterList',
60
- result: true,
61
- scheduleSelfTest: false,
62
- url: location.href,
63
- });
64
- this.updateState({ lifecycle: 'done' });
65
- this.sendContentMessage({
66
- type: 'autoconsentDone',
67
- cmp: 'filterList',
68
- isCosmetic: true,
69
- url: location.href,
70
- duration: 0,
71
- totalClicks: this.state.clicks,
72
- });
73
- return true;
74
- }
75
- }
76
-
77
- /**
78
- * Apply cosmetic filters
79
- * @returns true if the filters were applied, false otherwise
80
- */
81
- async applyCosmeticFilters(styles?: string) {
82
- if (!this.filtersEngine) {
83
- return false;
84
- }
85
- const logsConfig = this.config.logs;
86
- if (!styles) {
87
- styles = getCosmeticStylesheet(this.filtersEngine);
88
- }
89
-
90
- setTimeout(() => {
91
- if (this.state.cosmeticFiltersOn && !this.state.filterListReported) {
92
- // if the cosmetic filters are actually working, report the hidden popup to the background.
93
- // This may still be overridden later if an autoconsent rule matches.
94
- // this may be a false positive: sometimes filters hide unrelated elements that are not cookie pop-ups
95
- const cosmeticFiltersWorked = this.domActions.elementVisible(getFilterlistSelectors(styles), 'any');
96
- if (cosmeticFiltersWorked) {
97
- logsConfig?.lifecycle && console.log('Prehide cosmetic filters matched', location.href);
98
- this.reportFilterlist();
99
- } else {
100
- logsConfig?.lifecycle && console.log("Prehide cosmetic filters didn't match", location.href);
101
- }
102
- }
103
- }, 2000);
104
-
105
- this.updateState({ cosmeticFiltersOn: true });
106
- try {
107
- this.cosmeticStyleSheet = await this.domActions.createOrUpdateStyleSheet(styles, this.cosmeticStyleSheet);
108
- logsConfig?.lifecycle && console.log('[cosmetics]', this.cosmeticStyleSheet, location.href);
109
- document.adoptedStyleSheets.push(this.cosmeticStyleSheet);
110
- } catch (e) {
111
- this.config.logs && console.error('Error applying cosmetic filters', e);
112
- return false;
113
- }
114
- return true;
115
- }
116
- }
@@ -1 +0,0 @@
1
- {"consentomatic":{"oil":{"detectors":[{"presentMatcher":{"target":{"selector":".as-oil-content-overlay"},"type":"css"},"showingMatcher":{"target":{"selector":".as-oil-content-overlay"},"type":"css"}}],"methods":[{"action":{"actions":[{"target":{"selector":".as-js-advanced-settings"},"type":"click"},{"retries":"10","target":{"selector":".as-oil-cpc__purpose-container"},"type":"waitcss","waitTime":"250"}],"type":"list"},"name":"OPEN_OPTIONS"},{"action":{"actions":[{"consents":[{"matcher":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Information storage and access","Opbevaring af og adgang til oplysninger på din enhed"]},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Information storage and access","Opbevaring af og adgang til oplysninger på din enhed"]},"target":{"selector":".as-oil-cpc__switch"},"type":"click"},"type":"D"},{"matcher":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Personlige annoncer","Personalisation"]},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Personlige annoncer","Personalisation"]},"target":{"selector":".as-oil-cpc__switch"},"type":"click"},"type":"E"},{"matcher":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Annoncevalg, levering og rapportering","Ad selection, delivery, reporting"]},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Annoncevalg, levering og rapportering","Ad selection, delivery, reporting"]},"target":{"selector":".as-oil-cpc__switch"},"type":"click"},"type":"F"},{"matcher":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Personalisering af indhold","Content selection, delivery, reporting"]},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":["Personalisering af indhold","Content selection, delivery, reporting"]},"target":{"selector":".as-oil-cpc__switch"},"type":"click"},"type":"E"},{"matcher":{"parent":{"childFilter":{"target":{"selector":".as-oil-cpc__purpose-header","textFilter":["Måling","Measurement"]}},"selector":".as-oil-cpc__purpose-container"},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"childFilter":{"target":{"selector":".as-oil-cpc__purpose-header","textFilter":["Måling","Measurement"]}},"selector":".as-oil-cpc__purpose-container"},"target":{"selector":".as-oil-cpc__switch"},"type":"click"},"type":"B"},{"matcher":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":"Google"},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".as-oil-cpc__purpose-container","textFilter":"Google"},"target":{"selector":".as-oil-cpc__switch"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"name":"DO_CONSENT"},{"action":{"target":{"selector":".as-oil__btn-optin"},"type":"click"},"name":"SAVE_CONSENT"},{"action":{"target":{"selector":"div.as-oil"},"type":"hide"},"name":"HIDE_CMP"}]},"optanon":{"detectors":[{"presentMatcher":{"target":{"selector":"#optanon-menu, .optanon-alert-box-wrapper"},"type":"css"},"showingMatcher":{"target":{"displayFilter":true,"selector":".optanon-alert-box-wrapper"},"type":"css"}}],"methods":[{"action":{"actions":[{"target":{"selector":".optanon-alert-box-wrapper .optanon-toggle-display, a[onclick*='OneTrust.ToggleInfoDisplay()'], a[onclick*='Optanon.ToggleInfoDisplay()']"},"type":"click"}],"type":"list"},"name":"OPEN_OPTIONS"},{"action":{"actions":[{"target":{"selector":".preference-menu-item #Your-privacy"},"type":"click"},{"target":{"selector":"#optanon-vendor-consent-text"},"type":"click"},{"action":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"X"}],"type":"consent"},"target":{"selector":"#optanon-vendor-consent-list .vendor-item"},"type":"foreach"},{"target":{"selector":".vendor-consent-back-link"},"type":"click"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-performance"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-performance"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"B"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-functional"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-functional"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"E"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-advertising"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-advertising"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-social"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-social"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"B"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Social Media Cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Social Media Cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"B"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Personalisation"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Personalisation"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"E"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Site monitoring cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Site monitoring cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"B"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Third party privacy-enhanced content"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Third party privacy-enhanced content"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"X"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Performance & Advertising Cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Performance & Advertising Cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Information storage and access"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Information storage and access"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"D"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Ad selection, delivery, reporting"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Ad selection, delivery, reporting"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Content selection, delivery, reporting"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Content selection, delivery, reporting"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"E"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Measurement"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Measurement"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"B"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Recommended Cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Recommended Cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"X"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Unclassified Cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Unclassified Cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"X"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Analytical Cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Analytical Cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"B"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Marketing Cookies"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Marketing Cookies"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Personalization"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Personalization"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"E"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Ad Selection, Delivery & Reporting"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Ad Selection, Delivery & Reporting"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"type":"ifcss"},{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Content Selection, Delivery & Reporting"},"trueAction":{"actions":[{"parent":{"selector":"#optanon-menu, .optanon-menu"},"target":{"selector":".menu-item-necessary","textFilter":"Content Selection, Delivery & Reporting"},"type":"click"},{"consents":[{"matcher":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":"#optanon-popup-body-right"},"target":{"selector":".optanon-status label"},"type":"click"},"type":"E"}],"type":"consent"}],"type":"list"},"type":"ifcss"}],"type":"list"},"name":"DO_CONSENT"},{"action":{"parent":{"selector":".optanon-save-settings-button"},"target":{"selector":".optanon-white-button-middle"},"type":"click"},"name":"SAVE_CONSENT"},{"action":{"actions":[{"target":{"selector":"#optanon-popup-wrapper"},"type":"hide"},{"target":{"selector":"#optanon-popup-bg"},"type":"hide"},{"target":{"selector":".optanon-alert-box-wrapper"},"type":"hide"}],"type":"list"},"name":"HIDE_CMP"}]},"quantcast2":{"detectors":[{"presentMatcher":{"target":{"selector":"[data-tracking-opt-in-overlay]"},"type":"css"},"showingMatcher":{"target":{"selector":"[data-tracking-opt-in-overlay] [data-tracking-opt-in-learn-more]"},"type":"css"}}],"methods":[{"action":{"target":{"selector":"[data-tracking-opt-in-overlay] [data-tracking-opt-in-learn-more]"},"type":"click"},"name":"OPEN_OPTIONS"},{"action":{"actions":[{"type":"wait","waitTime":500},{"action":{"actions":[{"target":{"selector":"div","textFilter":["Information storage and access"]},"trueAction":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"D"}],"type":"consent"},"type":"ifcss"},{"target":{"selector":"div","textFilter":["Personalization"]},"trueAction":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"F"}],"type":"consent"},"type":"ifcss"},{"target":{"selector":"div","textFilter":["Ad selection, delivery, reporting"]},"trueAction":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"F"}],"type":"consent"},"type":"ifcss"},{"target":{"selector":"div","textFilter":["Content selection, delivery, reporting"]},"trueAction":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"E"}],"type":"consent"},"type":"ifcss"},{"target":{"selector":"div","textFilter":["Measurement"]},"trueAction":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"B"}],"type":"consent"},"type":"ifcss"},{"target":{"selector":"div","textFilter":["Other Partners"]},"trueAction":{"consents":[{"matcher":{"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"target":{"selector":"label"},"type":"click"},"type":"X"}],"type":"consent"},"type":"ifcss"}],"type":"list"},"parent":{"childFilter":{"target":{"selector":"input"}},"selector":"[data-tracking-opt-in-overlay] > div > div"},"target":{"childFilter":{"target":{"selector":"input"}},"selector":":scope > div"},"type":"foreach"}],"type":"list"},"name":"DO_CONSENT"},{"action":{"target":{"selector":"[data-tracking-opt-in-overlay] [data-tracking-opt-in-save]"},"type":"click"},"name":"SAVE_CONSENT"}]},"springer":{"detectors":[{"presentMatcher":{"parent":null,"target":{"selector":".cmp-app_gdpr"},"type":"css"},"showingMatcher":{"parent":null,"target":{"displayFilter":true,"selector":".cmp-popup_popup"},"type":"css"}}],"methods":[{"action":{"actions":[{"target":{"selector":".cmp-intro_rejectAll"},"type":"click"},{"type":"wait","waitTime":250},{"target":{"selector":".cmp-purposes_purposeItem:not(.cmp-purposes_selectedPurpose)"},"type":"click"}],"type":"list"},"name":"OPEN_OPTIONS"},{"action":{"consents":[{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Przechowywanie informacji na urządzeniu lub dostęp do nich","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Przechowywanie informacji na urządzeniu lub dostęp do nich","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"D"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Wybór podstawowych reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Wybór podstawowych reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"F"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Tworzenie profilu spersonalizowanych reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Tworzenie profilu spersonalizowanych reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"F"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Wybór spersonalizowanych reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Wybór spersonalizowanych reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"E"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Tworzenie profilu spersonalizowanych treści","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Tworzenie profilu spersonalizowanych treści","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"E"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Wybór spersonalizowanych treści","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Wybór spersonalizowanych treści","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"B"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Pomiar wydajności reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Pomiar wydajności reklam","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"B"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Pomiar wydajności treści","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Pomiar wydajności treści","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"B"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Stosowanie badań rynkowych w celu generowania opinii odbiorców","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Stosowanie badań rynkowych w celu generowania opinii odbiorców","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"X"},{"matcher":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Opracowywanie i ulepszanie produktów","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch .cmp-switch_isSelected"},"type":"css"},"toggleAction":{"parent":{"selector":".cmp-purposes_detailHeader","textFilter":"Opracowywanie i ulepszanie produktów","childFilter":{"target":{"selector":".cmp-switch_switch"}}},"target":{"selector":".cmp-switch_switch:not(.cmp-switch_isSelected)"},"type":"click"},"type":"X"}],"type":"consent"},"name":"DO_CONSENT"},{"action":{"target":{"selector":".cmp-details_save"},"type":"click"},"name":"SAVE_CONSENT"}]},"wordpressgdpr":{"detectors":[{"presentMatcher":{"parent":null,"target":{"selector":".wpgdprc-consent-bar"},"type":"css"},"showingMatcher":{"parent":null,"target":{"displayFilter":true,"selector":".wpgdprc-consent-bar"},"type":"css"}}],"methods":[{"action":{"parent":null,"target":{"selector":".wpgdprc-consent-bar .wpgdprc-consent-bar__settings","textFilter":null},"type":"click"},"name":"OPEN_OPTIONS"},{"action":{"actions":[{"target":{"selector":".wpgdprc-consent-modal .wpgdprc-button","textFilter":"Eyeota"},"type":"click"},{"consents":[{"description":"Eyeota Cookies","matcher":{"parent":{"selector":".wpgdprc-consent-modal__description","textFilter":"Eyeota"},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".wpgdprc-consent-modal__description","textFilter":"Eyeota"},"target":{"selector":"label"},"type":"click"},"type":"X"}],"type":"consent"},{"target":{"selector":".wpgdprc-consent-modal .wpgdprc-button","textFilter":"Advertising"},"type":"click"},{"consents":[{"description":"Advertising Cookies","matcher":{"parent":{"selector":".wpgdprc-consent-modal__description","textFilter":"Advertising"},"target":{"selector":"input"},"type":"checkbox"},"toggleAction":{"parent":{"selector":".wpgdprc-consent-modal__description","textFilter":"Advertising"},"target":{"selector":"label"},"type":"click"},"type":"F"}],"type":"consent"}],"type":"list"},"name":"DO_CONSENT"},{"action":{"parent":null,"target":{"selector":".wpgdprc-button","textFilter":"Save my settings"},"type":"click"},"name":"SAVE_CONSENT"}]}}}