@osano/osano-cmp-react-native 0.4.0 → 0.6.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 (268) hide show
  1. package/android/gradle.properties +3 -3
  2. package/lib/commonjs/ConsentManager.js +6 -6
  3. package/lib/commonjs/ConsentManager.js.map +1 -1
  4. package/lib/commonjs/locale/af.json +26 -3
  5. package/lib/commonjs/locale/ar.json +29 -6
  6. package/lib/commonjs/locale/bg.json +32 -9
  7. package/lib/commonjs/locale/ca.json +26 -3
  8. package/lib/commonjs/locale/cs.json +26 -3
  9. package/lib/commonjs/locale/da.json +26 -3
  10. package/lib/commonjs/locale/de-at.json +26 -3
  11. package/lib/commonjs/locale/de.json +26 -3
  12. package/lib/commonjs/locale/el.json +30 -7
  13. package/lib/commonjs/locale/en-au.json +26 -3
  14. package/lib/commonjs/locale/en-ca.json +26 -3
  15. package/lib/commonjs/locale/en-gb.json +26 -3
  16. package/lib/commonjs/locale/en.json +26 -3
  17. package/lib/commonjs/locale/es-mx.json +26 -3
  18. package/lib/commonjs/locale/es.json +26 -3
  19. package/lib/commonjs/locale/et.json +26 -3
  20. package/lib/commonjs/locale/fa.json +27 -4
  21. package/lib/commonjs/locale/fi.json +26 -3
  22. package/lib/commonjs/locale/fr-ca.json +26 -3
  23. package/lib/commonjs/locale/fr.json +26 -3
  24. package/lib/commonjs/locale/gd.json +26 -3
  25. package/lib/commonjs/locale/he.json +27 -4
  26. package/lib/commonjs/locale/hi.json +26 -3
  27. package/lib/commonjs/locale/hr.json +26 -3
  28. package/lib/commonjs/locale/hu.json +27 -4
  29. package/lib/commonjs/locale/hy.json +26 -3
  30. package/lib/commonjs/locale/id.json +26 -3
  31. package/lib/commonjs/locale/is.json +26 -3
  32. package/lib/commonjs/locale/it.json +26 -3
  33. package/lib/commonjs/locale/ja.json +30 -7
  34. package/lib/commonjs/locale/kk.json +27 -4
  35. package/lib/commonjs/locale/ko.json +26 -3
  36. package/lib/commonjs/locale/lt.json +27 -4
  37. package/lib/commonjs/locale/lv.json +26 -3
  38. package/lib/commonjs/locale/mi.json +26 -3
  39. package/lib/commonjs/locale/ms.json +26 -3
  40. package/lib/commonjs/locale/nb.json +26 -3
  41. package/lib/commonjs/locale/nl-be.json +26 -3
  42. package/lib/commonjs/locale/nl.json +26 -3
  43. package/lib/commonjs/locale/nn.json +26 -3
  44. package/lib/commonjs/locale/no.json +26 -3
  45. package/lib/commonjs/locale/pl.json +26 -3
  46. package/lib/commonjs/locale/pt-br.json +26 -3
  47. package/lib/commonjs/locale/pt.json +26 -3
  48. package/lib/commonjs/locale/ro.json +26 -3
  49. package/lib/commonjs/locale/ru.json +27 -4
  50. package/lib/commonjs/locale/sk.json +26 -3
  51. package/lib/commonjs/locale/sl.json +26 -3
  52. package/lib/commonjs/locale/sq.json +26 -3
  53. package/lib/commonjs/locale/sr.json +26 -3
  54. package/lib/commonjs/locale/sv.json +27 -4
  55. package/lib/commonjs/locale/th.json +26 -3
  56. package/lib/commonjs/locale/tl.json +26 -3
  57. package/lib/commonjs/locale/tr.json +27 -4
  58. package/lib/commonjs/locale/uk.json +29 -6
  59. package/lib/commonjs/locale/vi.json +26 -3
  60. package/lib/commonjs/locale/zh-hk.json +26 -3
  61. package/lib/commonjs/locale/zh-tw.json +26 -3
  62. package/lib/commonjs/locale/zh.json +28 -5
  63. package/lib/commonjs/locale/zu.json +26 -3
  64. package/lib/commonjs/services/consent.js +2 -1
  65. package/lib/commonjs/services/consent.js.map +1 -1
  66. package/lib/commonjs/utils/API.js +3 -2
  67. package/lib/commonjs/utils/API.js.map +1 -1
  68. package/lib/commonjs/views/Dialog/Message.js +7 -1
  69. package/lib/commonjs/views/Dialog/Message.js.map +1 -1
  70. package/lib/module/ConsentManager.js +6 -6
  71. package/lib/module/ConsentManager.js.map +1 -1
  72. package/lib/module/locale/af.json +26 -3
  73. package/lib/module/locale/ar.json +29 -6
  74. package/lib/module/locale/bg.json +32 -9
  75. package/lib/module/locale/ca.json +26 -3
  76. package/lib/module/locale/cs.json +26 -3
  77. package/lib/module/locale/da.json +26 -3
  78. package/lib/module/locale/de-at.json +26 -3
  79. package/lib/module/locale/de.json +26 -3
  80. package/lib/module/locale/el.json +30 -7
  81. package/lib/module/locale/en-au.json +26 -3
  82. package/lib/module/locale/en-ca.json +26 -3
  83. package/lib/module/locale/en-gb.json +26 -3
  84. package/lib/module/locale/en.json +26 -3
  85. package/lib/module/locale/es-mx.json +26 -3
  86. package/lib/module/locale/es.json +26 -3
  87. package/lib/module/locale/et.json +26 -3
  88. package/lib/module/locale/fa.json +27 -4
  89. package/lib/module/locale/fi.json +26 -3
  90. package/lib/module/locale/fr-ca.json +26 -3
  91. package/lib/module/locale/fr.json +26 -3
  92. package/lib/module/locale/gd.json +26 -3
  93. package/lib/module/locale/he.json +27 -4
  94. package/lib/module/locale/hi.json +26 -3
  95. package/lib/module/locale/hr.json +26 -3
  96. package/lib/module/locale/hu.json +27 -4
  97. package/lib/module/locale/hy.json +26 -3
  98. package/lib/module/locale/id.json +26 -3
  99. package/lib/module/locale/is.json +26 -3
  100. package/lib/module/locale/it.json +26 -3
  101. package/lib/module/locale/ja.json +30 -7
  102. package/lib/module/locale/kk.json +27 -4
  103. package/lib/module/locale/ko.json +26 -3
  104. package/lib/module/locale/lt.json +27 -4
  105. package/lib/module/locale/lv.json +26 -3
  106. package/lib/module/locale/mi.json +26 -3
  107. package/lib/module/locale/ms.json +26 -3
  108. package/lib/module/locale/nb.json +26 -3
  109. package/lib/module/locale/nl-be.json +26 -3
  110. package/lib/module/locale/nl.json +26 -3
  111. package/lib/module/locale/nn.json +26 -3
  112. package/lib/module/locale/no.json +26 -3
  113. package/lib/module/locale/pl.json +26 -3
  114. package/lib/module/locale/pt-br.json +26 -3
  115. package/lib/module/locale/pt.json +26 -3
  116. package/lib/module/locale/ro.json +26 -3
  117. package/lib/module/locale/ru.json +27 -4
  118. package/lib/module/locale/sk.json +26 -3
  119. package/lib/module/locale/sl.json +26 -3
  120. package/lib/module/locale/sq.json +26 -3
  121. package/lib/module/locale/sr.json +26 -3
  122. package/lib/module/locale/sv.json +27 -4
  123. package/lib/module/locale/th.json +26 -3
  124. package/lib/module/locale/tl.json +26 -3
  125. package/lib/module/locale/tr.json +27 -4
  126. package/lib/module/locale/uk.json +29 -6
  127. package/lib/module/locale/vi.json +26 -3
  128. package/lib/module/locale/zh-hk.json +26 -3
  129. package/lib/module/locale/zh-tw.json +26 -3
  130. package/lib/module/locale/zh.json +28 -5
  131. package/lib/module/locale/zu.json +26 -3
  132. package/lib/module/services/consent.js +2 -1
  133. package/lib/module/services/consent.js.map +1 -1
  134. package/lib/module/utils/API.js +3 -2
  135. package/lib/module/utils/API.js.map +1 -1
  136. package/lib/module/views/Dialog/Message.js +7 -1
  137. package/lib/module/views/Dialog/Message.js.map +1 -1
  138. package/lib/typescript/documentation/docusaurus.config.d.ts +1 -1
  139. package/lib/typescript/lib/commonjs/ConsentManager.d.ts +1 -0
  140. package/lib/typescript/lib/commonjs/ConsentManager.d.ts.map +1 -1
  141. package/lib/typescript/lib/commonjs/iab/usp/api.d.ts.map +1 -1
  142. package/lib/typescript/lib/commonjs/services/consent.d.ts.map +1 -1
  143. package/lib/typescript/lib/commonjs/utils/API.d.ts.map +1 -1
  144. package/lib/typescript/lib/commonjs/utils/Color.d.ts +1 -1
  145. package/lib/typescript/lib/commonjs/utils/Color.d.ts.map +1 -1
  146. package/lib/typescript/lib/commonjs/utils/Translator.d.ts.map +1 -1
  147. package/lib/typescript/lib/commonjs/views/Dialog/Message.d.ts.map +1 -1
  148. package/lib/typescript/lib/module/ConsentManager.d.ts +1 -0
  149. package/lib/typescript/lib/module/ConsentManager.d.ts.map +1 -1
  150. package/lib/typescript/lib/module/iab/usp/api.d.ts.map +1 -1
  151. package/lib/typescript/lib/module/iab/usp/consent.d.ts +2 -2
  152. package/lib/typescript/lib/module/iab/usp/v1/index.d.ts.map +1 -1
  153. package/lib/typescript/lib/module/services/consent.d.ts.map +1 -1
  154. package/lib/typescript/lib/module/utils/API.d.ts.map +1 -1
  155. package/lib/typescript/lib/module/utils/Translator.d.ts.map +1 -1
  156. package/lib/typescript/lib/module/views/Dialog/Message.d.ts.map +1 -1
  157. package/lib/typescript/lib/module/views/Dialog/PreferenceManagementDeepLinks.d.ts +1 -1
  158. package/lib/typescript/src/ConsentManager.d.ts +1 -1
  159. package/lib/typescript/src/ConsentManager.d.ts.map +1 -1
  160. package/lib/typescript/src/commands.d.ts.map +1 -1
  161. package/lib/typescript/src/components/Button.d.ts +1 -1
  162. package/lib/typescript/src/components/Button.d.ts.map +1 -1
  163. package/lib/typescript/src/iab/actions.d.ts.map +1 -1
  164. package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -1
  165. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts +2 -2
  166. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +1 -1
  167. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts +1 -1
  168. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +1 -1
  169. package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +1 -1
  170. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +1 -1
  171. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +1 -1
  172. package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +1 -1
  173. package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +1 -1
  174. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts +2 -2
  175. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +1 -1
  176. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +1 -1
  177. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +1 -1
  178. package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +1 -1
  179. package/lib/typescript/src/iab/index.d.ts.map +1 -1
  180. package/lib/typescript/src/iab/reducer.d.ts.map +1 -1
  181. package/lib/typescript/src/iab/tcf/actions.d.ts.map +1 -1
  182. package/lib/typescript/src/iab/tcf/consent.d.ts.map +1 -1
  183. package/lib/typescript/src/iab/tcf/constants.d.ts.map +1 -1
  184. package/lib/typescript/src/iab/tcf/helpers.d.ts.map +1 -1
  185. package/lib/typescript/src/iab/tcf/reducer.d.ts +12 -12
  186. package/lib/typescript/src/iab/tcf/reducer.d.ts.map +1 -1
  187. package/lib/typescript/src/iab/tcf/selectors.d.ts +2 -2
  188. package/lib/typescript/src/iab/tcf/selectors.d.ts.map +1 -1
  189. package/lib/typescript/src/iab/tcf/v2.0/formatters.d.ts.map +1 -1
  190. package/lib/typescript/src/iab/tcf/v2.0/shared-constants.d.ts +21 -21
  191. package/lib/typescript/src/iab/tcf/v2.0/shared-constants.d.ts.map +1 -1
  192. package/lib/typescript/src/iab/tcf/v2.0/tcfcav1-constants.d.ts +22 -22
  193. package/lib/typescript/src/iab/tcf/v2.0/tcfcav1-constants.d.ts.map +1 -1
  194. package/lib/typescript/src/iab/tcf/v2.0/tcfeuv2-constants.d.ts +22 -22
  195. package/lib/typescript/src/iab/tcf/v2.0/tcfeuv2-constants.d.ts.map +1 -1
  196. package/lib/typescript/src/iab/usp/api.d.ts.map +1 -1
  197. package/lib/typescript/src/iab/usp/consent.d.ts +2 -2
  198. package/lib/typescript/src/iab/usp/v1/index.d.ts.map +1 -1
  199. package/lib/typescript/src/services/consent.d.ts.map +1 -1
  200. package/lib/typescript/src/utils/API.d.ts.map +1 -1
  201. package/lib/typescript/src/views/Dialog/Message.d.ts.map +1 -1
  202. package/lib/typescript/src/views/Dialog/index.d.ts.map +1 -1
  203. package/package.json +14 -10
  204. package/src/ConsentManager.ts +14 -5
  205. package/src/locale/af.json +26 -3
  206. package/src/locale/ar.json +29 -6
  207. package/src/locale/bg.json +32 -9
  208. package/src/locale/ca.json +26 -3
  209. package/src/locale/cs.json +26 -3
  210. package/src/locale/da.json +26 -3
  211. package/src/locale/de-at.json +26 -3
  212. package/src/locale/de.json +26 -3
  213. package/src/locale/el.json +30 -7
  214. package/src/locale/en-au.json +26 -3
  215. package/src/locale/en-ca.json +26 -3
  216. package/src/locale/en-gb.json +26 -3
  217. package/src/locale/en.json +26 -3
  218. package/src/locale/es-mx.json +26 -3
  219. package/src/locale/es.json +26 -3
  220. package/src/locale/et.json +26 -3
  221. package/src/locale/fa.json +27 -4
  222. package/src/locale/fi.json +26 -3
  223. package/src/locale/fr-ca.json +26 -3
  224. package/src/locale/fr.json +26 -3
  225. package/src/locale/gd.json +26 -3
  226. package/src/locale/he.json +27 -4
  227. package/src/locale/hi.json +26 -3
  228. package/src/locale/hr.json +26 -3
  229. package/src/locale/hu.json +27 -4
  230. package/src/locale/hy.json +26 -3
  231. package/src/locale/id.json +26 -3
  232. package/src/locale/is.json +26 -3
  233. package/src/locale/it.json +26 -3
  234. package/src/locale/ja.json +30 -7
  235. package/src/locale/kk.json +27 -4
  236. package/src/locale/ko.json +26 -3
  237. package/src/locale/lt.json +27 -4
  238. package/src/locale/lv.json +26 -3
  239. package/src/locale/mi.json +26 -3
  240. package/src/locale/ms.json +26 -3
  241. package/src/locale/nb.json +26 -3
  242. package/src/locale/nl-be.json +26 -3
  243. package/src/locale/nl.json +26 -3
  244. package/src/locale/nn.json +26 -3
  245. package/src/locale/no.json +26 -3
  246. package/src/locale/pl.json +26 -3
  247. package/src/locale/pt-br.json +26 -3
  248. package/src/locale/pt.json +26 -3
  249. package/src/locale/ro.json +26 -3
  250. package/src/locale/ru.json +27 -4
  251. package/src/locale/sk.json +26 -3
  252. package/src/locale/sl.json +26 -3
  253. package/src/locale/sq.json +26 -3
  254. package/src/locale/sr.json +26 -3
  255. package/src/locale/sv.json +27 -4
  256. package/src/locale/th.json +26 -3
  257. package/src/locale/tl.json +26 -3
  258. package/src/locale/tr.json +27 -4
  259. package/src/locale/uk.json +29 -6
  260. package/src/locale/vi.json +26 -3
  261. package/src/locale/zh-hk.json +26 -3
  262. package/src/locale/zh-tw.json +26 -3
  263. package/src/locale/zh.json +28 -5
  264. package/src/locale/zu.json +26 -3
  265. package/src/services/consent.ts +1 -0
  266. package/src/types/consent-config.d.ts +1 -0
  267. package/src/utils/API.ts +4 -3
  268. package/src/views/Dialog/Message.tsx +17 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tcfcav1-constants.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/tcf/v2.0/tcfcav1-constants.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiF1C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvB,CAAC"}
1
+ {"version":3,"file":"tcfcav1-constants.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/tcf/v2.0/tcfcav1-constants.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiF1C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAzD6B,CAAC;oBACxC,CAAC;;;;;;;;;;sBAiE4mC,CAAC;;;;;;;;;sBAAk9B,CAAC;;;;sBAAqN,CAAC;;;;sBAAgM,CAAC;;;;;;;;;;;;;CADr+E,CAAC"}
@@ -30,53 +30,53 @@ export declare const initOptions: {
30
30
  fallbackGvlVersion: number;
31
31
  defaultTimestamp: number;
32
32
  selectors: {
33
- doesGDPRApply: (config: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType | undefined) => boolean;
33
+ doesGDPRApply: (config: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType) => boolean;
34
34
  getStore: (config: import("../../../types/consent-config").Config) => {} | (import("../types").TcfState | undefined);
35
35
  isIABEnabled: (config: import("../../../types/consent-config").Config) => boolean;
36
36
  getConfigData: (config: import("../../../types/consent-config").Config, apiVersion?: string) => {} | undefined;
37
- getStateData: <V extends import("../types").TcfVersionType>(state: Partial<import("../../types").IabState>, apiVersion?: V | undefined) => import("../types").TcfVersion<V>;
37
+ getStateData: <V extends import("../types").TcfVersionType>(state: Partial<import("../../types").IabState>, apiVersion?: V) => import("../types").TcfVersion<V>;
38
38
  getCurrentScreen: (state: import("../../../types/store").OsanoState) => number;
39
39
  getConsentString: (state: import("../../types").IabState, { gppSection, tcString }?: {
40
- gppSection?: string | undefined;
41
- tcString?: string | undefined;
40
+ gppSection?: string;
41
+ tcString?: string;
42
42
  }) => string;
43
43
  getPublisherLegitimateInterests: () => {};
44
44
  getPurposeIds: () => number[];
45
- getPurposeOptOuts: (state: import("../../types").IabState, apiVersion?: import("../types").TcfVersionType | undefined) => Record<string, boolean>;
46
- getPurposeConsents: (state: import("../../../types/store").OsanoState & import("../../types").IabState, apiVersion?: import("../types").TcfVersionType | undefined) => Record<string, boolean>;
47
- getPurposesLITransparency: (state: import("../../../types/store").OsanoState & import("../../types").IabState, apiVersion?: import("../types").TcfVersionType | undefined) => Record<string, boolean>;
48
- getSpecialFeatureOptIns: (state: import("../../types").IabState, apiVersion?: import("../types").TcfVersionType | undefined) => Record<string, boolean>;
49
- getVendors: (config: import("../../../types/consent-config").Config, apiVersion?: string | undefined) => Record<number, import("../../types").GvlVendor_v2>;
45
+ getPurposeOptOuts: (state: import("../../types").IabState, apiVersion?: import("../types").TcfVersionType) => Record<string, boolean>;
46
+ getPurposeConsents: (state: import("../../../types/store").OsanoState & import("../../types").IabState, apiVersion?: import("../types").TcfVersionType) => Record<string, boolean>;
47
+ getPurposesLITransparency: (state: import("../../../types/store").OsanoState & import("../../types").IabState, apiVersion?: import("../types").TcfVersionType) => Record<string, boolean>;
48
+ getSpecialFeatureOptIns: (state: import("../../types").IabState, apiVersion?: import("../types").TcfVersionType) => Record<string, boolean>;
49
+ getVendors: (config: import("../../../types/consent-config").Config, apiVersion?: string) => import("../types").Tcf_v2["vendors"];
50
50
  getVendorData: (state: import("../../../types/consent-config").Config, { apiVersion, vendorId }: {
51
- apiVersion?: string | undefined;
51
+ apiVersion?: string;
52
52
  vendorId: string;
53
53
  }) => {};
54
- getVendorIds: (config: import("../../../types/consent-config").Config, apiVersion?: string | undefined) => number[];
55
- getVendorOptOuts: (state: Partial<import("../../types").IabState>, apiVersion?: import("../types").TcfVersionType | undefined) => Record<string, boolean>;
56
- getVendorListError: (state: import("../../types").IabState, apiVersion?: import("../types").TcfVersionType | undefined) => 0 | undefined;
57
- getVendorListVersion: (config: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType | undefined) => undefined;
54
+ getVendorIds: (config: import("../../../types/consent-config").Config, apiVersion?: string) => number[];
55
+ getVendorOptOuts: (state: Partial<import("../../types").IabState>, apiVersion?: import("../types").TcfVersionType) => Record<string, boolean>;
56
+ getVendorListError: (state: import("../../types").IabState, apiVersion?: import("../types").TcfVersionType) => 0 | undefined;
57
+ getVendorListVersion: (config: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType) => undefined;
58
58
  hasActed: (state: import("../../../types/store").OsanoState, gppSection: string) => boolean;
59
59
  hasConsentedToSpecialFeature: (state: import("../../types").IabState, { apiVersion, specialFeatureId, }: {
60
- apiVersion?: import("../types").TcfVersionType | undefined;
60
+ apiVersion?: import("../types").TcfVersionType;
61
61
  specialFeatureId: string;
62
62
  }) => boolean;
63
63
  hasOptedOutOfVendor: (state: import("../../types").IabState, { apiVersion, vendorId }: {
64
- apiVersion?: import("../types").TcfVersionType | undefined;
64
+ apiVersion?: import("../types").TcfVersionType;
65
65
  vendorId: string;
66
66
  }) => boolean;
67
67
  hasOptedOutOfPurpose: (state: import("../../types").IabState, { apiVersion, purposeId }: {
68
- apiVersion?: import("../types").TcfVersionType | undefined;
68
+ apiVersion?: import("../types").TcfVersionType;
69
69
  purposeId: string;
70
70
  }) => boolean;
71
71
  isTcfApplicable: (state: import("../../../types/consent-config").Config) => boolean;
72
- isVendorListLoaded: (state: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType | undefined) => boolean;
73
- isVendorListLoading: (state: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType | undefined) => boolean;
72
+ isVendorListLoaded: (state: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType) => boolean;
73
+ isVendorListLoading: (state: import("../../../types/consent-config").Config, apiVersion?: import("../types").TcfVersionType) => boolean;
74
74
  getCountryCode: (config: import("../../../types/consent-config").Config) => string | null;
75
75
  getSavedConsent: (state: import("../../../types/store").OsanoState) => Record<import("../../../constants").ConsentCategory, boolean> | null;
76
76
  isSaved: (state: import("../../../types/store").OsanoState) => boolean;
77
- getFinalOptOutValue: (state?: import("../../../types/store").OsanoState | undefined, pendingNewValue?: boolean | undefined) => boolean | undefined;
78
- getConsent: (state?: import("../../../types/store").OsanoState | undefined) => Record<import("../../../constants").ConsentCategory, boolean | undefined>;
77
+ getFinalOptOutValue: (state?: import("../../../types/store").OsanoState, pendingNewValue?: boolean) => boolean | undefined;
78
+ getConsent: (state?: import("../../../types/store").OsanoState) => Record<import("../../../constants").ConsentCategory, boolean | undefined>;
79
79
  };
80
- createConsentPayload(state?: import("../../types").IabState | undefined): Partial<import("../types").TcfState>;
80
+ createConsentPayload(state?: import("../../types").IabState): Partial<import("../types").TcfState>;
81
81
  };
82
82
  //# sourceMappingURL=tcfeuv2-constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tcfeuv2-constants.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/tcf/v2.0/tcfeuv2-constants.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAmF5C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvB,CAAC"}
1
+ {"version":3,"file":"tcfeuv2-constants.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/tcf/v2.0/tcfeuv2-constants.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAmF5C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA7DqK,CAAC;oBAAkB,CAAC;;;;;;;;;;sBAsE9K,CAAC;;;;;;;;;sBAAk9B,CAAC;;;;sBAAqN,CAAC;;;;sBAAgM,CAAC;;;;;;;;;;;;;CAD74C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/iab/usp/api.js"],"names":[],"mappings":"AAEA;oCAMa,MAAM,WACN,MAAM;EA8ClB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/iab/usp/api.js"],"names":[],"mappings":"AAEA;oCAMa,MAAM,WACN,MAAM,YACN,eAAe;EA6C3B"}
@@ -8,6 +8,6 @@ export function makeParseConsentString({ version: providedVersion }?: {
8
8
  };
9
9
  export function makeGetField(initOptions?: {}): (state: any, field: any) => string | 1 | undefined;
10
10
  export function makeFormatConsentString(initOptions?: {}): string;
11
- export function makeConsentFromOptions(initOptions: any): import('./constants').USPConsent;
12
- export function getConsentDataObject(initOptions: any): import('./constants').USPData;
11
+ export function makeConsentFromOptions(initOptions: any): import("./constants").USPConsent;
12
+ export function getConsentDataObject(initOptions: any): import("./constants").USPData;
13
13
  //# sourceMappingURL=consent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/usp/v1/index.js"],"names":[],"mappings":";;;;;;;;;;;wBAC6D,aAAa;AAY1E,yFA6BC;2BAzC4D,aAAa;2BAAb,aAAa"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/usp/v1/index.js"],"names":[],"mappings":";;;2EAOQ,eAAe;;;;;;;;wBANsC,aAAa;AAY1E,yFA6BC;2BAzC4D,aAAa;2BAAb,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACN,KAAK,eAAe,IAAI,mBAAmB,EAE3C,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA6CF,eAAO,MAAM,YAAY,QAAe,cAAc,mCAiBrD,CAAC;AAwCF,eAAO,MAAM,aAAa,QACpB,cAAc,YACT,mBAAmB,EAAE,mCAU/B,CAAC;AAEF,eAAO,MAAM,YAAY,QAAS,cAAc,mCAiB/C,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAAY,MAAM,2BAqB/D,CAAC"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACN,KAAK,eAAe,IAAI,mBAAmB,EAE3C,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA6CF,eAAO,MAAM,YAAY,QAAe,cAAc,mCAiBrD,CAAC;AAwCF,eAAO,MAAM,aAAa,QACpB,cAAc,YACT,mBAAmB,EAAE,mCAU/B,CAAC;AAEF,eAAO,MAAM,YAAY,QAAS,cAAc,mCAiB/C,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAAY,MAAM,2BAsB/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"API.d.ts","sourceRoot":"","sources":["../../../../src/utils/API.ts"],"names":[],"mappings":";gBAsCa,MAAM,aAAa,MAAM,GAAG,OAAO,GAAG,SAAS;iBAO9C,MAAM,WAAW,MAAM;;AARrC,wBASE"}
1
+ {"version":3,"file":"API.d.ts","sourceRoot":"","sources":["../../../../src/utils/API.ts"],"names":[],"mappings":";gBAuCa,MAAM,aAAa,MAAM,GAAG,OAAO,GAAG,SAAS;iBAO9C,MAAM,WAAW,MAAM;;AARrC,wBASE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dialog/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,eAAO,MAAM,OAAO,yBAyCnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dialog/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,eAAO,MAAM,OAAO,yBA0DnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,EAWL,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAiB1C,eAAO,MAAM,MAAM,QAAO,aAAa,KAAK,CAqS3C,CAAC;AAyGF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,EAWL,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAiB1C,eAAO,MAAM,MAAM,QAAO,YAAY,CAAC,KAAK,CAqS3C,CAAC;AAyGF,eAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osano/osano-cmp-react-native",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Package and example for the react-native Osano CMP SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -68,9 +68,9 @@
68
68
  "jest": "^29.7.0",
69
69
  "prettier": "^3.0.3",
70
70
  "react": "18.2.0",
71
- "react-native": "0.73.6",
71
+ "react-native": "0.74.4",
72
72
  "react-native-builder-bob": "^0.23.2",
73
- "release-it": "^15.0.0",
73
+ "release-it": "^17.6.0",
74
74
  "turbo": "^1.10.7",
75
75
  "typescript": "^5.2.2"
76
76
  },
@@ -81,11 +81,15 @@
81
81
  "react": "*",
82
82
  "react-native": "*"
83
83
  },
84
+ "overrides": {
85
+ "axios": "^1.6.4",
86
+ "trim": "^1.0.1"
87
+ },
84
88
  "workspaces": [
85
89
  "example",
86
90
  "documentation"
87
91
  ],
88
- "packageManager": "yarn@3.6.1",
92
+ "packageManager": "yarn@3.6.4",
89
93
  "jest": {
90
94
  "preset": "react-native",
91
95
  "modulePathIgnorePatterns": [
@@ -121,15 +125,15 @@
121
125
  ]
122
126
  },
123
127
  "dependencies": {
124
- "@docusaurus/core": "2.4.3",
125
- "@docusaurus/module-type-aliases": "2.4.3",
126
- "@docusaurus/preset-classic": "2.4.3",
127
- "@mdx-js/react": "^1.6.22",
128
+ "@docusaurus/core": "^3.4.0",
129
+ "@docusaurus/module-type-aliases": "3.4.0",
130
+ "@docusaurus/preset-classic": "^3.4.0",
131
+ "@mdx-js/react": "^3.0.0",
128
132
  "@testing-library/react-native": "^12.5.0",
129
133
  "@types/react-test-renderer": "^18.3.0",
130
134
  "clsx": "^1.2.1",
131
- "prism-react-renderer": "^1.3.5",
132
- "react": "^17.0.2",
135
+ "prism-react-renderer": "^2.1.0",
136
+ "react": "*",
133
137
  "react-dom": "^17.0.2",
134
138
  "react-native-picker-modal-view": "^1.3.2",
135
139
  "react-native-svg": "^15.1.0",
@@ -102,18 +102,23 @@ export const DEFAULT_CONFIG: Config = {
102
102
  timeoutSeconds: 0,
103
103
  type: flavors[defaultFlavor],
104
104
  variant: 'two',
105
+ iabEnabled: false,
105
106
  };
106
107
 
107
- const migrateIabConfig = (config: Iab): Iab => {
108
+ const migrateIabConfig = (
109
+ config: Iab,
110
+ gdprApplies: boolean = false,
111
+ iabEnabled: boolean = false,
112
+ ): Iab => {
108
113
  const { eu, tcf, ...remain } = config;
109
- const { enabled, v2 } = eu ?? {};
114
+ const { v2 } = eu ?? {};
110
115
  return {
111
116
  ...remain,
112
- enabled: enabled ?? false,
117
+ enabled: iabEnabled,
113
118
  tcf: {
114
119
  ...tcf,
115
120
  v2: {
116
- gdprApplies: false,
121
+ gdprApplies: gdprApplies,
117
122
  purposeOptouts: {},
118
123
  specialFeatureOptins: {},
119
124
  vendorOptouts: {},
@@ -154,7 +159,11 @@ export class ConsentConfig extends EventEmitter {
154
159
  if (!config || Object.keys(config).length === 0) {
155
160
  throw CONFIG_NOT_FOUND_ERROR;
156
161
  }
157
- config.iab = migrateIabConfig(config.iab);
162
+ config.iab = migrateIabConfig(
163
+ config.iab,
164
+ config.gdprApplies,
165
+ config.iabEnabled,
166
+ );
158
167
  // Handle IAB override
159
168
  config.iab.enabled = this._config.iab.enabled || config.iab.enabled;
160
169
 
@@ -96,11 +96,11 @@
96
96
  "vendor": {
97
97
  "dataRetention": "Databehoud is %{days} dae",
98
98
  "title": "Third Parties",
99
- "preamble": "This website shares data with the following third-party vendors. You may change your preferences for each vendor in this section. If you opt-out of vendors, they will not be allowed to process your personal data.",
99
+ "preamble": "Hierdie webwerf deel data met die volgende derdeparty IAB TCF-verskaffers. U kan u voorkeure vir elke IAB TCF-verskaffer in hierdie afdeling verander. As jy onttrek van 'n IAB TCF-verskaffer, sal hulle nie toegelaat word om jou persoonlike data te verwerk nie.",
100
100
  "maxCookieStorage": "Maximum cookie storage",
101
101
  "usesNonCookieAccess": "This vendor uses other methods of storage or accessing information already stored on a user's device."
102
102
  },
103
- "layer1": "Ons en ons %{vendorCount}-vennote berg en kry toegang tot inligting op jou toestel vir gepersonaliseerde advertensies en inhoud. Persoonlike data kan verwerk word, soos koekie-identifiseerders, unieke toestelidentifiseerders en blaaierinligting. Derde partye kan inligting op jou toestel stoor en toegang verkry en hierdie persoonlike data verwerk. Jy kan jou voorkeure verander of terugtrek deur op die koekie-ikoon of skakel te klik; as gevolg hiervan, sal jy dalk nie relevante advertensies of gepersonaliseerde inhoud sien nie.",
103
+ "layer1": "Ons en ons %{vendorCount} IAB TCF-vennote stoor en kry toegang tot inligting op jou toestel vir die volgende doeleindes: %{stacks}.\n\nPersoonlike data kan verwerk word om die volgende te doen: %{iab.specialFeatures.1.name} en %{iab.specialFeatures.2.name}. \n\nOns derdeparty IAB TCF-vennote kan inligting op jou toestel stoor en toegang verkry en hierdie persoonlike data verwerk op grond van wettige belang, of met jou toestemming. Jy kan jou voorkeure enige tyd verander of terugtrek deur op die koekie-ikoon of skakel te klik; as gevolg hiervan, sal jy dalk nie relevante advertensies of gepersonaliseerde inhoud sien nie.",
104
104
  "legal": {
105
105
  "title": "All Third Party Disclosures",
106
106
  "preamble": "Third-party vendors on this website may implement the following features, purposes, special features, and functionality.",
@@ -112,7 +112,9 @@
112
112
  "legIntClaim": "Wettige belange op die spel",
113
113
  "specialPurposes": "Special Purposes:",
114
114
  "features": "Features:",
115
- "specialFeatures": "Special Features:"
115
+ "specialFeatures": "Special Features:",
116
+ "legInt": "Wettige belang",
117
+ "consent": "Toestemming"
116
118
  },
117
119
  "partnerCount": "%{partnerCount} vennoot",
118
120
  "partnerCountPlural": "%{partnerCount} vennote",
@@ -219,6 +221,13 @@
219
221
  "illustrations": {
220
222
  "1": "Clicking on a link in an article might normally send you to another page or part of the article. To achieve this, 1°) your browser sends a request to a server linked to the website, 2°) the server answers back (“here is the article you asked for”), using technical information automatically included in the request sent by your device, to properly display the information / images that are part of the article you asked for. Technically, such exchange of information is necessary to deliver the content that appears on your screen."
221
223
  }
224
+ },
225
+ "3": {
226
+ "name": "Save and communicate privacy choices",
227
+ "description": "The choices you make regarding the purposes and entities listed in this notice are saved and made available to those entities in the form of digital signals (such as a string of characters). This is necessary in order to enable both this service and those entities to respect such choices.",
228
+ "illustrations": {
229
+ "1": "When you visit a website and are offered a choice between consenting to the use of profiles for personalised advertising or not consenting, the choice you make is saved and made available to advertising providers, so that advertising presented to you respects that choice."
230
+ }
222
231
  }
223
232
  },
224
233
  "features": {
@@ -295,6 +304,20 @@
295
304
  "name": "Privacy choices",
296
305
  "description": "Your preferences regarding the processing of your data, based on the information you have received."
297
306
  }
307
+ },
308
+ "stacks": {
309
+ "3": {
310
+ "name": "Personalised advertising",
311
+ "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising."
312
+ },
313
+ "20": {
314
+ "name": "Advertising and content measurement, audience research, and services development",
315
+ "description": "Advertising and content performance can be measured. Your activity on this service can help develop and improve products and services. Reports can be generated based on your activity and those of others."
316
+ },
317
+ "44": {
318
+ "name": "Personalised content",
319
+ "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content."
320
+ }
298
321
  }
299
322
  },
300
323
  "aria": {
@@ -96,11 +96,11 @@
96
96
  "vendor": {
97
97
  "dataRetention": "تبلغ مدة الاحتفاظ بالبيانات %{days} يومًا",
98
98
  "title": "الأطراف الثالثة",
99
- "preamble": "يشارك موقع الويب هذا البيانات مع موردي الجهات الخارجية التاليين. يمكنك تغيير تفضيلاتك لكل مورد فردي في هذا القسم.",
99
+ "preamble": "يشارك موقع الويب هذا البيانات مع موردي IAB TCF التابعين لجهات خارجية. يمكنك تغيير تفضيلاتك لكل مورّد IAB TCF في هذا القسم. إذا قمت بإلغاء الاشتراك في مورد IAB TCF، فلن يُسمح له بمعالجة بياناتك الشخصية.",
100
100
  "maxCookieStorage": "الحد الأقصى لتخزين ملفات تعريف الارتباط",
101
101
  "usesNonCookieAccess": "يستخدم هذا البائع طرقًا أخرى للتخزين أو الوصول إلى المعلومات المخزنة بالفعل على جهاز المستخدم."
102
102
  },
103
- "layer1": "نقوم نحن وشركاؤنا في %{vendorCount} بتخزين المعلومات الموجودة على جهازك والوصول إليها للحصول على إعلانات ومحتوى مخصص. قد تتم معالجة البيانات الشخصية، مثل معرفات ملفات تعريف الارتباط ومعرفات الأجهزة الفريدة ومعلومات المتصفح. يجوز لأطراف ثالثة تخزين المعلومات الموجودة على جهازك والوصول إليها ومعالجة هذه البيانات الشخصية. يمكنك تغيير تفضيلاتك أو سحبها من خلال النقر على أيقونة أو رابط ملف تعريف الارتباط؛ ومع ذلك، ونتيجة لذلك، قد لا ترى الإعلانات ذات الصلة أو المحتوى المخصص.",
103
+ "layer1": "نقوم نحن وشركاء %{vendorCount} IAB TCF بتخزين المعلومات الموجودة على جهازك والوصول إليها للأغراض التالية: %{stacks}.\n\nقد تتم معالجة البيانات الشخصية للقيام بما يلي: %{iab.specialFeatures.1.name} و%{iab.specialFeatures.2.name}. \n\nيجوز لشركاء IAB TCF من الأطراف الثالثة تخزين المعلومات على جهازك والوصول إليها ومعالجة هذه البيانات الشخصية على أساس المصلحة المشروعة، أو بموافقتك. يمكنك تغيير تفضيلاتك أو سحبها في أي وقت عن طريق النقر على أيقونة أو رابط ملف تعريف الارتباط؛ ومع ذلك، ونتيجة لذلك، قد لا ترى الإعلانات ذات الصلة أو المحتوى المخصص.",
104
104
  "legal": {
105
105
  "title": "جميع إفصاحات الطرف الثالث",
106
106
  "preamble": "يجوز لموردي الجهات الخارجية على هذا الموقع تنفيذ الميزات والأغراض والميزات الخاصة والوظائف التالية.",
@@ -112,7 +112,9 @@
112
112
  "legIntClaim": "المصالح المشروعة على المحك",
113
113
  "specialPurposes": "الأغراض الخاصة:",
114
114
  "features": "الميزات:",
115
- "specialFeatures": "مميزات خاصة:"
115
+ "specialFeatures": "مميزات خاصة:",
116
+ "legInt": "مصلحة مشروعة",
117
+ "consent": "موافقة"
116
118
  },
117
119
  "partnerCount": "شريك %{partnerCount}.",
118
120
  "partnerCountPlural": "شركاء %{partnerCount}.",
@@ -169,7 +171,7 @@
169
171
  "description": "يمكن استخدام المعلومات المتعلقة بالإعلان الذي يتم عرضه لك وكيفية تفاعلك معه لتحديد مدى فعالية الإعلان لك أو للمستخدمين الآخرين وما إذا كانت أهداف الإعلان قد تحققت. على سبيل المثال، ما إذا كنت قد شاهدت إعلانًا، وما إذا كنت قد نقرت فوقه، وما إذا كان قد قادك إلى شراء منتج أو زيارة موقع ويب، وما إلى ذلك. وهذا أمر مفيد للغاية لفهم ملاءمة الحملات الإعلانية.",
170
172
  "illustrations": {
171
173
  "1": "أنت نقرت فوق إعلان حول خصم \"الجمعة البيضاء\" قدمه متجر عبر الإنترنت على موقع الويب أحد الناشرين ما واشتريت منتجًا. سيتم ربط نقرتك بعملية الشراء هذه. سيتم قياس تفاعلك وتفاعل المستخدمين الآخرين لمعرفة عدد النقرات على الإعلان التي أدت إلى الشراء.",
172
- "2": "أنت ضمن عدد قليل للغاية نقروا فوق أحد الإعلانات حول خصم \"يوم التقدير العالمي\" من متجر هدايا عبر الإنترنت داخل تطبيق أحد الناشرين. يرغب هذا الناشر في الحصول على تقارير لفهم عدد المرات التي قمت فيها أنت والمستخدمين الآخرين بعرض أو النقر فوق موضع إعلان معين داخل التطبيق، وخصوصًا إعلان \"يوم التقدير العالمي\"، وذلك من أجل مساعدة الناشر وشركائه (مثل الوكالات) على تحسين موضع الإعلان."
174
+ "2": "أنت ضمن عدد قليل للغاية نقروا فوق أحد الإعلانات حول خصم \"يوم التقدير العالمي\" من متجر هدايا عبر الإنترنت داخل تطبيق أحد الناشرين. يرغب هذا الناشر في الحصول على تقارير لفهم عدد المرات التي قمت فيها أنت والمستخدمين الآخرين بعرض أو النقر فوق م��ضع إعلان معين داخل التطبيق، وخصوصًا إعلان \"يوم التقدير العالمي\"، وذلك من أجل مساعدة الناشر وشركائه (مثل الوكالات) على تحسين موضع الإعلان."
173
175
  }
174
176
  },
175
177
  "8": {
@@ -201,7 +203,7 @@
201
203
  "description": "يمكن أن يستند المحتوى المعروض لك في هذه الخدمة إلى بيانات محدودة، مثل موقع الويب أو التطبيق الذي تستخدمه، أو موقعك غير الدقيق، أو نوع جهازك، أو المحتوى الذي تتفاعل معه (أو كنت تتفاعل معه) (على سبيل المثال، للحد من عدد مرات عرض مقطع فيديو أو مقالة لك).",
202
204
  "illustrations": {
203
205
  "1": "نشرت مجلة معنية بالسفر مقالاً على موقعها الإلكتروني عن الدورات التدريبية الجديدة عبر الإنترنت التي تقدمها مدرسة للغات، لتحسين تجارب السفر إلى الخارج. يتم إدراج منشورات المدونة الخاصة بالمدرسة مباشرةً في أسفل الصفحة، ويتم اختيارها على أساس موقعك غير الدقيق (على سبيل المثال، منشورات المدونة التي توضح منهج الدورة التدريبية بلغات مختلفة عن لغة البلد الذي تقيم فيه).",
204
- "2": "بدأ أحد تطبيقات الأجهزة المحمولة معني بالأخبار الرياضية قسمًا جديدًا من المقالات التي تتناول أحدث مباريات كرة القدم. تتضمن كل مقالة مقاطع فيديو تستضيفها منصة بث منفصلة تعرض أبرز اللقطات في كل مباراة. إذا قمت بالتقديم السريع لمقطع فيديو، فقد يتم استخدام ه��ه المعلومات لاختيار مقطع فيديو أقصر لتشغيله بعد ذلك."
206
+ "2": "بدأ أحد تطبيقات الأجهزة المحمولة معني بالأخبار الرياضية قسمًا جديدًا من المقالات التي تتناول أحدث مباريات كرة القدم. تتضمن كل مقالة مقاطع فيديو تستضيفها منصة بث منفصلة تعرض أبرز اللقطات في كل مباراة. إذا قمت بالتقديم السريع لمقطع فيديو، فقد يتم استخدام هذه المعلومات لاختيار مقطع فيديو أقصر لتشغيله بعد ذلك."
205
207
  }
206
208
  }
207
209
  },
@@ -219,6 +221,13 @@
219
221
  "illustrations": {
220
222
  "1": "النقر على رابط في مقال ما قد ينقلك عادةً إلى صفحة أخرى أو جزء آخر من المقال. لتحقيق ذلك، 1°) يرسل متصفحك طلبًا إلى خادم مرتبط بموقع الويب، 2°) يرد الخادم مرة أخرى (\"هذا هو المقال الذي طلبته\")، باستخدام المعلومات الفنية المضمنة تلقائيًا في الطلب الذي أرسله جهازك، لعرض المعلومات/الصور التي تعد جزءًا من المقال الذي طلبته بشكل صحيح. من الناحية الفنية، يعد تبادل المعلومات هذا ضروريًا لتقديم المحتوى الذي يظهر على شاشتك."
221
223
  }
224
+ },
225
+ "3": {
226
+ "name": "حفظ خيارات الخصوصية وإبلاغها",
227
+ "description": "تُحفظ خياراتك المتعلقة بالأغراض والجهات المذكورة في هذا الإشعار، وتُتاح لتلك الجهات على هيئة إشارات رقمية (كسلسلة من الرموز). هذا الإجراء ضروري لتمكين هذه الخدمة وتلك الجهات من مراعاة خياراتك.",
228
+ "illustrations": {
229
+ "1": "فعندما تزور موقعًا إلكترونيًا ويُعرض عليك خيار الموافقة أو عدم الموافقة على استخدام ملفك الشخصي لغرض الإعلانات المخصصة، يُحفظ خيارك ويُتاح لمقدمي الإعلانات حتى يتمكنوا من مراعاة ذلك الاختيار في الإعلانات المُعروضة لك."
230
+ }
222
231
  }
223
232
  },
224
233
  "features": {
@@ -295,6 +304,20 @@
295
304
  "name": "خيارات الخصوصية",
296
305
  "description": "تفضيلاتك فيما يتعلق بمعالجة بياناتك، بناءً على المعلومات التي تلقيتها."
297
306
  }
307
+ },
308
+ "stacks": {
309
+ "3": {
310
+ "name": "الإعلانات المخصصة",
311
+ "description": "يمكن تخصيص الإعلانات بناءً على ملفك. يمكن استخدام نشاطك على هذه الخدمة لإنشاء ملف لك أو تحسينه للإعلانات المخصصة."
312
+ },
313
+ "20": {
314
+ "name": "قياس أداء الإعلانات والمحتوى وأبحاث الجمهور وتطوير الخدمات",
315
+ "description": "يمكن قياس أداء الإعلانات والمحتوى. يمكن أن يساعد نشاطك على هذه الخدمة في تطوير المنتجات والخدمات وتحسينها. يمكن إنشاء التقارير بناءً على نشاطك ونشاط الآخرين."
316
+ },
317
+ "44": {
318
+ "name": "محتوى مخصص",
319
+ "description": "يمكن تخصيص المحتوى بناءً على ملفك. يمكن استخدام نشاطك على هذه الخدمة لإنشاء ملف لك أو تحسينه للمحتوى المخصص."
320
+ }
298
321
  }
299
322
  },
300
323
  "aria": {
@@ -304,7 +327,7 @@
304
327
  },
305
328
  "doNotSell": {
306
329
  "header": "خيارات الخصوصية الخاصة بك",
307
- "description": "نسمح لبعض شركاء الإعلان عبر الإنترنت بجمع المعلومات من خدماتنا من خلال ملفات تعريف الارتباط والتقنيات المماثلة لتقديم إعلانات أكثر صلة بك ومساعدتنا في التحليلات المتعلقة بالإعلانات. يمكن اعتبار ذلك \"بيعًا\" أو \"مشاركة\" للإعلان المستهدف عبر الإنترنت بموجب قوانين معينة. لإلغاء الاشتراك في هذا النشاط ، استخدم مفتاح التبديل أدناه.",
330
+ "description": "نسمح لبعض شركاء الإعلان عبر الإنترنت بجمع المعلومات من خدماتنا من خلال ملفات تعريف الارتباط والتقنيات المماثلة لتقديم إعلانات أكثر صلة بك ومساعدتنا في التحليلات المتعلقة بالإعلانات. يمكن اعتبار ذلك \"بيعًا\" أو \"مشاركة\" للإعلان المستهدف عبر الإنترنت بموجب قوانين معينة. لإلغاء الاشتر��ك في هذا النشاط ، استخدم مفتاح التبديل أدناه.",
308
331
  "link": "يمكنك معرفة المزيد حول ممارسات الخصوصية لدينا من خلال مراجعة سياساتنا:"
309
332
  }
310
333
  }
@@ -96,11 +96,11 @@
96
96
  "vendor": {
97
97
  "dataRetention": "Запазването на данни е %{days} дни",
98
98
  "title": "Трети лица",
99
- "preamble": "Този уебсайт споделя данни със следните доставчици на трети страни. Можете да промените предпочитанията си за всеки отделен доставчик в този раздел.",
99
+ "preamble": "Този уебсайт споделя данни със следните трети страни IAB TCF доставчици. Можете да промените предпочитанията си за всеки доставчик на IAB TCF в този раздел. Ако се откажете от доставчик на IAB TCF, той няма да има право да обработва вашите лични данни.",
100
100
  "maxCookieStorage": "Максимално съхранение на бисквитки",
101
101
  "usesNonCookieAccess": "Този доставчик използва други методи за съхранение или достъп до информация, която вече се съхранява на устройството на потребителя."
102
102
  },
103
- "layer1": "Ние и нашите партньори %{vendorCount} съхраняваме и осъществяваме достъп до информация на вашето устройство за персонализирани реклами и съдържание. Може да се обработват лични данни, като идентификатори на бисквитки, уникални идентификатори на устройства и информация за браузъра. Трети страни могат да съхраняват и имат достъп до информация на вашето устройство и да обработват тези лични данни. Можете да промените или оттеглите вашите предпочитания, като щракнете върху иконата или връзката за бисквитка; въпреки това, в резултат на това може да не видите подходящи реклами или персонализирано съдържание.",
103
+ "layer1": "Ние и нашите %{vendorCount} партньори на IAB TCF съхраняваме и осъществяваме достъп до информация на вашето устройство за следните цели: %{stacks}.\n\nЛичните данни могат да бъдат обработвани за следното: %{iab.specialFeatures.1.name} и %{iab.specialFeatures.2.name}. \n\nНашите трети страни IAB TCF партньори могат да съхраняват и имат достъп до информация на вашето устройство и да обработват тези лични данни въз основа на легитимен интерес или с вашето съгласие. Можете да промените или оттеглите вашите предпочитания по всяко време, като щракнете върху иконата или връзката за бисквитка; въпреки това, в резултат на това може да не видите подходящи реклами или персонализирано съдържание.",
104
104
  "legal": {
105
105
  "title": "Всички разкрития на трети страни",
106
106
  "preamble": "Третите доставчици на този уебсайт могат да реализират следните функции, цели, специални функции и функционалност.",
@@ -112,7 +112,9 @@
112
112
  "legIntClaim": "Заложени са законни интереси",
113
113
  "specialPurposes": "Специални цели:",
114
114
  "features": "Характеристика:",
115
- "specialFeatures": "Специални функции:"
115
+ "specialFeatures": "Специални функции:",
116
+ "legInt": "Легитимен интерес",
117
+ "consent": "Съгласие"
116
118
  },
117
119
  "partnerCount": "%{partnerCount} партньор",
118
120
  "partnerCountPlural": "%{partnerCount} партньори",
@@ -121,7 +123,7 @@
121
123
  "name": "Съхраняване на и/или достъп до информация на устройство",
122
124
  "description": "Бисквитките, устройството или подобни онлайн идентификатори (напр. идентификатори на база данните за вход, произволно зададени идентификатори, идентификатори на база данните за мрежата) заедно с друга информация (напр. вид на браузъра и информация, език, размер на екрана, поддържани технологии и т.н.) могат да се съхраняват или четат на Вашето устройство, за да бъде то разпознавано всеки път, когато се свързва с приложение или уебсайт, за една или няколко от целите, представени тук.",
123
125
  "illustrations": {
124
- "1": "Повечето цели, обяснени в това известие, зависят от съхранението или достъпа до информация от Вашето устройство при използване на приложение или посещаване на уебсайт от Ваша страна. Например даден доставчик или издател може да има нужда да съхрани бисквитка на Вашето устройство по време на първото Ви посещение на даден уебсайт, за да може да разпознае устройството Ви по време на следващите Ви посещения (чрез достъп до тази бисквитка всеки път)."
126
+ "1": "Повечето цели, обяснени в това известие, зависят от съхранението или достъпа до информация от Вашето устройство при използване на приложение или посещаване на уебсайт от Ваша страна. Например даден доставчик или издател може да има нужда да съхрани бисквитка на Вашето устройство по време на първото Ви посещение на да��ен уебсайт, за да може да разпознае устройството Ви по време на следващите Ви посещения (чрез достъп до тази бисквитка всеки път)."
125
127
  }
126
128
  },
127
129
  "2": {
@@ -129,7 +131,7 @@
129
131
  "description": "Рекламата, която Ви се представя в рамките на тази услуга, може да се основава на ограничени данни, като например уебсайта или приложението, което използвате, приблизително местоположение, вида на устройството или типа съдържание, с което взаимодействате (или сте взаимодействали) (например за ограничаване на броя пъти, в които се показва дадена реклама).",
130
132
  "illustrations": {
131
133
  "1": "Производител на автомобили иска да популяризира своите електрически превозни средства след работно време сред екологично осъзнати потребители, които живеят в града. Рекламата се показва на страница със свързано съдържание (например статия за действия, свързани с климатичните промени) след 18:30 ч. на потребители, чието приблизително местоположение предполага, че са в градска зона.",
132
- "2": "Голям производител на акварел��и бои иска да осъществи онлайн рекламна кампания за най-новата си гама акварелни бои пред диферсифицирана аудитория с цел да достигне до ��ъзможно най-много любители и професионални художници, като избягва показването на рекламата до несъответстващо съдържание (например статии за това, как да боядисате къщата си). Броят пъти, в които рекламата Ви е била представена, се разкрива и се ограничава, за да се избегне твърде честото ѝ показване."
134
+ "2": "Голям производител на акварелни бои иска да осъществи онлайн рекламна кампания за най-новата си гама акварелни бои пред диферсифицирана аудитория с цел да достигне до възможно най-много любители и професионални художници, като избягва показването на рекламата до несъответстващо съдържание (например статии за това, как да боядисате къщата си). Броят пъти, в които рекламата Ви е била представена, се разкрива и се ограничава, за да се избегне твърде честото ѝ показване."
133
135
  }
134
136
  },
135
137
  "3": {
@@ -169,14 +171,14 @@
169
171
  "description": "Информация за това, коя реклама Ви се представя и как взаимодействате с нея, може да се използва, за да се определи колко добре е работила рекламата за Вас или за други потребители и дали са постигнати целите на рекламата. Например дали сте изгледали реклама, дали сте кликнали върху нея, дали това Ви е накарало да купите продукт или да посетите уебсайт и т.н. Това е много полезно, за да се разбере уместността на рекламните кампании.",
170
172
  "illustrations": {
171
173
  "1": "Кликналите сте върху реклама за отстъпка за „черен петък“ в онлайн магазин на уебсайта на издател и сте закупили продукт. Вашето кликване ще бъде свързано с тази покупка. Вашето взаимодействие и това на други потребители ще бъдат измервани, за да се знае колко кликвания върху рекламата са довели до покупка.",
172
- "2": "Вие сте един от малкото, които са кликнали върху реклама за отстъпка за „Международния ден на признателността“ в онлайн магазин за подаръци в приложението на издател. Издателят иска да има отчети, за да разбере колко често конкретно позициониране на реклами в рамките на приложението, и по-специално споменатата реклама за „Международния ден на признателността“, е преглеждана или кликвана от Вас и други потребители, за да помогне на издателя и неговите партньори (например агенции) да оптимизират позициониране на рекламите."
174
+ "2": "Вие сте един от малкото, които са кликнали върху реклама за отстъпка за „Международния ден на признателността“ в онлайн магазин за подаръци в приложението на издател. Издателят иска да има отчети, за да разбере колко често конкретно позициониране на реклами в рамките на приложението, и по-специално споменатата реклама за „Международния ден на признателността“, е преглеждана или кликвана от Вас и ��руги потребители, за да помогне на издателя и неговите партньори (например агенции) да оптимизират позициониране на рекламите."
173
175
  }
174
176
  },
175
177
  "8": {
176
178
  "name": "Измерване на ефикасността на съдържанието",
177
179
  "description": "Информацията относно това кое съдържание Ви се представя и как взаимодействате с него, може да се използва, за да се определи дали (нерекламното) съдържание например е достигнало целевата си аудитория и отговаря на Вашите интереси. Например дали четете статия, гледате видео, слушате подкаст или разглеждате описание на продукт, колко време сте прекарали в тази услуга и на уебстраниците, които посещавате, и т.н. Това е много полезно, за да се разбере уместността на (нерекламното) съдържание, което Ви се показва.",
178
180
  "illustrations": {
179
- "1": "Прочели сте публикация в блог относно планинския туризъм в мобилно приложение на издател и сте последвали връзка към препоръчана и свързана публикация. Вашите взаимодействия ще бъдат записани като показващи, че първоначалната публикация относно планинския туризъм е била полезна за Вас и успешна в събуждането на интереса Ви към свързаната публикация. Това ще бъде измерено, за да се знае дали да се произвеждат повече ��убликации относно планинския туризъм в бъдеще и къде те да бъдат поставяни на началния екран на мобилното приложение.",
181
+ "1": "Прочели сте публикация в блог относно планинския туризъм в мобилно приложение на издател и сте последвали връзка към препоръчана и свързана публикация. Вашите взаимодействия ще бъдат записани като показващи, че първоначалната публик��ция относно планинския туризъм е била полезна за Вас и успешна в събуждането на интереса Ви към свързаната публикация. Това ще бъде измерено, за да се знае дали да се произвеждат повече публикации относно планинския туризъм в бъдеще и къде те да бъдат поставяни на началния екран на мобилното приложение.",
180
182
  "2": "Показан Ви е видеоматериал относно модните тенденции, но Вие и няколко други потребители сте спрели да гледате след 30 секунди. Тази информация в последствие се използва за оценка на правилната продължителност на бъдещите видеоматериали относно модните тенденции."
181
183
  }
182
184
  },
@@ -219,6 +221,13 @@
219
221
  "illustrations": {
220
222
  "1": "Кликването върху връзка в статия обикновено може да ви препрати към друга страница или част от статията. За да стане това, 1) браузърът изпраща заявка до сървър, свързан с уебсайта, 2) сървърът отговаря обратно („ето статията, която поискахте“), като използва техническата информация, автоматично включена в заявката, изпратена от Вашето устройство, за да покаже правилно информацията/изображенията, които са част от статията, която сте поискали. Технически погледнато, такъв обмен на информация е необходим за предоставяне на съдържанието, което се появява на Вашия екран."
221
223
  }
224
+ },
225
+ "3": {
226
+ "name": "–ó–∞–ø–∞–∑–≤–∞–Ω–µ –∏ —Å—ä–æ–±—â–∞–≤–∞–Ω–µ –Ω–∞ –∏–∑–±–æ—Ä–∏ –∑–∞ –ø–æ–≤–µ—Ä–∏—Ç–µ–ª–Ω–æ—Å—Ç",
227
+ "description": "–ò–∑–±–æ—Ä–∏—Ç–µ, –∫–æ–∏—Ç–æ –ø—Ä–∞–≤–∏—Ç–µ –ø–æ –æ—Ç–Ω–æ—à–µ–Ω–∏–µ –Ω–∞ —Ü–µ–ª–∏—Ç–µ –∏ –ª–∏—Ü–∞—Ç–∞, –∏–∑–±—Ä–æ–µ–Ω–∏ –≤ —Ç–æ–≤–∞ –∏–∑–≤–µ—Å—Ç–∏–µ, —Å–µ –∑–∞–ø–∞–∑–≤–∞—Ç –∏ –ø—Ä–µ–¥–æ—Å—Ç–∞–≤—è—Ç –Ω–∞ —Ç–µ–∑–∏ –ª–∏—Ü–∞ –ø–æ–¥ —Ñ–æ—Ä–º–∞—Ç–∞ –Ω–∞ —Ü–∏—Ñ—Ä–æ–≤–∏ —Å–∏–≥–Ω–∞–ª–∏ (–∫–∞—Ç–æ –Ω–∏–∑ –æ—Ç –∑–Ω–∞—Ü–∏). –¢–æ–≤–∞ –µ –Ω–µ–æ–±—Ö–æ–¥–∏–º–æ, –∑–∞ –¥–∞ —Å–µ –¥–∞–¥–µ –≤—ä–∑–º–æ–∂–Ω–æ—Å—Ç –∫–∞–∫—Ç–æ –Ω–∞ —Ç–∞–∑–∏ —É—Å–ª—É–≥–∞, —Ç–∞–∫–∞ –∏ –Ω–∞ —Ç–µ–∑–∏ –ª–∏—Ü–∞ –¥–∞ —Å–µ —Å—ä–æ–±—Ä–∞–∑—è–≤–∞—Ç —Å —Ç–µ–∑–∏ –∏–∑–±–æ—Ä–∏.",
228
+ "illustrations": {
229
+ "1": "–ö–æ–≥–∞—Ç–æ –ø–æ—Å–µ—â–∞–≤–∞—Ç–µ —É–µ–±—Å–∞–π—Ç –∏ –í–∏ —Å–µ –ø—Ä–µ–¥–ª–∞–≥–∞ –¥–∞ –ø—Ä–µ–¥–æ—Å—Ç–∞–≤–∏—Ç–µ –∏–ª–∏ –¥–∞ –Ω–µ –ø—Ä–µ–¥–æ—Å—Ç–∞–≤–∏—Ç–µ —Å—ä–≥–ª–∞—Å–∏–µ –∑–∞ –∏–∑–ø–æ–ª–∑–≤–∞–Ω–µ—Ç–æ –Ω–∞ –ø—Ä–æ—Ñ–∏–ª–∏ –∑–∞ –ø–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–∞ —Ä–µ–∫–ª–∞–º–∞, –∏–∑–±–æ—Ä—ä—Ç, –∫–æ–π—Ç–æ –ø—Ä–∞–≤–∏—Ç–µ, —Å–µ –∑–∞–ø–∞–∑–≤–∞ –∏ —Å–µ –ø—Ä–µ–¥–æ—Å—Ç–∞–≤—è –Ω–∞ –¥–æ—Å—Ç–∞–≤—á–∏—Ü–∏—Ç–µ –Ω–∞ —Ä–µ–∫–ª–∞–º–∏, —Ç–∞–∫–∞ —á–µ —Ä–µ–∫–ª–∞–º–∞—Ç–∞, –∫–æ—è—Ç–æ –í–∏ —Å–µ –ø—Ä–µ–¥—Å—Ç–∞–≤—è, –¥–∞ –µ —Å—ä–æ–±—Ä–∞–∑–µ–Ω–∞ —Å —Ç–æ–∑–∏ –∏–∑–±–æ—Ä."
230
+ }
222
231
  }
223
232
  },
224
233
  "features": {
@@ -227,7 +236,7 @@
227
236
  "description": "Информацията за Вашата дейност в рамките на тази услуга може да бъде съчетана и комбинирана с друга информация, свързана с Вас и произлизаща от различни източници (например Вашата дейност в отделна онлайн услуга, използването от Ваша страна на карта за лоялност в магазина или Вашите отговори на проучване), в подкрепа на целите, обяснени в настоящото известие."
228
237
  },
229
238
  "2": {
230
- "name": "Свързване на различни устройства",
239
+ "name": "Свързван�� на различни устройства",
231
240
  "description": "В подкрепа на целите, обяснени в това известие, може да се счите, че Вашето устройство вероятно е свързано с други устройства, които принадлежат на Вас или на Вашето домакинство (например, ако сте влезли в една и съща услуга както на телефона, така и на компютъра или ако използвате една и съща интернет връзка и на двете устройства)."
232
241
  },
233
242
  "3": {
@@ -253,7 +262,7 @@
253
262
  "dataCategories": {
254
263
  "1": {
255
264
  "name": "IP адреси",
256
- "description": "Вашият IP адрес е номер, даван от Вашия доставчик на интернет услуги на всяка интернет връзка. Този номер не винаги е специфичен за Вашето устро��ство и не винаги е стабилен идентификатор. Използва се за маршрутизиране на информация в интернет и показване на онлайн съдържание (включително реклами) на свързаното Ви устройство."
265
+ "description": "Вашият IP адрес е номер, даван от Вашия доставчик на интернет услуги на всяка интернет връзка. Този номер не винаги е специфичен за Вашето устройство и не винаги е стабилен идентификатор. Използва се за маршрутизиране на информация в интернет и показване на онлайн съдържание (включително реклами) на свързаното Ви устройство."
257
266
  },
258
267
  "2": {
259
268
  "name": "Характеристики на устройството",
@@ -295,6 +304,20 @@
295
304
  "name": "Избори на поверителност",
296
305
  "description": "Вашите предпочитания относно обработването на Вашите данни въз основа на информацията, която сте получили."
297
306
  }
307
+ },
308
+ "stacks": {
309
+ "3": {
310
+ "name": "–ü–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–∞ —Ä–µ–∫–ª–∞–º–∞",
311
+ "description": "–†–µ–∫–ª–∞–º–∏—Ç–µ –º–æ–≥–∞—Ç –¥–∞ –±—ä–¥–∞—Ç –ø–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–∏ –Ω–∞ –±–∞–∑–∞—Ç–∞ –Ω–∞ –í–∞—à–∏—è –ø—Ä–æ—Ñ–∏–ª. –î–µ–π–Ω–æ—Å—Ç—Ç–∞ –í–∏ –≤ —Ç–∞–∑–∏ —É—Å–ª—É–≥–∞ –º–æ–∂–µ –¥–∞ —Å–µ –∏–∑–ø–æ–ª–∑–≤–∞ –∑–∞ —Å—ä–∑–¥–∞–≤–∞–Ω–µ –∏–ª–∏ –ø–æ–¥–æ–±—Ä—è–≤–∞–Ω–µ –Ω–∞ –ø—Ä–æ—Ñ–∏–ª –∑–∞ –í–∞—Å —Å —Ü–µ–ª –ø–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–∞ —Ä–µ–∫–ª–∞–º–∞."
312
+ },
313
+ "20": {
314
+ "name": "–ò–∑–º–µ—Ä–≤–∞–Ω–µ –Ω–∞ —Ä–µ–∫–ª–∞–º–∞—Ç–∞ –∏ —Å—ä–¥—ä—Ä–∂–∞–Ω–∏–µ—Ç–æ, –ø—Ä–æ—É—á–≤–∞–Ω–µ –Ω–∞ –∞—É–¥–∏—Ç–æ—Ä–∏—è—Ç–∞ –∏ —Ä–∞–∑—Ä–∞–±–æ—Ç–≤–∞–Ω–µ –Ω–∞ —É—Å–ª—É–≥–∏",
315
+ "description": "–ú–æ–∂–µ –¥–∞ —Å–µ –∏–∑–º–µ—Ä–∏ –µ—Ñ–∏–∫–∞—Å–Ω–æ—Å—Ç—Ç–∞ –Ω–∞ —Ä–µ–∫–ª–∞–º–∏—Ç–µ –∏ —Å—ä–¥—ä—Ä–∂–∞–Ω–∏–µ—Ç–æ. –í–∞—à–∞—Ç–∞ –¥–µ–π–Ω–æ—Å—Ç –≤ —Ä–∞–º–∫–∏—Ç–µ –Ω–∞ —Ç–∞–∑–∏ —É—Å–ª—É–≥–∞ –º–æ–∂–µ –¥–∞ –ø–æ–º–æ–≥–Ω–µ –∑–∞ —Ä–∞–∑—Ä–∞–±–æ—Ç–≤–∞–Ω–µ—Ç–æ –∏ –ø–æ–¥–æ–±—Ä—è–≤–∞–Ω–µ—Ç–æ –Ω–∞ –ø—Ä–æ–¥—É–∫—Ç–∏ –∏ —É—Å–ª—É–≥–∏. –û—Ç—á–µ—Ç–∏—Ç–µ –º–æ–≥–∞—Ç –¥–∞ –±—ä–¥–∞—Ç –≥–µ–Ω–µ—Ä–∏—Ä–∞–Ω–∏ –Ω–∞ –±–∞–∑–∞—Ç–∞ –Ω–∞ –í–∞—à–∞—Ç–∞ –¥–µ–π–Ω–æ—Å—Ç –∏ —Ç–∞–∑–∏ –Ω–∞ –¥—Ä—É–≥–∏ –ª–∏—Ü–∞."
316
+ },
317
+ "44": {
318
+ "name": "–ü–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–æ —Å—ä–¥—ä—Ä–∂–∞–Ω–∏–µ",
319
+ "description": "–°—ä–¥—ä—Ä–∂–∞–Ω–∏–µ—Ç–æ –º–æ–∂–µ –¥–∞ –±—ä–¥–µ –ø–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–æ –≤—ä–∑ –æ—Å–Ω–æ–≤–∞ –Ω–∞ –í–∞—à–∏—è –ø—Ä–æ—Ñ–∏–ª. –í–∞—à–∞—Ç–∞ –∞–∫—Ç–∏–≤–Ω–æ—Å—Ç –≤ —Ç–∞–∑–∏ —É—Å–ª—É–≥–∞ –º–æ–∂–µ –¥–∞ —Å–µ –∏–∑–ø–æ–ª–∑–≤–∞ –∑–∞ –∏–∑–≥—Ä–∞–∂–¥–∞–Ω–µ –∏–ª–∏ –ø–æ–¥–æ–±—Ä—è–≤–∞–Ω–µ –Ω–∞ –ø—Ä–æ—Ñ–∏–ª –∑–∞ –í–∞—Å –∑–∞ –ø–µ—Ä—Å–æ–Ω–∞–ª–∏–∑–∏—Ä–∞–Ω–æ —Å—ä–¥—ä—Ä–∂–∞–Ω–∏–µ."
320
+ }
298
321
  }
299
322
  },
300
323
  "aria": {