prebid.js 10.2.0 → 10.4.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 (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"prebid.js","names":["getGlobal","deepAccess","deepClone","deepEqual","deepSetValue","flatten","generateUUID","isArray","isArrayOfNums","isEmpty","isFn","isGptPubadsDefined","isNumber","logError","logInfo","logMessage","logWarn","mergeDeep","transformAdServerTargetingObj","uniques","unsupportedBidderMessage","listenMessagesFromCreative","userSync","config","auctionManager","isBidUsable","targeting","hook","wrapHook","loadSession","storageCallbacks","adapterManager","getS2SBidderSet","BID_STATUS","EVENTS","NATIVE_KEYS","events","newMetrics","useMetrics","defer","PbPromise","pbYield","enrichFPD","allConsent","insertLocatorFrame","markBidAsRendered","markWinningBid","renderAdDirect","renderIfDeferred","getHighestCpm","fillVideoDefaults","ORTB_VIDEO_PARAMS","validateOrtbVideoFields","ORTB_BANNER_PARAMS","validateOrtbBannerFields","BANNER","VIDEO","delayIfPrerendering","newBidder","normalizeFPD","pbjsInstance","triggerUserSyncs","ADD_AD_UNITS","REQUEST_BIDS","SET_TARGETING","bidderSettings","libLoaded","version","adUnits","validateSizes","sizes","targLength","cleanSizes","length","every","sz","push","syncOrtb2","adUnit","mediaType","ortb2Imp","mediaTypes","fields","forEach","_ref","key","validator","mediaTypesFieldValue","ortbFieldValue","undefined","code","validateBannerMediaType","validatedAdUnit","banner","bannerSizes","format","formatSizes","filter","_ref2","w","h","wratio","hratio","map","_ref3","e","expdir","validateVideoMediaType","video","playerSize","tarPlayerSizeLen","videoSizes","validateNativeMediaType","err","msg","native","checkDeprecated","onDeprecated","hasOwnProperty","res","ortb","assets","some","asset","id","legacyNativeKeys","Object","keys","includes","nativeKeys","intersection","nativeKey","legacyKey","image","Array","aspect_ratios","icon","validateAdUnitPos","pos","isNaN","isFinite","warning","validateAdUnit","adUnitDef","bids","bidder","adUnitSetupChecks","assign","checkAdUnitSetup","validatedAdUnits","validatedBanner","validatedVideo","validatedNative","fillAdUnitDefaults","au","logInvocation","name","fn","_len","arguments","args","_key","apply","addApiMethod","method","log","getAdserverTargetingForAdUnitCodeStr","adUnitCode","getAdserverTargetingForAdUnitCode","getHighestUnusedBidResponseForAdUnitCode","bid","getAllBidsForAdUnitCode","reduce","getAdserverTargeting","getAllTargeting","getConsentMetadata","getConsentMeta","wrapInBids","arr","slice","getBids","type","responses","getAdUnitCodes","currentAuctionId","getLastAuctionId","auctionId","a","b","getNoBids","getNoBidsForAdUnitCode","getBidResponses","getBidResponsesForAdUnitCode","getBidsReceived","setTargetingForGPTAsync","customSlotMatching","setTargetingForGPT","setTargetingForAst","adUnitCodes","isApntagDefined","emit","renderAd","doc","options","removeAdUnit","i","splice","requestBids","delegate","reqBidOptions","bidsBackHandler","timeout","labels","ttlBuffer","ortb2","metrics","cbTimeout","getConfig","unit","ortb2Fragments","global","getAnyConfig","fromEntries","entries","getBidderConfig","_ref4","cfg","_ref5","_","resolve","then","startAuction","req","checkpoint","promiseFactory","r","Promise","call","promise","adUnitDefs","s2sBidders","measureTime","auctionDone","timedOut","tids","adUnitMediaTypes","allBidders","bidderRegistry","bidders","has","adUnitId","tid","ext","adapter","spec","getSpec","bidderMediaTypes","supportedMediaTypes","bidderEligible","transactionId","auction","createAuction","callback","adUnitsLen","getAuctionId","setLatestAuctionForAdUnit","callBids","executeCallbacks","reqBidsConfigObj","runAll","enableAnalyticsCallbacks","queue","queued","shift","before","addAdUnits","eventIdValidators","bidWon","getBidsRequested","bidSet","validateEventId","event","onEvent","handler","on","offEvent","off","getEvents","registerBidAdapter","bidderAdaptor","bidderCode","message","registerAnalyticsAdapter","enableAnalyticsCb","enableAnalytics","bind","aliasBidder","alias","aliasBidAdapter","aliasRegistry","getAllWinningBids","getAllPrebidWinningBids","status","BID_TARGETING_SET","getHighestCpmBids","getWinningBids","clearAllAuctions","markWinningBidAsUsed","_ref6","adId","analytics","addWinningBid","readAnyConfig","mergeConfig","mergeBidderConfig","setConfig","setBidderConfig","que","quePush","command","stack","_processQueue","cmd","called","processQueue","delayPrerendering","ready","triggerBilling","_ref7"],"sourceRoot":"../../..","sources":["src/prebid.ts"],"sourcesContent":["/** @module pbjs */\n\nimport {getGlobal, type PrebidJS} from './prebidGlobal.js';\nimport {\n deepAccess,\n deepClone,\n deepEqual,\n deepSetValue,\n flatten,\n generateUUID,\n isArray,\n isArrayOfNums,\n isEmpty,\n isFn,\n isGptPubadsDefined,\n isNumber,\n logError,\n logInfo,\n logMessage,\n logWarn,\n mergeDeep,\n transformAdServerTargetingObj,\n uniques,\n unsupportedBidderMessage\n} from './utils.js';\nimport {listenMessagesFromCreative} from './secureCreatives.js';\nimport {userSync} from './userSync.js';\nimport {config} from './config.js';\nimport {auctionManager} from './auctionManager.js';\nimport {isBidUsable, type SlotMatchingFn, targeting} from './targeting.js';\nimport {hook, wrapHook} from './hook.js';\nimport {loadSession} from './debugging.js';\nimport {storageCallbacks} from './storageManager.js';\nimport adapterManager, {\n type AliasBidderOptions,\n type BidRequest,\n getS2SBidderSet\n} from './adapterManager.js';\nimport {BID_STATUS, EVENTS, NATIVE_KEYS} from './constants.js';\nimport type {EventHandler, EventIDs, Event} from \"./events.js\";\nimport * as events from './events.js';\nimport {type Metrics, newMetrics, useMetrics} from './utils/perfMetrics.js';\nimport {type Defer, defer, PbPromise} from './utils/promise.js';\nimport {pbYield} from './utils/yield.js';\nimport {enrichFPD} from './fpd/enrichment.js';\nimport {allConsent} from './consentHandler.js';\nimport {\n insertLocatorFrame,\n markBidAsRendered,\n markWinningBid,\n renderAdDirect,\n renderIfDeferred\n} from './adRendering.js';\nimport {getHighestCpm} from './utils/reducers.js';\nimport {fillVideoDefaults, ORTB_VIDEO_PARAMS, validateOrtbVideoFields} from './video.js';\nimport {ORTB_BANNER_PARAMS, validateOrtbBannerFields} from './banner.js';\nimport {BANNER, VIDEO} from './mediaTypes.js';\nimport {delayIfPrerendering} from './utils/prerendering.js';\nimport {type BidAdapter, type BidderSpec, newBidder} from './adapters/bidderFactory.js';\nimport {normalizeFPD} from './fpd/normalize.js';\nimport type {Bid} from \"./bidfactory.ts\";\nimport type {AdUnit, AdUnitDefinition, BidderParams} from \"./adUnits.ts\";\nimport type {AdUnitCode, BidderCode, ByAdUnit, Identifier, ORTBFragments} from \"./types/common.d.ts\";\nimport type {ORTBRequest} from \"./types/ortb/request.d.ts\";\nimport type {DeepPartial} from \"./types/objects.d.ts\";\nimport type {AnyFunction, Wraps} from \"./types/functions.d.ts\";\nimport type {BidderScopedSettings, BidderSettings} from \"./bidderSettings.ts\";\n\nconst pbjsInstance = getGlobal();\nconst { triggerUserSyncs } = userSync;\n\n/* private variables */\nconst { ADD_AD_UNITS, REQUEST_BIDS, SET_TARGETING } = EVENTS;\n\n// initialize existing debugging sessions if present\nloadSession();\n\ndeclare module './prebidGlobal' {\n interface PrebidJS {\n bidderSettings: {\n standard?: BidderSettings<BidderCode>\n } & {\n [B in BidderCode]?: BidderScopedSettings<B>\n } & {\n [B in keyof BidderParams]?: BidderScopedSettings<B>\n };\n /**\n * True once Prebid is loaded.\n */\n libLoaded?: true;\n /**\n * Prebid version.\n */\n version: string;\n /**\n * Set this to true to delay processing of `que` / `cmd` until prerendering is complete\n * (applies only when the page is prerendering).\n */\n delayPrerendering?: boolean\n adUnits: AdUnitDefinition[];\n }\n}\n\npbjsInstance.bidderSettings = pbjsInstance.bidderSettings || {};\npbjsInstance.libLoaded = true;\n// version auto generated from build\npbjsInstance.version = 'v$prebid.version$';\nlogInfo('Prebid.js v$prebid.version$ loaded');\n\n// create adUnit array\npbjsInstance.adUnits = pbjsInstance.adUnits || [];\n\nfunction validateSizes(sizes, targLength?: number) {\n let cleanSizes = [];\n if (isArray(sizes) && ((targLength) ? sizes.length === targLength : sizes.length > 0)) {\n // check if an array of arrays or array of numbers\n if (sizes.every(sz => isArrayOfNums(sz, 2))) {\n cleanSizes = sizes;\n } else if (isArrayOfNums(sizes, 2)) {\n cleanSizes.push(sizes);\n }\n }\n return cleanSizes;\n}\n\n// synchronize fields between mediaTypes[mediaType] and ortb2Imp[mediaType]\nexport function syncOrtb2(adUnit, mediaType) {\n const ortb2Imp = deepAccess(adUnit, `ortb2Imp.${mediaType}`);\n const mediaTypes = deepAccess(adUnit, `mediaTypes.${mediaType}`);\n\n if (!ortb2Imp && !mediaTypes) {\n // omitting sync due to not present mediaType\n return;\n }\n\n const fields = {\n [VIDEO]: FEATURES.VIDEO && ORTB_VIDEO_PARAMS,\n [BANNER]: ORTB_BANNER_PARAMS\n }[mediaType];\n\n if (!fields) {\n return;\n }\n\n [...fields].forEach(([key, validator]) => {\n const mediaTypesFieldValue = deepAccess(adUnit, `mediaTypes.${mediaType}.${key}`);\n const ortbFieldValue = deepAccess(adUnit, `ortb2Imp.${mediaType}.${key}`);\n\n if (mediaTypesFieldValue == undefined && ortbFieldValue == undefined) {\n // omitting the params if it's not defined on either of sides\n } else if (mediaTypesFieldValue == undefined) {\n deepSetValue(adUnit, `mediaTypes.${mediaType}.${key}`, ortbFieldValue);\n } else if (ortbFieldValue == undefined) {\n deepSetValue(adUnit, `ortb2Imp.${mediaType}.${key}`, mediaTypesFieldValue);\n } else {\n logWarn(`adUnit ${adUnit.code}: specifies conflicting ortb2Imp.${mediaType}.${key} and mediaTypes.${mediaType}.${key}, the latter will be ignored`, adUnit);\n deepSetValue(adUnit, `mediaTypes.${mediaType}.${key}`, ortbFieldValue);\n }\n });\n}\n\nfunction validateBannerMediaType(adUnit: AdUnit) {\n const validatedAdUnit = deepClone(adUnit);\n const banner = validatedAdUnit.mediaTypes.banner;\n const bannerSizes = banner.sizes == null ? null : validateSizes(banner.sizes);\n const format = adUnit.ortb2Imp?.banner?.format ?? banner?.format;\n let formatSizes;\n if (format != null) {\n deepSetValue(validatedAdUnit, 'ortb2Imp.banner.format', format);\n banner.format = format;\n try {\n formatSizes = format\n .filter(({w, h, wratio, hratio}) => {\n if ((w ?? h) != null && (wratio ?? hratio) != null) {\n logWarn(`Ad unit banner.format specifies both w/h and wratio/hratio`, adUnit);\n return false;\n }\n return (w != null && h != null) || (wratio != null && hratio != null);\n })\n .map(({w, h, wratio, hratio}) => [w ?? wratio, h ?? hratio]);\n } catch (e) {\n logError(`Invalid format definition on ad unit ${adUnit.code}`, format);\n }\n if (formatSizes != null && bannerSizes != null && !deepEqual(bannerSizes, formatSizes)) {\n logWarn(`Ad unit ${adUnit.code} has conflicting sizes and format definitions`, adUnit);\n }\n }\n const sizes = formatSizes ?? bannerSizes ?? [];\n const expdir = adUnit.ortb2Imp?.banner?.expdir ?? banner.expdir;\n if (expdir != null) {\n banner.expdir = expdir;\n deepSetValue(validatedAdUnit, 'ortb2Imp.banner.expdir', expdir);\n }\n if (sizes.length > 0) {\n banner.sizes = sizes;\n // Deprecation Warning: This property will be deprecated in next release in favor of adUnit.mediaTypes.banner.sizes\n validatedAdUnit.sizes = sizes;\n } else {\n logError('Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request.');\n delete validatedAdUnit.mediaTypes.banner\n }\n validateOrtbBannerFields(validatedAdUnit);\n syncOrtb2(validatedAdUnit, 'banner')\n return validatedAdUnit;\n}\n\nfunction validateVideoMediaType(adUnit: AdUnit) {\n const validatedAdUnit = deepClone(adUnit);\n const video = validatedAdUnit.mediaTypes.video;\n if (video.playerSize) {\n const tarPlayerSizeLen = (typeof video.playerSize[0] === 'number') ? 2 : 1;\n\n const videoSizes = validateSizes(video.playerSize, tarPlayerSizeLen);\n if (videoSizes.length > 0) {\n if (tarPlayerSizeLen === 2) {\n logInfo('Transforming video.playerSize from [640,480] to [[640,480]] so it\\'s in the proper format.');\n }\n video.playerSize = videoSizes;\n // Deprecation Warning: This property will be deprecated in next release in favor of adUnit.mediaTypes.video.playerSize\n validatedAdUnit.sizes = videoSizes;\n } else {\n logError('Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.');\n delete validatedAdUnit.mediaTypes.video.playerSize;\n }\n }\n validateOrtbVideoFields(validatedAdUnit);\n syncOrtb2(validatedAdUnit, 'video');\n return validatedAdUnit;\n}\n\nfunction validateNativeMediaType(adUnit: AdUnit) {\n function err(msg) {\n logError(`Error in adUnit \"${adUnit.code}\": ${msg}. Removing native request from ad unit`, adUnit);\n delete validatedAdUnit.mediaTypes.native;\n return validatedAdUnit;\n }\n function checkDeprecated(onDeprecated) {\n for (const key of ['types']) {\n if (native.hasOwnProperty(key)) {\n const res = onDeprecated(key);\n if (res) return res;\n }\n }\n }\n const validatedAdUnit = deepClone(adUnit);\n const native = validatedAdUnit.mediaTypes.native;\n // if native assets are specified in OpenRTB format, remove legacy assets and print a warn.\n if (native.ortb) {\n if (native.ortb.assets?.some(asset => !isNumber(asset.id) || asset.id < 0 || asset.id % 1 !== 0)) {\n return err('native asset ID must be a nonnegative integer');\n }\n if (checkDeprecated(key => err(`ORTB native requests cannot specify \"${key}\"`))) {\n return validatedAdUnit;\n }\n const legacyNativeKeys = Object.keys(NATIVE_KEYS).filter(key => NATIVE_KEYS[key].includes('hb_native_'));\n const nativeKeys = Object.keys(native);\n const intersection = nativeKeys.filter(nativeKey => legacyNativeKeys.includes(nativeKey));\n if (intersection.length > 0) {\n logError(`when using native OpenRTB format, you cannot use legacy native properties. Deleting ${intersection} keys from request.`);\n intersection.forEach(legacyKey => delete validatedAdUnit.mediaTypes.native[legacyKey]);\n }\n } else {\n checkDeprecated(key => logWarn(`mediaTypes.native.${key} is deprecated, consider using native ORTB instead`, adUnit));\n }\n if (native.image && native.image.sizes && !Array.isArray(native.image.sizes)) {\n logError('Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request.');\n delete validatedAdUnit.mediaTypes.native.image.sizes;\n }\n if (native.image && native.image.aspect_ratios && !Array.isArray(native.image.aspect_ratios)) {\n logError('Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request.');\n delete validatedAdUnit.mediaTypes.native.image.aspect_ratios;\n }\n if (native.icon && native.icon.sizes && !Array.isArray(native.icon.sizes)) {\n logError('Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request.');\n delete validatedAdUnit.mediaTypes.native.icon.sizes;\n }\n return validatedAdUnit;\n}\n\nfunction validateAdUnitPos(adUnit, mediaType) {\n const pos = adUnit?.mediaTypes?.[mediaType]?.pos;\n\n if (!isNumber(pos) || isNaN(pos) || !isFinite(pos)) {\n const warning = `Value of property 'pos' on ad unit ${adUnit.code} should be of type: Number`;\n\n logWarn(warning);\n delete adUnit.mediaTypes[mediaType].pos;\n }\n\n return adUnit\n}\n\nfunction validateAdUnit(adUnitDef: AdUnitDefinition): AdUnit {\n const msg = (msg) => `adUnit.code '${adUnit.code}' ${msg}`;\n const adUnit = adUnitDef as AdUnit;\n const mediaTypes = adUnit.mediaTypes;\n const bids = adUnit.bids;\n\n if (bids != null && !isArray(bids)) {\n logError(msg(`defines 'adUnit.bids' that is not an array. Removing adUnit from auction`));\n return null;\n }\n if (bids == null && adUnit.ortb2Imp == null) {\n logError(msg(`has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction`));\n return null;\n }\n if (!mediaTypes || Object.keys(mediaTypes).length === 0) {\n logError(msg(`does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed.`));\n return null;\n }\n if (adUnit.ortb2Imp != null && (bids == null || bids.length === 0)) {\n adUnit.bids = [{bidder: null}]; // the 'null' bidder is treated as an s2s-only placeholder by adapterManager\n logMessage(msg(`defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters`));\n }\n\n return adUnit;\n}\n\nexport const adUnitSetupChecks = {\n validateAdUnit,\n validateBannerMediaType,\n validateSizes\n};\n\nif (FEATURES.NATIVE) {\n Object.assign(adUnitSetupChecks, { validateNativeMediaType });\n}\n\nif (FEATURES.VIDEO) {\n Object.assign(adUnitSetupChecks, { validateVideoMediaType });\n}\n\nexport const checkAdUnitSetup = hook('sync', function (adUnits: AdUnitDefinition[]) {\n const validatedAdUnits = [];\n\n adUnits.forEach(adUnitDef => {\n const adUnit = validateAdUnit(adUnitDef);\n if (adUnit == null) return;\n\n const mediaTypes = adUnit.mediaTypes;\n let validatedBanner, validatedVideo, validatedNative;\n\n if (mediaTypes.banner) {\n validatedBanner = validateBannerMediaType(adUnit);\n if (mediaTypes.banner.hasOwnProperty('pos')) validatedBanner = validateAdUnitPos(validatedBanner, 'banner');\n }\n\n if (FEATURES.VIDEO && mediaTypes.video) {\n validatedVideo = validatedBanner ? validateVideoMediaType(validatedBanner) : validateVideoMediaType(adUnit);\n if (mediaTypes.video.hasOwnProperty('pos')) validatedVideo = validateAdUnitPos(validatedVideo, 'video');\n }\n\n if (FEATURES.NATIVE && mediaTypes.native) {\n validatedNative = validatedVideo ? validateNativeMediaType(validatedVideo) : validatedBanner ? validateNativeMediaType(validatedBanner) : validateNativeMediaType(adUnit);\n }\n\n const validatedAdUnit = Object.assign({}, validatedBanner, validatedVideo, validatedNative);\n\n validatedAdUnits.push(validatedAdUnit);\n });\n\n return validatedAdUnits;\n}, 'checkAdUnitSetup');\n\nfunction fillAdUnitDefaults(adUnits: AdUnitDefinition[]) {\n if (FEATURES.VIDEO) {\n adUnits.forEach(au => fillVideoDefaults(au))\n }\n}\n\nfunction logInvocation<T extends AnyFunction>(name: string, fn: T): Wraps<T> {\n return function (...args) {\n logInfo(`Invoking $$PREBID_GLOBAL$$.${name}`, args);\n return fn.apply(this, args);\n }\n}\n\nexport function addApiMethod<N extends keyof PrebidJS>(name: N, method: PrebidJS[N], log = true) {\n getGlobal()[name] = log ? logInvocation(name, method) as PrebidJS[N] : method;\n}\n\n/// ///////////////////////////////\n// //\n// Start Public APIs //\n// //\n/// ///////////////////////////////\n\ndeclare module './prebidGlobal' {\n interface PrebidJS {\n /**\n * Re-trigger user syncs. Requires the `userSync.enableOverride` config to be set.\n */\n triggerUserSyncs: typeof triggerUserSyncs;\n getAdserverTargetingForAdUnitCodeStr: typeof getAdserverTargetingForAdUnitCodeStr;\n getHighestUnusedBidResponseForAdUnitCode: typeof getHighestUnusedBidResponseForAdUnitCode;\n getAdserverTargetingForAdUnitCode: typeof getAdserverTargetingForAdUnitCode;\n getAdserverTargeting: typeof getAdserverTargeting;\n getConsentMetadata: typeof getConsentMetadata;\n getNoBids: typeof getNoBids;\n getNoBidsForAdUnitCode: typeof getNoBidsForAdUnitCode;\n getBidResponses: typeof getBidResponses;\n getBidResponsesForAdUnitCode: typeof getBidResponsesForAdUnitCode;\n setTargetingForGPTAsync: typeof setTargetingForGPTAsync;\n setTargetingForAst: typeof setTargetingForAst;\n renderAd: typeof renderAd;\n removeAdUnit: typeof removeAdUnit;\n requestBids: RequestBids;\n addAdUnits: typeof addAdUnits;\n onEvent: typeof onEvent;\n offEvent: typeof offEvent;\n getEvents: typeof getEvents;\n registerBidAdapter: typeof registerBidAdapter;\n registerAnalyticsAdapter: typeof adapterManager.registerAnalyticsAdapter;\n enableAnalytics: typeof adapterManager.enableAnalytics;\n aliasBidder: typeof aliasBidder;\n aliasRegistry: typeof adapterManager.aliasRegistry;\n getAllWinningBids: typeof getAllWinningBids;\n getAllPrebidWinningBids: typeof getAllPrebidWinningBids;\n getHighestCpmBids: typeof getHighestCpmBids;\n clearAllAuctions: typeof clearAllAuctions;\n markWinningBidAsUsed: typeof markWinningBidAsUsed;\n getConfig: typeof config.getConfig;\n readConfig: typeof config.readConfig;\n mergeConfig: typeof config.mergeConfig;\n mergeBidderConfig: typeof config.mergeBidderConfig;\n setConfig: typeof config.setConfig;\n setBidderConfig: typeof config.setBidderConfig;\n processQueue: typeof processQueue;\n triggerBilling: typeof triggerBilling;\n }\n}\n\n// Allow publishers who enable user sync override to trigger their sync\naddApiMethod('triggerUserSyncs', triggerUserSyncs);\n\n/**\n * Return a query string with all available targeting parameters for the given ad unit.\n *\n * @param adUnitCode ad unit code to target\n */\nfunction getAdserverTargetingForAdUnitCodeStr(adUnitCode: AdUnitCode): string {\n if (adUnitCode) {\n const res = getAdserverTargetingForAdUnitCode(adUnitCode);\n return transformAdServerTargetingObj(res);\n } else {\n logMessage('Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode');\n }\n}\naddApiMethod('getAdserverTargetingForAdUnitCodeStr', getAdserverTargetingForAdUnitCodeStr);\n\n/**\n * Return the highest cpm, unused bid for the given ad unit.\n * @param adUnitCode\n */\nfunction getHighestUnusedBidResponseForAdUnitCode(adUnitCode: AdUnitCode): Bid {\n if (adUnitCode) {\n const bid = auctionManager.getAllBidsForAdUnitCode(adUnitCode)\n .filter(isBidUsable)\n\n return bid.length ? bid.reduce(getHighestCpm) : null\n } else {\n logMessage('Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode');\n }\n}\naddApiMethod('getHighestUnusedBidResponseForAdUnitCode', getHighestUnusedBidResponseForAdUnitCode);\n\n/**\n * Returns targeting key-value pairs available at this moment for a given ad unit.\n * @param adUnitCode adUnitCode to get the bid responses for\n */\nfunction getAdserverTargetingForAdUnitCode(adUnitCode) {\n return getAdserverTargeting(adUnitCode)[adUnitCode];\n}\naddApiMethod('getAdserverTargetingForAdUnitCode', getAdserverTargetingForAdUnitCode);\n\n/**\n * returns all ad server targeting, optionally scoped to the given ad unit(s).\n * @return Map of adUnitCodes to targeting key-value pairs\n */\nfunction getAdserverTargeting(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n return targeting.getAllTargeting(adUnitCode);\n}\naddApiMethod('getAdserverTargeting', getAdserverTargeting);\n\nfunction getConsentMetadata() {\n return allConsent.getConsentMeta()\n}\naddApiMethod('getConsentMetadata', getConsentMetadata);\n\ntype WrapsInBids<T> = T[] & {\n bids: T[]\n}\n\nfunction wrapInBids(arr) {\n arr = arr.slice();\n arr.bids = arr;\n return arr;\n}\n\nfunction getBids<T>(type): ByAdUnit<WrapsInBids<T>> {\n const responses = auctionManager[type]()\n .filter(bid => auctionManager.getAdUnitCodes().includes(bid.adUnitCode))\n\n // find the last auction id to get responses for most recent auction only\n const currentAuctionId = auctionManager.getLastAuctionId();\n\n return responses\n .map(bid => bid.adUnitCode)\n .filter(uniques).map(adUnitCode => responses\n .filter(bid => bid.auctionId === currentAuctionId && bid.adUnitCode === adUnitCode))\n .filter(bids => bids && bids[0] && bids[0].adUnitCode)\n .map(bids => {\n return {\n [bids[0].adUnitCode]: wrapInBids(bids)\n };\n })\n .reduce((a, b) => Object.assign(a, b), {});\n}\n\n/**\n * @returns the bids requests involved in an auction but not bid on\n */\nfunction getNoBids() {\n return getBids<BidRequest<BidderCode>>('getNoBids');\n}\naddApiMethod('getNoBids', getNoBids);\n\n/**\n * @returns the bids requests involved in an auction but not bid on or the specified adUnitCode\n */\nfunction getNoBidsForAdUnitCode(adUnitCode: AdUnitCode): WrapsInBids<BidRequest<BidderCode>> {\n const bids = auctionManager.getNoBids().filter(bid => bid.adUnitCode === adUnitCode);\n return wrapInBids(bids);\n}\naddApiMethod('getNoBidsForAdUnitCode', getNoBidsForAdUnitCode);\n\n/**\n * @return a map from ad unit code to all bids received for that ad unit code.\n */\nfunction getBidResponses() {\n return getBids<Bid>('getBidsReceived');\n}\naddApiMethod('getBidResponses', getBidResponses);\n\n/**\n * Returns bids received for the specified ad unit.\n * @param adUnitCode ad unit code\n */\nfunction getBidResponsesForAdUnitCode(adUnitCode: AdUnitCode): WrapsInBids<Bid> {\n const bids = auctionManager.getBidsReceived().filter(bid => bid.adUnitCode === adUnitCode);\n return wrapInBids(bids);\n}\naddApiMethod('getBidResponsesForAdUnitCode', getBidResponsesForAdUnitCode);\n\n/**\n * Set query string targeting on one or more GPT ad units.\n * @param adUnit a single `adUnit.code` or multiple.\n * @param customSlotMatching gets a GoogleTag slot and returns a filter function for adUnitCode, so you can decide to match on either eg. return slot => { return adUnitCode => { return slot.getSlotElementId() === 'myFavoriteDivId'; } };\n */\nfunction setTargetingForGPTAsync(adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n if (!isGptPubadsDefined()) {\n logError('window.googletag is not defined on the page');\n return;\n }\n targeting.setTargetingForGPT(adUnit, customSlotMatching);\n}\naddApiMethod('setTargetingForGPTAsync', setTargetingForGPTAsync);\n\n/**\n * Set query string targeting on all AST (AppNexus Seller Tag) ad units. Note that this function has to be called after all ad units on page are defined. For working example code, see [Using Prebid.js with AppNexus Publisher Ad Server](http://prebid.org/dev-docs/examples/use-prebid-with-appnexus-ad-server.html).\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n */\nfunction setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n if (!targeting.isApntagDefined()) {\n logError('window.apntag is not defined on the page');\n return;\n }\n\n targeting.setTargetingForAst(adUnitCodes);\n events.emit(SET_TARGETING, targeting.getAllTargeting());\n}\n\naddApiMethod('setTargetingForAst', setTargetingForAst);\n\ntype RenderAdOptions = {\n /**\n * Click through URL. Used to replace ${CLICKTHROUGH} macro in ad markup.\n */\n clickThrough?: string;\n}\n/**\n * This function will render the ad (based on params) in the given iframe document passed through.\n * Note that doc SHOULD NOT be the parent document page as we can't doc.write() asynchronously\n * @param doc document\n * @param id adId of the bid to render\n * @param options\n */\nasync function renderAd(doc: Document, id: Bid['adId'], options?: RenderAdOptions) {\n await pbYield();\n renderAdDirect(doc, id, options);\n}\naddApiMethod('renderAd', renderAd);\n\n/**\n * Remove adUnit from the $$PREBID_GLOBAL$$ configuration, if there are no addUnitCode(s) it will remove all\n * @param adUnitCode the adUnitCode(s) to remove\n * @alias module:pbjs.removeAdUnit\n */\nfunction removeAdUnit(adUnitCode?: AdUnitCode) {\n if (!adUnitCode) {\n pbjsInstance.adUnits = [];\n return;\n }\n\n let adUnitCodes;\n\n if (isArray(adUnitCode)) {\n adUnitCodes = adUnitCode;\n } else {\n adUnitCodes = [adUnitCode];\n }\n\n adUnitCodes.forEach((adUnitCode) => {\n for (let i = pbjsInstance.adUnits.length - 1; i >= 0; i--) {\n if (pbjsInstance.adUnits[i].code === adUnitCode) {\n pbjsInstance.adUnits.splice(i, 1);\n }\n }\n });\n}\naddApiMethod('removeAdUnit', removeAdUnit);\n\nexport type RequestBidsOptions = {\n /**\n * Callback to execute when all the bid responses are back or the timeout hits. Parameters may be undefined\n * in situations where the auction is canceled prematurely (e.g. CMP errors)\n */\n bidsBackHandler?: (bids?: RequestBidsResult['bids'], timedOut?: RequestBidsResult['timedOut'], auctionId?: RequestBidsResult['auctionId']) => void;\n /**\n * TTL buffer override for this auction.\n */\n ttlBuffer?: number;\n /**\n * Timeout for requesting the bids specified in milliseconds\n */\n timeout?: number;\n /**\n * AdUnit definitions to request. Use this or adUnitCodes. Default to all adUnits if empty.\n */\n adUnits?: AdUnitDefinition[];\n /**\n * adUnit codes to request. Use this or adUnits. Default to all adUnits if empty.\n */\n adUnitCodes?: AdUnitCode[];\n /**\n * Defines labels that may be matched on ad unit targeting conditions.\n */\n labels?: string[];\n /**\n * Defines an auction ID to be used rather than having Prebid generate one.\n * This can be useful if there are multiple wrappers on a page and a single auction ID\n * is desired to tie them together in analytics.\n */\n auctionId?: string;\n /**\n * Additional first-party data to use for this auction only\n */\n ortb2?: DeepPartial<ORTBRequest>;\n}\n\ntype RequestBidsResult = {\n /**\n * Bids received, grouped by ad unit.\n */\n bids?: ByAdUnit<WrapsInBids<Bid>>;\n /**\n * True if any bidder timed out.\n */\n timedOut?: boolean;\n /**\n * The auction's ID\n */\n auctionId?: Identifier;\n}\n\nexport type PrivRequestBidsOptions = RequestBidsOptions & {\n defer: Defer<RequestBidsResult>;\n metrics: Metrics;\n /**\n * Ad units are always defined and fixed here (as opposed to the public API where we may fall back to\n * the global array).\n */\n adUnits: AdUnitDefinition[];\n}\n\nexport type StartAuctionOptions = Omit<PrivRequestBidsOptions, 'ortb2'> & {\n ortb2Fragments: ORTBFragments\n}\n\ndeclare module './hook' {\n interface NamedHooks {\n requestBids: typeof requestBids;\n startAuction: typeof startAuction;\n }\n}\n\ninterface RequestBids {\n (options?: RequestBidsOptions): Promise<RequestBidsResult>;\n}\n\ndeclare module './events' {\n interface Events {\n /**\n * Fired when `requestBids` is called.\n */\n [REQUEST_BIDS]: [];\n }\n}\n\nexport const requestBids = (function() {\n const delegate = hook('async', function (reqBidOptions: PrivRequestBidsOptions): void {\n let { bidsBackHandler, timeout, adUnits, adUnitCodes, labels, auctionId, ttlBuffer, ortb2, metrics, defer } = reqBidOptions ?? {};\n events.emit(REQUEST_BIDS);\n const cbTimeout = timeout || config.getConfig('bidderTimeout');\n if (adUnitCodes != null && !Array.isArray(adUnitCodes)) {\n adUnitCodes = [adUnitCodes];\n }\n if (adUnitCodes && adUnitCodes.length) {\n // if specific adUnitCodes supplied filter adUnits for those codes\n adUnits = adUnits.filter(unit => adUnitCodes.includes(unit.code));\n } else {\n // otherwise derive adUnitCodes from adUnits\n adUnitCodes = adUnits && adUnits.map(unit => unit.code);\n }\n adUnitCodes = adUnitCodes.filter(uniques);\n let ortb2Fragments = {\n global: mergeDeep({}, config.getAnyConfig('ortb2') || {}, ortb2 || {}),\n bidder: Object.fromEntries(Object.entries<any>(config.getBidderConfig()).map(([bidder, cfg]) => [bidder, deepClone(cfg.ortb2)]).filter(([_, ortb2]) => ortb2 != null))\n }\n ortb2Fragments = normalizeFPD(ortb2Fragments);\n\n enrichFPD(PbPromise.resolve(ortb2Fragments.global)).then(global => {\n ortb2Fragments.global = global;\n return startAuction({bidsBackHandler, timeout: cbTimeout, adUnits, adUnitCodes, labels, auctionId, ttlBuffer, ortb2Fragments, metrics, defer});\n })\n }, 'requestBids');\n\n return wrapHook(delegate, delayIfPrerendering(() => !config.getConfig('allowPrerendering'), function requestBids(options: RequestBidsOptions = {}) {\n // unlike the main body of `delegate`, this runs before any other hook has a chance to;\n // it's also not restricted in its return value in the way `async` hooks are.\n\n // if the request does not specify adUnits, clone the global adUnit array;\n // otherwise, if the caller goes on to use addAdUnits/removeAdUnits, any asynchronous logic\n // in any hook might see their effects.\n const req = options as PrivRequestBidsOptions;\n const adUnits = req.adUnits || pbjsInstance.adUnits;\n req.adUnits = (Array.isArray(adUnits) ? adUnits.slice() : [adUnits]);\n\n req.metrics = newMetrics();\n req.metrics.checkpoint('requestBids');\n req.defer = defer({ promiseFactory: (r) => new Promise(r)})\n delegate.call(this, req);\n return req.defer.promise;\n }));\n})();\n\naddApiMethod('requestBids', requestBids as unknown as RequestBids);\n\nexport const startAuction = hook('async', function ({ bidsBackHandler, timeout: cbTimeout, adUnits: adUnitDefs, ttlBuffer, adUnitCodes, labels, auctionId, ortb2Fragments, metrics, defer }: StartAuctionOptions = {} as any) {\n const s2sBidders = getS2SBidderSet(config.getConfig('s2sConfig') || []);\n fillAdUnitDefaults(adUnitDefs);\n const adUnits: AdUnit[] = useMetrics(metrics).measureTime('requestBids.validate', () => checkAdUnitSetup(adUnitDefs));\n\n function auctionDone(bids?, timedOut?: boolean, auctionId?: string) {\n if (typeof bidsBackHandler === 'function') {\n try {\n bidsBackHandler(bids, timedOut, auctionId);\n } catch (e) {\n logError('Error executing bidsBackHandler', null, e);\n }\n }\n defer.resolve({ bids, timedOut, auctionId })\n }\n\n const tids = {};\n /*\n * for a given adunit which supports a set of mediaTypes\n * and a given bidder which supports a set of mediaTypes\n * a bidder is eligible to participate on the adunit\n * if it supports at least one of the mediaTypes on the adunit\n */\n adUnits.forEach(adUnit => {\n // get the adunit's mediaTypes, defaulting to banner if mediaTypes isn't present\n const adUnitMediaTypes = Object.keys(adUnit.mediaTypes || { 'banner': 'banner' });\n\n // get the bidder's mediaTypes\n const allBidders = adUnit.bids.map(bid => bid.bidder);\n const bidderRegistry = adapterManager.bidderRegistry;\n\n const bidders = allBidders.filter(bidder => !s2sBidders.has(bidder));\n adUnit.adUnitId = generateUUID();\n const tid = adUnit.ortb2Imp?.ext?.tid;\n if (tid) {\n if (tids.hasOwnProperty(adUnit.code)) {\n logWarn(`Multiple distinct ortb2Imp.ext.tid were provided for twin ad units '${adUnit.code}'`)\n } else {\n tids[adUnit.code] = tid;\n }\n }\n if (ttlBuffer != null && !adUnit.hasOwnProperty('ttlBuffer')) {\n adUnit.ttlBuffer = ttlBuffer;\n }\n bidders.forEach(bidder => {\n const adapter = bidderRegistry[bidder];\n const spec = adapter && adapter.getSpec && adapter.getSpec();\n // banner is default if not specified in spec\n const bidderMediaTypes = (spec && spec.supportedMediaTypes) || ['banner'];\n\n // check if the bidder's mediaTypes are not in the adUnit's mediaTypes\n const bidderEligible = adUnitMediaTypes.some(type => bidderMediaTypes.includes(type));\n if (!bidderEligible) {\n // drop the bidder from the ad unit if it's not compatible\n logWarn(unsupportedBidderMessage(adUnit, bidder));\n adUnit.bids = adUnit.bids.filter(bid => bid.bidder !== bidder);\n }\n });\n });\n if (!adUnits || adUnits.length === 0) {\n logMessage('No adUnits configured. No bids requested.');\n auctionDone();\n } else {\n adUnits.forEach(au => {\n const tid = au.ortb2Imp?.ext?.tid || tids[au.code] || generateUUID();\n if (!tids.hasOwnProperty(au.code)) {\n tids[au.code] = tid;\n }\n au.transactionId = tid;\n deepSetValue(au, 'ortb2Imp.ext.tid', tid);\n });\n const auction = auctionManager.createAuction({\n adUnits,\n adUnitCodes,\n callback: auctionDone,\n cbTimeout,\n labels,\n auctionId,\n ortb2Fragments,\n metrics,\n });\n\n const adUnitsLen = adUnits.length;\n if (adUnitsLen > 15) {\n logInfo(`Current auction ${auction.getAuctionId()} contains ${adUnitsLen} adUnits.`, adUnits);\n }\n\n adUnitCodes.forEach(code => targeting.setLatestAuctionForAdUnit(code, auction.getAuctionId()));\n auction.callBids();\n }\n}, 'startAuction');\n\nexport function executeCallbacks(fn, reqBidsConfigObj) {\n runAll(storageCallbacks);\n runAll(enableAnalyticsCallbacks);\n fn.call(this, reqBidsConfigObj);\n\n function runAll(queue) {\n let queued;\n while ((queued = queue.shift())) {\n queued();\n }\n }\n}\n\n// This hook will execute all storage callbacks which were registered before gdpr enforcement hook was added. Some bidders, user id modules use storage functions when module is parsed but gdpr enforcement hook is not added at that stage as setConfig callbacks are yet to be called. Hence for such calls we execute all the stored callbacks just before requestBids. At this hook point we will know for sure that tcfControl module is added or not\nrequestBids.before(executeCallbacks, 49);\n\ndeclare module './events' {\n interface Events {\n /**\n * Fired when `.addAdUniuts` is called.\n */\n [ADD_AD_UNITS]: [];\n }\n}\n/**\n * Add ad unit(s)\n * @param adUnits\n */\nfunction addAdUnits(adUnits: AdUnitDefinition | AdUnitDefinition[]) {\n pbjsInstance.adUnits.push(...(Array.isArray(adUnits) ? adUnits : [adUnits]))\n events.emit(ADD_AD_UNITS);\n}\n\naddApiMethod('addAdUnits', addAdUnits);\n\nconst eventIdValidators = {\n bidWon(id) {\n const adUnitCodes = auctionManager.getBidsRequested().map(bidSet => bidSet.bids.map(bid => bid.adUnitCode))\n .reduce(flatten)\n .filter(uniques);\n\n if (!adUnitCodes.includes(id)) {\n logError('The \"' + id + '\" placement is not defined.');\n return;\n }\n\n return true;\n }\n};\n\nfunction validateEventId(event, id) {\n return eventIdValidators.hasOwnProperty(event) && eventIdValidators[event](id);\n}\n\n/**\n * @param event the name of the event\n * @param handler a callback to set on event\n * @param id an identifier in the context of the event\n *\n * This API call allows you to register a callback to handle a Prebid.js event.\n * An optional `id` parameter provides more finely-grained event callback registration.\n * This makes it possible to register callback events for a specific item in the\n * event context. For example, `bidWon` events will accept an `id` for ad unit code.\n * `bidWon` callbacks registered with an ad unit code id will be called when a bid\n * for that ad unit code wins the auction. Without an `id` this method registers the\n * callback for every `bidWon` event.\n *\n * Currently `bidWon` is the only event that accepts an `id` parameter.\n */\nfunction onEvent<E extends Event>(event: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n if (!isFn(handler)) {\n logError('The event handler provided is not a function and was not set on event \"' + event + '\".');\n return;\n }\n\n if (id && !validateEventId(event, id)) {\n logError('The id provided is not valid for event \"' + event + '\" and no handler was set.');\n return;\n }\n\n events.on(event, handler, id);\n}\naddApiMethod('onEvent', onEvent);\n\n/**\n * @param event the name of the event\n * @param handler a callback to remove from the event\n * @param id an identifier in the context of the event (see `$$PREBID_GLOBAL$$.onEvent`)\n */\nfunction offEvent<E extends Event>(event: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n if (id && !validateEventId(event, id)) {\n return;\n }\n events.off(event, handler, id);\n}\naddApiMethod('offEvent', offEvent);\n\n/**\n * Return a copy of all events emitted\n */\nfunction getEvents() {\n return events.getEvents();\n}\naddApiMethod('getEvents', getEvents);\n\nfunction registerBidAdapter(adapter: BidAdapter, bidderCode: BidderCode): void;\nfunction registerBidAdapter<B extends BidderCode>(adapter: void, bidderCode: B, spec: BidderSpec<B>): void;\nfunction registerBidAdapter(bidderAdaptor, bidderCode, spec?) {\n try {\n const bidder = spec ? newBidder(spec) : bidderAdaptor();\n adapterManager.registerBidAdapter(bidder, bidderCode);\n } catch (e) {\n logError('Error registering bidder adapter : ' + e.message);\n }\n}\naddApiMethod('registerBidAdapter', registerBidAdapter);\n\nfunction registerAnalyticsAdapter(options) {\n try {\n adapterManager.registerAnalyticsAdapter(options);\n } catch (e) {\n logError('Error registering analytics adapter : ' + e.message);\n }\n}\naddApiMethod('registerAnalyticsAdapter', registerAnalyticsAdapter);\n\nconst enableAnalyticsCallbacks = [];\n\nconst enableAnalyticsCb = hook('async', function (config) {\n if (config && !isEmpty(config)) {\n adapterManager.enableAnalytics(config);\n } else {\n logError('$$PREBID_GLOBAL$$.enableAnalytics should be called with option {}');\n }\n}, 'enableAnalyticsCb');\n\nfunction enableAnalytics(config) {\n enableAnalyticsCallbacks.push(enableAnalyticsCb.bind(this, config));\n}\naddApiMethod('enableAnalytics', enableAnalytics);\n\n/**\n * Define an alias for a bid adapter.\n */\nfunction aliasBidder(bidderCode: BidderCode, alias: BidderCode, options?: AliasBidderOptions) {\n if (bidderCode && alias) {\n adapterManager.aliasBidAdapter(bidderCode, alias, options);\n } else {\n logError('bidderCode and alias must be passed as arguments', '$$PREBID_GLOBAL$$.aliasBidder');\n }\n}\naddApiMethod('aliasBidder', aliasBidder);\n\npbjsInstance.aliasRegistry = adapterManager.aliasRegistry;\nconfig.getConfig('aliasRegistry', config => {\n if (config.aliasRegistry === 'private') delete pbjsInstance.aliasRegistry;\n});\n\n/**\n * @return All bids that have been rendered. Useful for [troubleshooting your integration](http://prebid.org/dev-docs/prebid-troubleshooting-guide.html).\n */\nfunction getAllWinningBids(): Bid[] {\n return auctionManager.getAllWinningBids();\n}\n\naddApiMethod('getAllWinningBids', getAllWinningBids)\n\n/**\n * @return Bids that have won their respective auctions but have not been rendered yet.\n */\nfunction getAllPrebidWinningBids(): Bid[] {\n logWarn('getAllPrebidWinningBids may be removed or renamed in a future version. This function returns bids that have won in prebid and have had targeting set but have not (yet?) won in the ad server. It excludes bids that have been rendered.');\n return auctionManager.getBidsReceived()\n .filter(bid => bid.status === BID_STATUS.BID_TARGETING_SET);\n}\n\naddApiMethod('getAllPrebidWinningBids', getAllPrebidWinningBids);\n\n/**\n * Get highest cpm bids for all adUnits, or highest cpm bid object for the given adUnit\n * @param adUnitCode - ad unit code\n */\nfunction getHighestCpmBids(adUnitCode?: string): Bid[] {\n return targeting.getWinningBids(adUnitCode);\n}\n\naddApiMethod('getHighestCpmBids', getHighestCpmBids);\n\n/**\n * Clear all auctions (and their bids) from the bid cache.\n */\nfunction clearAllAuctions() {\n auctionManager.clearAllAuctions();\n}\naddApiMethod('clearAllAuctions', clearAllAuctions);\n\ntype MarkWinningBidAsUsedOptions = ({\n /**\n * The id representing the ad we want to mark\n */\n adId: string;\n adUnitCode?: undefined | null\n} | {\n /**\n * The ad unit code\n */\n adUnitCode: AdUnitCode;\n adId?: undefined | null;\n\n}) & {\n /**\n * If true, fires tracking pixels and BID_WON handlers\n */\n events?: boolean;\n /**\n * @deprecated - alias of `events`\n */\n analytics?: boolean\n}\n\n/**\n * Mark the winning bid as used, should only be used in conjunction with video\n */\nfunction markWinningBidAsUsed({adId, adUnitCode, analytics = false, events = false}: MarkWinningBidAsUsedOptions) {\n let bids;\n if (adUnitCode && adId == null) {\n bids = targeting.getWinningBids(adUnitCode);\n } else if (adId) {\n bids = auctionManager.getBidsReceived().filter(bid => bid.adId === adId)\n } else {\n logWarn('Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function.');\n }\n if (bids.length > 0) {\n if (analytics || events) {\n markWinningBid(bids[0]);\n } else {\n auctionManager.addWinningBid(bids[0]);\n }\n markBidAsRendered(bids[0])\n }\n}\n\nif (FEATURES.VIDEO) {\n addApiMethod('markWinningBidAsUsed', markWinningBidAsUsed);\n}\n\naddApiMethod('getConfig', config.getAnyConfig);\naddApiMethod('readConfig', config.readAnyConfig);\naddApiMethod('mergeConfig', config.mergeConfig);\naddApiMethod('mergeBidderConfig', config.mergeBidderConfig);\naddApiMethod('setConfig', config.setConfig);\naddApiMethod('setBidderConfig', config.setBidderConfig);\n\npbjsInstance.que.push(() => listenMessagesFromCreative());\n\n/**\n * This queue lets users load Prebid asynchronously, but run functions the same way regardless of whether it gets loaded\n * before or after their script executes. For example, given the code:\n *\n * <script src=\"url/to/Prebid.js\" async></script>\n * <script>\n * var pbjs = pbjs || {};\n * pbjs.cmd = pbjs.cmd || [];\n * pbjs.cmd.push(functionToExecuteOncePrebidLoads);\n * </script>\n *\n * If the page's script runs before prebid loads, then their function gets added to the queue, and executed\n * by prebid once it's done loading. If it runs after prebid loads, then this monkey-patch causes their\n * function to execute immediately.\n *\n * @param {function} command A function which takes no arguments. This is guaranteed to run exactly once, and only after\n * the Prebid script has been fully loaded.\n * @alias module:pbjs.cmd.push\n * @alias module:pbjs.que.push\n */\nfunction quePush(command) {\n if (typeof command === 'function') {\n try {\n command.call();\n } catch (e) {\n logError('Error processing command :', e.message, e.stack);\n }\n } else {\n logError('Commands written into $$PREBID_GLOBAL$$.cmd.push must be wrapped in a function');\n }\n}\n\nasync function _processQueue(queue) {\n for (const cmd of queue) {\n if (typeof cmd.called === 'undefined') {\n try {\n cmd.call();\n cmd.called = true;\n } catch (e) {\n logError('Error processing command :', 'prebid.js', e);\n }\n }\n await pbYield();\n }\n}\n\n/**\n * Process the command queue, effectively booting up Prebid.\n * Bundles generated by the build automatically include a call to this; NPM consumers\n * should call this after loading all modules and before using other APIs.\n */\nconst processQueue = delayIfPrerendering(() => pbjsInstance.delayPrerendering, async function () {\n pbjsInstance.que.push = pbjsInstance.cmd.push = quePush;\n insertLocatorFrame();\n hook.ready();\n await _processQueue(pbjsInstance.que);\n await _processQueue(pbjsInstance.cmd);\n})\naddApiMethod('processQueue', processQueue, false);\n\n/**\n * Manually trigger billing for a winning bid, idendified either by ad ID or ad unit code.\n * Used in conjunction with `adUnit.deferBilling`.\n */\nfunction triggerBilling({adId, adUnitCode}: {\n adId?: string;\n adUnitCode?: AdUnitCode\n}) {\n auctionManager.getAllWinningBids()\n .filter((bid) => bid.adId === adId || (adId == null && bid.adUnitCode === adUnitCode))\n .forEach((bid) => {\n adapterManager.triggerBilling(bid);\n renderIfDeferred(bid);\n });\n}\naddApiMethod('triggerBilling', triggerBilling);\n\nexport default pbjsInstance;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"prebid.js","names":["getGlobal","deepAccess","deepClone","deepEqual","deepSetValue","flatten","generateUUID","isArray","isArrayOfNums","isEmpty","isFn","isGptPubadsDefined","isNumber","logError","logInfo","logMessage","logWarn","mergeDeep","transformAdServerTargetingObj","uniques","unsupportedBidderMessage","listenMessagesFromCreative","userSync","config","auctionManager","isBidUsable","targeting","hook","wrapHook","loadSession","storageCallbacks","adapterManager","getS2SBidderSet","BID_STATUS","EVENTS","NATIVE_KEYS","events","newMetrics","useMetrics","defer","PbPromise","pbYield","enrichFPD","allConsent","insertLocatorFrame","markBidAsRendered","markWinningBid","renderAdDirect","renderIfDeferred","getHighestCpm","fillVideoDefaults","ORTB_VIDEO_PARAMS","validateOrtbVideoFields","ORTB_BANNER_PARAMS","validateOrtbBannerFields","BANNER","VIDEO","delayIfPrerendering","newBidder","normalizeFPD","pbjsInstance","triggerUserSyncs","ADD_AD_UNITS","REQUEST_BIDS","SET_TARGETING","bidderSettings","libLoaded","version","adUnits","validateSizes","sizes","targLength","cleanSizes","length","every","sz","push","syncOrtb2","adUnit","mediaType","ortb2Imp","mediaTypes","fields","forEach","_ref","key","validator","mediaTypesFieldValue","ortbFieldValue","undefined","code","validateBannerMediaType","validatedAdUnit","banner","bannerSizes","format","formatSizes","filter","_ref2","w","h","wratio","hratio","map","_ref3","e","expdir","validateVideoMediaType","video","playerSize","tarPlayerSizeLen","videoSizes","validateNativeMediaType","err","msg","native","checkDeprecated","onDeprecated","hasOwnProperty","res","ortb","assets","some","asset","id","legacyNativeKeys","Object","keys","includes","nativeKeys","intersection","nativeKey","legacyKey","image","Array","aspect_ratios","icon","validateAdUnitPos","pos","isNaN","isFinite","warning","validateAdUnit","adUnitDef","bids","bidder","adUnitSetupChecks","assign","checkAdUnitSetup","validatedAdUnits","validatedBanner","validatedVideo","validatedNative","fillAdUnitDefaults","au","logInvocation","name","fn","_len","arguments","args","_key","apply","addApiMethod","method","log","getAdserverTargetingForAdUnitCodeStr","adUnitCode","getAdserverTargetingForAdUnitCode","getHighestUnusedBidResponseForAdUnitCode","bid","getAllBidsForAdUnitCode","reduce","getAdserverTargeting","getAllTargeting","getConsentMetadata","getConsentMeta","wrapInBids","arr","slice","getBids","type","responses","getAdUnitCodes","currentAuctionId","getLastAuctionId","auctionId","a","b","getNoBids","getNoBidsForAdUnitCode","getBidResponses","getBidResponsesForAdUnitCode","getBidsReceived","setTargetingForGPTAsync","customSlotMatching","setTargetingForGPT","setTargetingForAst","adUnitCodes","isApntagDefined","emit","renderAd","doc","options","removeAdUnit","i","splice","requestBids","delegate","reqBidOptions","bidsBackHandler","timeout","labels","ttlBuffer","ortb2","metrics","cbTimeout","getConfig","unit","ortb2Fragments","global","getAnyConfig","fromEntries","entries","getBidderConfig","_ref4","cfg","_ref5","_","resolve","then","startAuction","req","checkpoint","promiseFactory","r","Promise","call","promise","adUnitDefs","s2sBidders","measureTime","auctionDone","timedOut","tids","adUnitMediaTypes","allBidders","bidderRegistry","bidders","has","adUnitId","tid","ext","adapter","spec","getSpec","bidderMediaTypes","supportedMediaTypes","bidderEligible","transactionId","auction","createAuction","callback","adUnitsLen","getAuctionId","setLatestAuctionForAdUnit","callBids","executeCallbacks","reqBidsConfigObj","runAll","enableAnalyticsCallbacks","queue","queued","shift","before","addAdUnits","eventIdValidators","bidWon","getBidsRequested","bidSet","validateEventId","event","onEvent","handler","on","offEvent","off","getEvents","registerBidAdapter","bidderAdaptor","bidderCode","message","registerAnalyticsAdapter","enableAnalyticsCb","enableAnalytics","bind","aliasBidder","alias","aliasBidAdapter","aliasRegistry","getAllWinningBids","getAllPrebidWinningBids","status","BID_TARGETING_SET","getHighestCpmBids","getWinningBids","clearAllAuctions","markWinningBidAsUsed","_ref6","adId","analytics","addWinningBid","readAnyConfig","mergeConfig","mergeBidderConfig","setConfig","setBidderConfig","que","quePush","command","stack","_processQueue","cmd","called","processQueue","delayPrerendering","ready","triggerBilling","_ref7"],"sourceRoot":"../../..","sources":["src/prebid.ts"],"sourcesContent":["/** @module pbjs */\n\nimport {getGlobal, type PrebidJS} from './prebidGlobal.js';\nimport {\n deepAccess,\n deepClone,\n deepEqual,\n deepSetValue,\n flatten,\n generateUUID,\n isArray,\n isArrayOfNums,\n isEmpty,\n isFn,\n isGptPubadsDefined,\n isNumber,\n logError,\n logInfo,\n logMessage,\n logWarn,\n mergeDeep,\n transformAdServerTargetingObj,\n uniques,\n unsupportedBidderMessage\n} from './utils.js';\nimport {listenMessagesFromCreative} from './secureCreatives.js';\nimport {userSync} from './userSync.js';\nimport {config} from './config.js';\nimport {auctionManager} from './auctionManager.js';\nimport {isBidUsable, type SlotMatchingFn, targeting} from './targeting.js';\nimport {hook, wrapHook} from './hook.js';\nimport {loadSession} from './debugging.js';\nimport {storageCallbacks} from './storageManager.js';\nimport adapterManager, {\n type AliasBidderOptions,\n type BidRequest,\n getS2SBidderSet\n} from './adapterManager.js';\nimport {BID_STATUS, EVENTS, NATIVE_KEYS} from './constants.js';\nimport type {EventHandler, EventIDs, Event} from \"./events.js\";\nimport * as events from './events.js';\nimport {type Metrics, newMetrics, useMetrics} from './utils/perfMetrics.js';\nimport {type Defer, defer, PbPromise} from './utils/promise.js';\nimport {pbYield} from './utils/yield.js';\nimport {enrichFPD} from './fpd/enrichment.js';\nimport {allConsent} from './consentHandler.js';\nimport {\n insertLocatorFrame,\n markBidAsRendered,\n markWinningBid,\n renderAdDirect,\n renderIfDeferred\n} from './adRendering.js';\nimport {getHighestCpm} from './utils/reducers.js';\nimport {fillVideoDefaults, ORTB_VIDEO_PARAMS, validateOrtbVideoFields} from './video.js';\nimport {ORTB_BANNER_PARAMS, validateOrtbBannerFields} from './banner.js';\nimport {BANNER, VIDEO} from './mediaTypes.js';\nimport {delayIfPrerendering} from './utils/prerendering.js';\nimport {type BidAdapter, type BidderSpec, newBidder} from './adapters/bidderFactory.js';\nimport {normalizeFPD} from './fpd/normalize.js';\nimport type {Bid} from \"./bidfactory.ts\";\nimport type {AdUnit, AdUnitDefinition, BidderParams} from \"./adUnits.ts\";\nimport type {AdUnitCode, BidderCode, ByAdUnit, Identifier, ORTBFragments} from \"./types/common.d.ts\";\nimport type {ORTBRequest} from \"./types/ortb/request.d.ts\";\nimport type {DeepPartial} from \"./types/objects.d.ts\";\nimport type {AnyFunction, Wraps} from \"./types/functions.d.ts\";\nimport type {BidderScopedSettings, BidderSettings} from \"./bidderSettings.ts\";\n\nconst pbjsInstance = getGlobal();\nconst { triggerUserSyncs } = userSync;\n\n/* private variables */\nconst { ADD_AD_UNITS, REQUEST_BIDS, SET_TARGETING } = EVENTS;\n\n// initialize existing debugging sessions if present\nloadSession();\n\ndeclare module './prebidGlobal' {\n interface PrebidJS {\n bidderSettings: {\n standard?: BidderSettings<BidderCode>\n } & {\n [B in BidderCode]?: BidderScopedSettings<B>\n } & {\n [B in keyof BidderParams]?: BidderScopedSettings<B>\n };\n /**\n * True once Prebid is loaded.\n */\n libLoaded?: true;\n /**\n * Prebid version.\n */\n version: string;\n /**\n * Set this to true to delay processing of `que` / `cmd` until prerendering is complete\n * (applies only when the page is prerendering).\n */\n delayPrerendering?: boolean\n adUnits: AdUnitDefinition[];\n }\n}\n\npbjsInstance.bidderSettings = pbjsInstance.bidderSettings || {};\npbjsInstance.libLoaded = true;\n// version auto generated from build\npbjsInstance.version = 'v$prebid.version$';\nlogInfo('Prebid.js v$prebid.version$ loaded');\n\n// create adUnit array\npbjsInstance.adUnits = pbjsInstance.adUnits || [];\n\nfunction validateSizes(sizes, targLength?: number) {\n let cleanSizes = [];\n if (isArray(sizes) && ((targLength) ? sizes.length === targLength : sizes.length > 0)) {\n // check if an array of arrays or array of numbers\n if (sizes.every(sz => isArrayOfNums(sz, 2))) {\n cleanSizes = sizes;\n } else if (isArrayOfNums(sizes, 2)) {\n cleanSizes.push(sizes);\n }\n }\n return cleanSizes;\n}\n\n// synchronize fields between mediaTypes[mediaType] and ortb2Imp[mediaType]\nexport function syncOrtb2(adUnit, mediaType) {\n const ortb2Imp = deepAccess(adUnit, `ortb2Imp.${mediaType}`);\n const mediaTypes = deepAccess(adUnit, `mediaTypes.${mediaType}`);\n\n if (!ortb2Imp && !mediaTypes) {\n // omitting sync due to not present mediaType\n return;\n }\n\n const fields = {\n [VIDEO]: FEATURES.VIDEO && ORTB_VIDEO_PARAMS,\n [BANNER]: ORTB_BANNER_PARAMS\n }[mediaType];\n\n if (!fields) {\n return;\n }\n\n [...fields].forEach(([key, validator]) => {\n const mediaTypesFieldValue = deepAccess(adUnit, `mediaTypes.${mediaType}.${key}`);\n const ortbFieldValue = deepAccess(adUnit, `ortb2Imp.${mediaType}.${key}`);\n\n if (mediaTypesFieldValue == undefined && ortbFieldValue == undefined) {\n // omitting the params if it's not defined on either of sides\n } else if (mediaTypesFieldValue == undefined) {\n deepSetValue(adUnit, `mediaTypes.${mediaType}.${key}`, ortbFieldValue);\n } else if (ortbFieldValue == undefined) {\n deepSetValue(adUnit, `ortb2Imp.${mediaType}.${key}`, mediaTypesFieldValue);\n } else {\n logWarn(`adUnit ${adUnit.code}: specifies conflicting ortb2Imp.${mediaType}.${key} and mediaTypes.${mediaType}.${key}, the latter will be ignored`, adUnit);\n deepSetValue(adUnit, `mediaTypes.${mediaType}.${key}`, ortbFieldValue);\n }\n });\n}\n\nfunction validateBannerMediaType(adUnit: AdUnit) {\n const validatedAdUnit = deepClone(adUnit);\n const banner = validatedAdUnit.mediaTypes.banner;\n const bannerSizes = banner.sizes == null ? null : validateSizes(banner.sizes);\n const format = adUnit.ortb2Imp?.banner?.format ?? banner?.format;\n let formatSizes;\n if (format != null) {\n deepSetValue(validatedAdUnit, 'ortb2Imp.banner.format', format);\n banner.format = format;\n try {\n formatSizes = format\n .filter(({w, h, wratio, hratio}) => {\n if ((w ?? h) != null && (wratio ?? hratio) != null) {\n logWarn(`Ad unit banner.format specifies both w/h and wratio/hratio`, adUnit);\n return false;\n }\n return (w != null && h != null) || (wratio != null && hratio != null);\n })\n .map(({w, h, wratio, hratio}) => [w ?? wratio, h ?? hratio]);\n } catch (e) {\n logError(`Invalid format definition on ad unit ${adUnit.code}`, format);\n }\n if (formatSizes != null && bannerSizes != null && !deepEqual(bannerSizes, formatSizes)) {\n logWarn(`Ad unit ${adUnit.code} has conflicting sizes and format definitions`, adUnit);\n }\n }\n const sizes = formatSizes ?? bannerSizes ?? [];\n const expdir = adUnit.ortb2Imp?.banner?.expdir ?? banner.expdir;\n if (expdir != null) {\n banner.expdir = expdir;\n deepSetValue(validatedAdUnit, 'ortb2Imp.banner.expdir', expdir);\n }\n if (sizes.length > 0) {\n banner.sizes = sizes;\n // Deprecation Warning: This property will be deprecated in next release in favor of adUnit.mediaTypes.banner.sizes\n validatedAdUnit.sizes = sizes;\n } else {\n logError('Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request.');\n delete validatedAdUnit.mediaTypes.banner\n }\n validateOrtbBannerFields(validatedAdUnit);\n syncOrtb2(validatedAdUnit, 'banner')\n return validatedAdUnit;\n}\n\nfunction validateVideoMediaType(adUnit: AdUnit) {\n const validatedAdUnit = deepClone(adUnit);\n const video = validatedAdUnit.mediaTypes.video;\n if (video.playerSize) {\n const tarPlayerSizeLen = (typeof video.playerSize[0] === 'number') ? 2 : 1;\n\n const videoSizes = validateSizes(video.playerSize, tarPlayerSizeLen);\n if (videoSizes.length > 0) {\n if (tarPlayerSizeLen === 2) {\n logInfo('Transforming video.playerSize from [640,480] to [[640,480]] so it\\'s in the proper format.');\n }\n video.playerSize = videoSizes;\n // Deprecation Warning: This property will be deprecated in next release in favor of adUnit.mediaTypes.video.playerSize\n validatedAdUnit.sizes = videoSizes;\n } else {\n logError('Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request.');\n delete validatedAdUnit.mediaTypes.video.playerSize;\n }\n }\n validateOrtbVideoFields(validatedAdUnit);\n syncOrtb2(validatedAdUnit, 'video');\n return validatedAdUnit;\n}\n\nfunction validateNativeMediaType(adUnit: AdUnit) {\n function err(msg) {\n logError(`Error in adUnit \"${adUnit.code}\": ${msg}. Removing native request from ad unit`, adUnit);\n delete validatedAdUnit.mediaTypes.native;\n return validatedAdUnit;\n }\n function checkDeprecated(onDeprecated) {\n for (const key of ['types']) {\n if (native.hasOwnProperty(key)) {\n const res = onDeprecated(key);\n if (res) return res;\n }\n }\n }\n const validatedAdUnit = deepClone(adUnit);\n const native = validatedAdUnit.mediaTypes.native;\n // if native assets are specified in OpenRTB format, remove legacy assets and print a warn.\n if (native.ortb) {\n if (native.ortb.assets?.some(asset => !isNumber(asset.id) || asset.id < 0 || asset.id % 1 !== 0)) {\n return err('native asset ID must be a nonnegative integer');\n }\n if (checkDeprecated(key => err(`ORTB native requests cannot specify \"${key}\"`))) {\n return validatedAdUnit;\n }\n const legacyNativeKeys = Object.keys(NATIVE_KEYS).filter(key => NATIVE_KEYS[key].includes('hb_native_'));\n const nativeKeys = Object.keys(native);\n const intersection = nativeKeys.filter(nativeKey => legacyNativeKeys.includes(nativeKey));\n if (intersection.length > 0) {\n logError(`when using native OpenRTB format, you cannot use legacy native properties. Deleting ${intersection} keys from request.`);\n intersection.forEach(legacyKey => delete validatedAdUnit.mediaTypes.native[legacyKey]);\n }\n } else {\n checkDeprecated(key => logWarn(`mediaTypes.native.${key} is deprecated, consider using native ORTB instead`, adUnit));\n }\n if (native.image && native.image.sizes && !Array.isArray(native.image.sizes)) {\n logError('Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request.');\n delete validatedAdUnit.mediaTypes.native.image.sizes;\n }\n if (native.image && native.image.aspect_ratios && !Array.isArray(native.image.aspect_ratios)) {\n logError('Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request.');\n delete validatedAdUnit.mediaTypes.native.image.aspect_ratios;\n }\n if (native.icon && native.icon.sizes && !Array.isArray(native.icon.sizes)) {\n logError('Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request.');\n delete validatedAdUnit.mediaTypes.native.icon.sizes;\n }\n return validatedAdUnit;\n}\n\nfunction validateAdUnitPos(adUnit, mediaType) {\n const pos = adUnit?.mediaTypes?.[mediaType]?.pos;\n\n if (!isNumber(pos) || isNaN(pos) || !isFinite(pos)) {\n const warning = `Value of property 'pos' on ad unit ${adUnit.code} should be of type: Number`;\n\n logWarn(warning);\n delete adUnit.mediaTypes[mediaType].pos;\n }\n\n return adUnit\n}\n\nfunction validateAdUnit(adUnitDef: AdUnitDefinition): AdUnit {\n const msg = (msg) => `adUnit.code '${adUnit.code}' ${msg}`;\n const adUnit = adUnitDef as AdUnit;\n const mediaTypes = adUnit.mediaTypes;\n const bids = adUnit.bids;\n\n if (bids != null && !isArray(bids)) {\n logError(msg(`defines 'adUnit.bids' that is not an array. Removing adUnit from auction`));\n return null;\n }\n if (bids == null && adUnit.ortb2Imp == null) {\n logError(msg(`has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction`));\n return null;\n }\n if (!mediaTypes || Object.keys(mediaTypes).length === 0) {\n logError(msg(`does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed.`));\n return null;\n }\n if (adUnit.ortb2Imp != null && (bids == null || bids.length === 0)) {\n adUnit.bids = [{bidder: null}]; // the 'null' bidder is treated as an s2s-only placeholder by adapterManager\n logMessage(msg(`defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters`));\n }\n\n return adUnit;\n}\n\nexport const adUnitSetupChecks = {\n validateAdUnit,\n validateBannerMediaType,\n validateSizes\n};\n\nif (FEATURES.NATIVE) {\n Object.assign(adUnitSetupChecks, { validateNativeMediaType });\n}\n\nif (FEATURES.VIDEO) {\n Object.assign(adUnitSetupChecks, { validateVideoMediaType });\n}\n\nexport const checkAdUnitSetup = hook('sync', function (adUnits: AdUnitDefinition[]) {\n const validatedAdUnits = [];\n\n adUnits.forEach(adUnitDef => {\n const adUnit = validateAdUnit(adUnitDef);\n if (adUnit == null) return;\n\n const mediaTypes = adUnit.mediaTypes;\n let validatedBanner, validatedVideo, validatedNative;\n\n if (mediaTypes.banner) {\n validatedBanner = validateBannerMediaType(adUnit);\n if (mediaTypes.banner.hasOwnProperty('pos')) validatedBanner = validateAdUnitPos(validatedBanner, 'banner');\n }\n\n if (FEATURES.VIDEO && mediaTypes.video) {\n validatedVideo = validatedBanner ? validateVideoMediaType(validatedBanner) : validateVideoMediaType(adUnit);\n if (mediaTypes.video.hasOwnProperty('pos')) validatedVideo = validateAdUnitPos(validatedVideo, 'video');\n }\n\n if (FEATURES.NATIVE && mediaTypes.native) {\n validatedNative = validatedVideo ? validateNativeMediaType(validatedVideo) : validatedBanner ? validateNativeMediaType(validatedBanner) : validateNativeMediaType(adUnit);\n }\n\n const validatedAdUnit = Object.assign({}, validatedBanner, validatedVideo, validatedNative);\n\n validatedAdUnits.push(validatedAdUnit);\n });\n\n return validatedAdUnits;\n}, 'checkAdUnitSetup');\n\nfunction fillAdUnitDefaults(adUnits: AdUnitDefinition[]) {\n if (FEATURES.VIDEO) {\n adUnits.forEach(au => fillVideoDefaults(au))\n }\n}\n\nfunction logInvocation<T extends AnyFunction>(name: string, fn: T): Wraps<T> {\n return function (...args) {\n logInfo(`Invoking $$PREBID_GLOBAL$$.${name}`, args);\n return fn.apply(this, args);\n }\n}\n\nexport function addApiMethod<N extends keyof PrebidJS>(name: N, method: PrebidJS[N], log = true) {\n getGlobal()[name] = log ? logInvocation(name, method) as PrebidJS[N] : method;\n}\n\n/// ///////////////////////////////\n// //\n// Start Public APIs //\n// //\n/// ///////////////////////////////\n\ndeclare module './prebidGlobal' {\n interface PrebidJS {\n /**\n * Re-trigger user syncs. Requires the `userSync.enableOverride` config to be set.\n */\n triggerUserSyncs: typeof triggerUserSyncs;\n getAdserverTargetingForAdUnitCodeStr: typeof getAdserverTargetingForAdUnitCodeStr;\n getHighestUnusedBidResponseForAdUnitCode: typeof getHighestUnusedBidResponseForAdUnitCode;\n getAdserverTargetingForAdUnitCode: typeof getAdserverTargetingForAdUnitCode;\n getAdserverTargeting: typeof getAdserverTargeting;\n getConsentMetadata: typeof getConsentMetadata;\n getNoBids: typeof getNoBids;\n getNoBidsForAdUnitCode: typeof getNoBidsForAdUnitCode;\n getBidResponses: typeof getBidResponses;\n getBidResponsesForAdUnitCode: typeof getBidResponsesForAdUnitCode;\n setTargetingForGPTAsync: typeof setTargetingForGPTAsync;\n setTargetingForAst: typeof setTargetingForAst;\n renderAd: typeof renderAd;\n removeAdUnit: typeof removeAdUnit;\n requestBids: RequestBids;\n addAdUnits: typeof addAdUnits;\n onEvent: typeof onEvent;\n offEvent: typeof offEvent;\n getEvents: typeof getEvents;\n registerBidAdapter: typeof registerBidAdapter;\n registerAnalyticsAdapter: typeof adapterManager.registerAnalyticsAdapter;\n enableAnalytics: typeof adapterManager.enableAnalytics;\n aliasBidder: typeof aliasBidder;\n aliasRegistry: typeof adapterManager.aliasRegistry;\n getAllWinningBids: typeof getAllWinningBids;\n getAllPrebidWinningBids: typeof getAllPrebidWinningBids;\n getHighestCpmBids: typeof getHighestCpmBids;\n clearAllAuctions: typeof clearAllAuctions;\n markWinningBidAsUsed: typeof markWinningBidAsUsed;\n getConfig: typeof config.getConfig;\n readConfig: typeof config.readConfig;\n mergeConfig: typeof config.mergeConfig;\n mergeBidderConfig: typeof config.mergeBidderConfig;\n setConfig: typeof config.setConfig;\n setBidderConfig: typeof config.setBidderConfig;\n processQueue: typeof processQueue;\n triggerBilling: typeof triggerBilling;\n }\n}\n\n// Allow publishers who enable user sync override to trigger their sync\naddApiMethod('triggerUserSyncs', triggerUserSyncs);\n\n/**\n * Return a query string with all available targeting parameters for the given ad unit.\n *\n * @param adUnitCode ad unit code to target\n */\nfunction getAdserverTargetingForAdUnitCodeStr(adUnitCode: AdUnitCode): string {\n if (adUnitCode) {\n const res = getAdserverTargetingForAdUnitCode(adUnitCode);\n return transformAdServerTargetingObj(res);\n } else {\n logMessage('Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode');\n }\n}\naddApiMethod('getAdserverTargetingForAdUnitCodeStr', getAdserverTargetingForAdUnitCodeStr);\n\n/**\n * Return the highest cpm, unused bid for the given ad unit.\n * @param adUnitCode\n */\nfunction getHighestUnusedBidResponseForAdUnitCode(adUnitCode: AdUnitCode): Bid {\n if (adUnitCode) {\n const bid = auctionManager.getAllBidsForAdUnitCode(adUnitCode)\n .filter(isBidUsable)\n\n return bid.length ? bid.reduce(getHighestCpm) : null\n } else {\n logMessage('Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode');\n }\n}\naddApiMethod('getHighestUnusedBidResponseForAdUnitCode', getHighestUnusedBidResponseForAdUnitCode);\n\n/**\n * Returns targeting key-value pairs available at this moment for a given ad unit.\n * @param adUnitCode adUnitCode to get the bid responses for\n */\nfunction getAdserverTargetingForAdUnitCode(adUnitCode) {\n return getAdserverTargeting(adUnitCode)[adUnitCode];\n}\naddApiMethod('getAdserverTargetingForAdUnitCode', getAdserverTargetingForAdUnitCode);\n\n/**\n * returns all ad server targeting, optionally scoped to the given ad unit(s).\n * @return Map of adUnitCodes to targeting key-value pairs\n */\nfunction getAdserverTargeting(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n return targeting.getAllTargeting(adUnitCode);\n}\naddApiMethod('getAdserverTargeting', getAdserverTargeting);\n\nfunction getConsentMetadata() {\n return allConsent.getConsentMeta()\n}\naddApiMethod('getConsentMetadata', getConsentMetadata);\n\ntype WrapsInBids<T> = T[] & {\n bids: T[]\n}\n\nfunction wrapInBids(arr) {\n arr = arr.slice();\n arr.bids = arr;\n return arr;\n}\n\nfunction getBids<T>(type): ByAdUnit<WrapsInBids<T>> {\n const responses = auctionManager[type]()\n .filter(bid => auctionManager.getAdUnitCodes().includes(bid.adUnitCode))\n\n // find the last auction id to get responses for most recent auction only\n const currentAuctionId = auctionManager.getLastAuctionId();\n\n return responses\n .map(bid => bid.adUnitCode)\n .filter(uniques).map(adUnitCode => responses\n .filter(bid => bid.auctionId === currentAuctionId && bid.adUnitCode === adUnitCode))\n .filter(bids => bids && bids[0] && bids[0].adUnitCode)\n .map(bids => {\n return {\n [bids[0].adUnitCode]: wrapInBids(bids)\n };\n })\n .reduce((a, b) => Object.assign(a, b), {});\n}\n\n/**\n * @returns the bids requests involved in an auction but not bid on\n */\nfunction getNoBids() {\n return getBids<BidRequest<BidderCode>>('getNoBids');\n}\naddApiMethod('getNoBids', getNoBids);\n\n/**\n * @returns the bids requests involved in an auction but not bid on or the specified adUnitCode\n */\nfunction getNoBidsForAdUnitCode(adUnitCode: AdUnitCode): WrapsInBids<BidRequest<BidderCode>> {\n const bids = auctionManager.getNoBids().filter(bid => bid.adUnitCode === adUnitCode);\n return wrapInBids(bids);\n}\naddApiMethod('getNoBidsForAdUnitCode', getNoBidsForAdUnitCode);\n\n/**\n * @return a map from ad unit code to all bids received for that ad unit code.\n */\nfunction getBidResponses() {\n return getBids<Bid>('getBidsReceived');\n}\naddApiMethod('getBidResponses', getBidResponses);\n\n/**\n * Returns bids received for the specified ad unit.\n * @param adUnitCode ad unit code\n */\nfunction getBidResponsesForAdUnitCode(adUnitCode: AdUnitCode): WrapsInBids<Bid> {\n const bids = auctionManager.getBidsReceived().filter(bid => bid.adUnitCode === adUnitCode);\n return wrapInBids(bids);\n}\naddApiMethod('getBidResponsesForAdUnitCode', getBidResponsesForAdUnitCode);\n\n/**\n * Set query string targeting on one or more GPT ad units.\n * @param adUnit a single `adUnit.code` or multiple.\n * @param customSlotMatching gets a GoogleTag slot and returns a filter function for adUnitCode, so you can decide to match on either eg. return slot => { return adUnitCode => { return slot.getSlotElementId() === 'myFavoriteDivId'; } };\n */\nfunction setTargetingForGPTAsync(adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n if (!isGptPubadsDefined()) {\n logError('window.googletag is not defined on the page');\n return;\n }\n targeting.setTargetingForGPT(adUnit, customSlotMatching);\n}\naddApiMethod('setTargetingForGPTAsync', setTargetingForGPTAsync);\n\n/**\n * Set query string targeting on all AST (AppNexus Seller Tag) ad units. Note that this function has to be called after all ad units on page are defined. For working example code, see [Using Prebid.js with AppNexus Publisher Ad Server](http://prebid.org/dev-docs/examples/use-prebid-with-appnexus-ad-server.html).\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n */\nfunction setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n if (!targeting.isApntagDefined()) {\n logError('window.apntag is not defined on the page');\n return;\n }\n\n targeting.setTargetingForAst(adUnitCodes);\n events.emit(SET_TARGETING, targeting.getAllTargeting());\n}\n\naddApiMethod('setTargetingForAst', setTargetingForAst);\n\ntype RenderAdOptions = {\n /**\n * Click through URL. Used to replace ${CLICKTHROUGH} macro in ad markup.\n */\n clickThrough?: string;\n}\n/**\n * This function will render the ad (based on params) in the given iframe document passed through.\n * Note that doc SHOULD NOT be the parent document page as we can't doc.write() asynchronously\n * @param doc document\n * @param id adId of the bid to render\n * @param options\n */\nasync function renderAd(doc: Document, id: Bid['adId'], options?: RenderAdOptions) {\n await pbYield();\n renderAdDirect(doc, id, options);\n}\naddApiMethod('renderAd', renderAd);\n\n/**\n * Remove adUnit from the $$PREBID_GLOBAL$$ configuration, if there are no addUnitCode(s) it will remove all\n * @param adUnitCode the adUnitCode(s) to remove\n * @alias module:pbjs.removeAdUnit\n */\nfunction removeAdUnit(adUnitCode?: AdUnitCode) {\n if (!adUnitCode) {\n pbjsInstance.adUnits = [];\n return;\n }\n\n let adUnitCodes;\n\n if (isArray(adUnitCode)) {\n adUnitCodes = adUnitCode;\n } else {\n adUnitCodes = [adUnitCode];\n }\n\n adUnitCodes.forEach((adUnitCode) => {\n for (let i = pbjsInstance.adUnits.length - 1; i >= 0; i--) {\n if (pbjsInstance.adUnits[i].code === adUnitCode) {\n pbjsInstance.adUnits.splice(i, 1);\n }\n }\n });\n}\naddApiMethod('removeAdUnit', removeAdUnit);\n\nexport type RequestBidsOptions = {\n /**\n * Callback to execute when all the bid responses are back or the timeout hits. Parameters may be undefined\n * in situations where the auction is canceled prematurely (e.g. CMP errors)\n */\n bidsBackHandler?: (bids?: RequestBidsResult['bids'], timedOut?: RequestBidsResult['timedOut'], auctionId?: RequestBidsResult['auctionId']) => void;\n /**\n * TTL buffer override for this auction.\n */\n ttlBuffer?: number;\n /**\n * Timeout for requesting the bids specified in milliseconds\n */\n timeout?: number;\n /**\n * AdUnit definitions to request. Use this or adUnitCodes. Default to all adUnits if empty.\n */\n adUnits?: AdUnitDefinition[];\n /**\n * adUnit codes to request. Use this or adUnits. Default to all adUnits if empty.\n */\n adUnitCodes?: AdUnitCode[];\n /**\n * Defines labels that may be matched on ad unit targeting conditions.\n */\n labels?: string[];\n /**\n * Defines an auction ID to be used rather than having Prebid generate one.\n * This can be useful if there are multiple wrappers on a page and a single auction ID\n * is desired to tie them together in analytics.\n */\n auctionId?: string;\n /**\n * Additional first-party data to use for this auction only\n */\n ortb2?: DeepPartial<ORTBRequest>;\n}\n\ntype RequestBidsResult = {\n /**\n * Bids received, grouped by ad unit.\n */\n bids?: ByAdUnit<WrapsInBids<Bid>>;\n /**\n * True if any bidder timed out.\n */\n timedOut?: boolean;\n /**\n * The auction's ID\n */\n auctionId?: Identifier;\n}\n\nexport type PrivRequestBidsOptions = RequestBidsOptions & {\n defer: Defer<RequestBidsResult>;\n metrics: Metrics;\n /**\n * Ad units are always defined and fixed here (as opposed to the public API where we may fall back to\n * the global array).\n */\n adUnits: AdUnitDefinition[];\n}\n\nexport type StartAuctionOptions = Omit<PrivRequestBidsOptions, 'ortb2'> & {\n ortb2Fragments: ORTBFragments\n}\n\ndeclare module './hook' {\n interface NamedHooks {\n requestBids: typeof requestBids;\n startAuction: typeof startAuction;\n }\n}\n\ninterface RequestBids {\n (options?: RequestBidsOptions): Promise<RequestBidsResult>;\n}\n\ndeclare module './events' {\n interface Events {\n /**\n * Fired when `requestBids` is called.\n */\n [REQUEST_BIDS]: [];\n }\n}\n\nexport const requestBids = (function() {\n const delegate = hook('async', function (reqBidOptions: PrivRequestBidsOptions): void {\n let { bidsBackHandler, timeout, adUnits, adUnitCodes, labels, auctionId, ttlBuffer, ortb2, metrics, defer } = reqBidOptions ?? {};\n events.emit(REQUEST_BIDS);\n const cbTimeout = timeout || config.getConfig('bidderTimeout');\n if (adUnitCodes != null && !Array.isArray(adUnitCodes)) {\n adUnitCodes = [adUnitCodes];\n }\n if (adUnitCodes && adUnitCodes.length) {\n // if specific adUnitCodes supplied filter adUnits for those codes\n adUnits = adUnits.filter(unit => adUnitCodes.includes(unit.code));\n } else {\n // otherwise derive adUnitCodes from adUnits\n adUnitCodes = adUnits && adUnits.map(unit => unit.code);\n }\n adUnitCodes = adUnitCodes.filter(uniques);\n let ortb2Fragments = {\n global: mergeDeep({}, config.getAnyConfig('ortb2') || {}, ortb2 || {}),\n bidder: Object.fromEntries(Object.entries<any>(config.getBidderConfig()).map(([bidder, cfg]) => [bidder, deepClone(cfg.ortb2)]).filter(([_, ortb2]) => ortb2 != null))\n }\n ortb2Fragments = normalizeFPD(ortb2Fragments);\n\n enrichFPD(PbPromise.resolve(ortb2Fragments.global)).then(global => {\n ortb2Fragments.global = global;\n return startAuction({bidsBackHandler, timeout: cbTimeout, adUnits, adUnitCodes, labels, auctionId, ttlBuffer, ortb2Fragments, metrics, defer});\n })\n }, 'requestBids');\n\n return wrapHook(delegate, delayIfPrerendering(() => !config.getConfig('allowPrerendering'), function requestBids(options: RequestBidsOptions = {}) {\n // unlike the main body of `delegate`, this runs before any other hook has a chance to;\n // it's also not restricted in its return value in the way `async` hooks are.\n\n // if the request does not specify adUnits, clone the global adUnit array;\n // otherwise, if the caller goes on to use addAdUnits/removeAdUnits, any asynchronous logic\n // in any hook might see their effects.\n const req = options as PrivRequestBidsOptions;\n const adUnits = req.adUnits || pbjsInstance.adUnits;\n req.adUnits = (Array.isArray(adUnits) ? adUnits.slice() : [adUnits]);\n\n req.metrics = newMetrics();\n req.metrics.checkpoint('requestBids');\n req.defer = defer({ promiseFactory: (r) => new Promise(r)})\n delegate.call(this, req);\n return req.defer.promise;\n }));\n})();\n\naddApiMethod('requestBids', requestBids as unknown as RequestBids);\n\nexport const startAuction = hook('async', function ({ bidsBackHandler, timeout: cbTimeout, adUnits: adUnitDefs, ttlBuffer, adUnitCodes, labels, auctionId, ortb2Fragments, metrics, defer }: StartAuctionOptions = {} as any) {\n const s2sBidders = getS2SBidderSet(config.getConfig('s2sConfig') || []);\n fillAdUnitDefaults(adUnitDefs);\n const adUnits: AdUnit[] = useMetrics(metrics).measureTime('requestBids.validate', () => checkAdUnitSetup(adUnitDefs));\n\n function auctionDone(bids?, timedOut?: boolean, auctionId?: string) {\n if (typeof bidsBackHandler === 'function') {\n try {\n bidsBackHandler(bids, timedOut, auctionId);\n } catch (e) {\n logError('Error executing bidsBackHandler', null, e);\n }\n }\n defer.resolve({ bids, timedOut, auctionId })\n }\n\n const tids = {};\n /*\n * for a given adunit which supports a set of mediaTypes\n * and a given bidder which supports a set of mediaTypes\n * a bidder is eligible to participate on the adunit\n * if it supports at least one of the mediaTypes on the adunit\n */\n adUnits.forEach(adUnit => {\n // get the adunit's mediaTypes, defaulting to banner if mediaTypes isn't present\n const adUnitMediaTypes = Object.keys(adUnit.mediaTypes || { 'banner': 'banner' });\n\n // get the bidder's mediaTypes\n const allBidders = adUnit.bids.map(bid => bid.bidder);\n const bidderRegistry = adapterManager.bidderRegistry;\n\n const bidders = allBidders.filter(bidder => !s2sBidders.has(bidder));\n adUnit.adUnitId = generateUUID();\n const tid = adUnit.ortb2Imp?.ext?.tid;\n if (tid) {\n if (tids.hasOwnProperty(adUnit.code)) {\n logWarn(`Multiple distinct ortb2Imp.ext.tid were provided for twin ad units '${adUnit.code}'`)\n } else {\n tids[adUnit.code] = tid;\n }\n }\n if (ttlBuffer != null && !adUnit.hasOwnProperty('ttlBuffer')) {\n adUnit.ttlBuffer = ttlBuffer;\n }\n bidders.forEach(bidder => {\n const adapter = bidderRegistry[bidder];\n const spec = adapter && adapter.getSpec && adapter.getSpec();\n // banner is default if not specified in spec\n const bidderMediaTypes = (spec && spec.supportedMediaTypes) || ['banner'];\n\n // check if the bidder's mediaTypes are not in the adUnit's mediaTypes\n const bidderEligible = adUnitMediaTypes.some(type => bidderMediaTypes.includes(type));\n if (!bidderEligible) {\n // drop the bidder from the ad unit if it's not compatible\n logWarn(unsupportedBidderMessage(adUnit, bidder));\n adUnit.bids = adUnit.bids.filter(bid => bid.bidder !== bidder);\n }\n });\n });\n if (!adUnits || adUnits.length === 0) {\n logMessage('No adUnits configured. No bids requested.');\n auctionDone();\n } else {\n adUnits.forEach(au => {\n const tid = au.ortb2Imp?.ext?.tid || tids[au.code] || generateUUID();\n if (!tids.hasOwnProperty(au.code)) {\n tids[au.code] = tid;\n }\n au.transactionId = tid;\n deepSetValue(au, 'ortb2Imp.ext.tid', tid);\n });\n const auction = auctionManager.createAuction({\n adUnits,\n adUnitCodes,\n callback: auctionDone,\n cbTimeout,\n labels,\n auctionId,\n ortb2Fragments,\n metrics,\n });\n\n const adUnitsLen = adUnits.length;\n if (adUnitsLen > 15) {\n logInfo(`Current auction ${auction.getAuctionId()} contains ${adUnitsLen} adUnits.`, adUnits);\n }\n\n adUnitCodes.forEach(code => targeting.setLatestAuctionForAdUnit(code, auction.getAuctionId()));\n auction.callBids();\n }\n}, 'startAuction');\n\nexport function executeCallbacks(fn, reqBidsConfigObj) {\n runAll(storageCallbacks);\n runAll(enableAnalyticsCallbacks);\n fn.call(this, reqBidsConfigObj);\n\n function runAll(queue) {\n let queued;\n while ((queued = queue.shift())) {\n queued();\n }\n }\n}\n\n// This hook will execute all storage callbacks which were registered before gdpr enforcement hook was added. Some bidders, user id modules use storage functions when module is parsed but gdpr enforcement hook is not added at that stage as setConfig callbacks are yet to be called. Hence for such calls we execute all the stored callbacks just before requestBids. At this hook point we will know for sure that tcfControl module is added or not\nrequestBids.before(executeCallbacks, 49);\n\ndeclare module './events' {\n interface Events {\n /**\n * Fired when `.addAdUniuts` is called.\n */\n [ADD_AD_UNITS]: [];\n }\n}\n/**\n * Add ad unit(s)\n * @param adUnits\n */\nfunction addAdUnits(adUnits: AdUnitDefinition | AdUnitDefinition[]) {\n pbjsInstance.adUnits.push(...(Array.isArray(adUnits) ? adUnits : [adUnits]))\n events.emit(ADD_AD_UNITS);\n}\n\naddApiMethod('addAdUnits', addAdUnits);\n\nconst eventIdValidators = {\n bidWon(id) {\n const adUnitCodes = auctionManager.getBidsRequested().map(bidSet => bidSet.bids.map(bid => bid.adUnitCode))\n .reduce(flatten)\n .filter(uniques);\n\n if (!adUnitCodes.includes(id)) {\n logError('The \"' + id + '\" placement is not defined.');\n return;\n }\n\n return true;\n }\n};\n\nfunction validateEventId(event, id) {\n return eventIdValidators.hasOwnProperty(event) && eventIdValidators[event](id);\n}\n\n/**\n * @param event the name of the event\n * @param handler a callback to set on event\n * @param id an identifier in the context of the event\n *\n * This API call allows you to register a callback to handle a Prebid.js event.\n * An optional `id` parameter provides more finely-grained event callback registration.\n * This makes it possible to register callback events for a specific item in the\n * event context. For example, `bidWon` events will accept an `id` for ad unit code.\n * `bidWon` callbacks registered with an ad unit code id will be called when a bid\n * for that ad unit code wins the auction. Without an `id` this method registers the\n * callback for every `bidWon` event.\n *\n * Currently `bidWon` is the only event that accepts an `id` parameter.\n */\nfunction onEvent<E extends Event>(event: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n if (!isFn(handler)) {\n logError('The event handler provided is not a function and was not set on event \"' + event + '\".');\n return;\n }\n\n if (id && !validateEventId(event, id)) {\n logError('The id provided is not valid for event \"' + event + '\" and no handler was set.');\n return;\n }\n\n events.on(event, handler, id);\n}\naddApiMethod('onEvent', onEvent);\n\n/**\n * @param event the name of the event\n * @param handler a callback to remove from the event\n * @param id an identifier in the context of the event (see `$$PREBID_GLOBAL$$.onEvent`)\n */\nfunction offEvent<E extends Event>(event: E, handler: EventHandler<E>, id?: EventIDs[E]) {\n if (id && !validateEventId(event, id)) {\n return;\n }\n events.off(event, handler, id);\n}\naddApiMethod('offEvent', offEvent);\n\n/**\n * Return a copy of all events emitted\n */\nfunction getEvents() {\n return events.getEvents();\n}\naddApiMethod('getEvents', getEvents);\n\nfunction registerBidAdapter(adapter: BidAdapter, bidderCode: BidderCode): void;\nfunction registerBidAdapter<B extends BidderCode>(adapter: void, bidderCode: B, spec: BidderSpec<B>): void;\nfunction registerBidAdapter(bidderAdaptor, bidderCode, spec?) {\n try {\n const bidder = spec ? newBidder(spec) : bidderAdaptor();\n adapterManager.registerBidAdapter(bidder, bidderCode);\n } catch (e) {\n logError('Error registering bidder adapter : ' + e.message);\n }\n}\naddApiMethod('registerBidAdapter', registerBidAdapter);\n\nfunction registerAnalyticsAdapter(options) {\n try {\n adapterManager.registerAnalyticsAdapter(options);\n } catch (e) {\n logError('Error registering analytics adapter : ' + e.message);\n }\n}\naddApiMethod('registerAnalyticsAdapter', registerAnalyticsAdapter);\n\nconst enableAnalyticsCallbacks = [];\n\nconst enableAnalyticsCb = hook('async', function (config) {\n if (config && !isEmpty(config)) {\n adapterManager.enableAnalytics(config);\n } else {\n logError('$$PREBID_GLOBAL$$.enableAnalytics should be called with option {}');\n }\n}, 'enableAnalyticsCb');\n\nfunction enableAnalytics(config) {\n enableAnalyticsCallbacks.push(enableAnalyticsCb.bind(this, config));\n}\naddApiMethod('enableAnalytics', enableAnalytics);\n\n/**\n * Define an alias for a bid adapter.\n */\nfunction aliasBidder(bidderCode: BidderCode, alias: BidderCode, options?: AliasBidderOptions) {\n if (bidderCode && alias) {\n adapterManager.aliasBidAdapter(bidderCode, alias, options);\n } else {\n logError('bidderCode and alias must be passed as arguments', '$$PREBID_GLOBAL$$.aliasBidder');\n }\n}\naddApiMethod('aliasBidder', aliasBidder);\n\npbjsInstance.aliasRegistry = adapterManager.aliasRegistry;\nconfig.getConfig('aliasRegistry', config => {\n if (config.aliasRegistry === 'private') delete pbjsInstance.aliasRegistry;\n});\n\n/**\n * @return All bids that have been rendered. Useful for [troubleshooting your integration](http://prebid.org/dev-docs/prebid-troubleshooting-guide.html).\n */\nfunction getAllWinningBids(): Bid[] {\n return auctionManager.getAllWinningBids();\n}\n\naddApiMethod('getAllWinningBids', getAllWinningBids)\n\n/**\n * @return Bids that have won their respective auctions but have not been rendered yet.\n */\nfunction getAllPrebidWinningBids(): Bid[] {\n logWarn('getAllPrebidWinningBids may be removed or renamed in a future version. This function returns bids that have won in prebid and have had targeting set but have not (yet?) won in the ad server. It excludes bids that have been rendered.');\n return auctionManager.getBidsReceived()\n .filter(bid => bid.status === BID_STATUS.BID_TARGETING_SET);\n}\n\naddApiMethod('getAllPrebidWinningBids', getAllPrebidWinningBids);\n\n/**\n * Get highest cpm bids for all adUnits, or highest cpm bid object for the given adUnit\n * @param adUnitCode - ad unit code\n */\nfunction getHighestCpmBids(adUnitCode?: string): Bid[] {\n return targeting.getWinningBids(adUnitCode);\n}\n\naddApiMethod('getHighestCpmBids', getHighestCpmBids);\n\n/**\n * Clear all auctions (and their bids) from the bid cache.\n */\nfunction clearAllAuctions() {\n auctionManager.clearAllAuctions();\n}\naddApiMethod('clearAllAuctions', clearAllAuctions);\n\ntype MarkWinningBidAsUsedOptions = ({\n /**\n * The id representing the ad we want to mark\n */\n adId: string;\n adUnitCode?: undefined | null\n} | {\n /**\n * The ad unit code\n */\n adUnitCode: AdUnitCode;\n adId?: undefined | null;\n\n}) & {\n /**\n * If true, fires tracking pixels and BID_WON handlers\n */\n events?: boolean;\n /**\n * @deprecated - alias of `events`\n */\n analytics?: boolean\n}\n\n/**\n * Mark the winning bid as used, should only be used in conjunction with video\n */\nfunction markWinningBidAsUsed({adId, adUnitCode, analytics = false, events = false}: MarkWinningBidAsUsedOptions) {\n let bids;\n if (adUnitCode && adId == null) {\n bids = targeting.getWinningBids(adUnitCode);\n } else if (adId) {\n bids = auctionManager.getBidsReceived().filter(bid => bid.adId === adId)\n } else {\n logWarn('Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function.');\n }\n if (bids.length > 0) {\n if (analytics || events) {\n markWinningBid(bids[0]);\n } else {\n auctionManager.addWinningBid(bids[0]);\n }\n markBidAsRendered(bids[0])\n }\n}\n\nif (FEATURES.VIDEO) {\n addApiMethod('markWinningBidAsUsed', markWinningBidAsUsed);\n}\n\naddApiMethod('getConfig', config.getAnyConfig);\naddApiMethod('readConfig', config.readAnyConfig);\naddApiMethod('mergeConfig', config.mergeConfig);\naddApiMethod('mergeBidderConfig', config.mergeBidderConfig);\naddApiMethod('setConfig', config.setConfig);\naddApiMethod('setBidderConfig', config.setBidderConfig);\n\npbjsInstance.que.push(() => listenMessagesFromCreative());\n\n/**\n * This queue lets users load Prebid asynchronously, but run functions the same way regardless of whether it gets loaded\n * before or after their script executes. For example, given the code:\n *\n * <script src=\"url/to/Prebid.js\" async></script>\n * <script>\n * var pbjs = pbjs || {};\n * pbjs.cmd = pbjs.cmd || [];\n * pbjs.cmd.push(functionToExecuteOncePrebidLoads);\n * </script>\n *\n * If the page's script runs before prebid loads, then their function gets added to the queue, and executed\n * by prebid once it's done loading. If it runs after prebid loads, then this monkey-patch causes their\n * function to execute immediately.\n *\n * @param {function} command A function which takes no arguments. This is guaranteed to run exactly once, and only after\n * the Prebid script has been fully loaded.\n * @alias module:pbjs.cmd.push\n * @alias module:pbjs.que.push\n */\nfunction quePush(command) {\n if (typeof command === 'function') {\n try {\n command.call();\n } catch (e) {\n logError('Error processing command :', e.message, e.stack);\n }\n } else {\n logError('Commands written into $$PREBID_GLOBAL$$.cmd.push must be wrapped in a function');\n }\n}\n\nasync function _processQueue(queue) {\n for (const cmd of queue) {\n if (typeof cmd.called === 'undefined') {\n try {\n cmd.call();\n cmd.called = true;\n } catch (e) {\n logError('Error processing command :', 'prebid.js', e);\n }\n }\n await pbYield();\n }\n}\n\n/**\n * Process the command queue, effectively booting up Prebid.\n * Bundles generated by the build automatically include a call to this; NPM consumers\n * should call this after loading all modules and before using other APIs.\n */\nconst processQueue = delayIfPrerendering(() => pbjsInstance.delayPrerendering, async function () {\n pbjsInstance.que.push = pbjsInstance.cmd.push = quePush;\n insertLocatorFrame();\n hook.ready();\n await _processQueue(pbjsInstance.que);\n await _processQueue(pbjsInstance.cmd);\n})\naddApiMethod('processQueue', processQueue, false);\n\n/**\n * Manually trigger billing for a winning bid, idendified either by ad ID or ad unit code.\n * Used in conjunction with `adUnit.deferBilling`.\n */\nfunction triggerBilling({adId, adUnitCode}: {\n adId?: string;\n adUnitCode?: AdUnitCode\n}) {\n auctionManager.getAllWinningBids()\n .filter((bid) => bid.adId === adId || (adId == null && bid.adUnitCode === adUnitCode))\n .forEach((bid) => {\n adapterManager.triggerBilling(bid);\n renderIfDeferred(bid);\n });\n}\naddApiMethod('triggerBilling', triggerBilling);\n\nexport default pbjsInstance;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"prebidGlobal.js","names":["scope","true","window","global","pbjs","cmd","que","installedModules","_pbjsGlobals","push","getGlobal","registerModule","name"],"sourceRoot":"../../..","sources":["src/prebidGlobal.ts"],"sourcesContent":["interface Command {\n (): any;\n}\n\ninterface CommandQueue extends Omit<Command[], 'push'> {\n push(cmd: Command): void;\n}\n\nexport interface PrebidJS {\n /**\n * Command queue. Use cmd.push(function F() { ... }) to queue F until Prebid has loaded.\n */\n cmd: CommandQueue,\n /**\n * Alias of `cmd`\n */\n que: CommandQueue\n /**\n * Names of all installed modules.\n */\n installedModules: string[]\n /**\n * Optional scheduler used by pbYield().\n */\n scheduler?: { yield: () => Promise<void> }\n}\n\n// if $$PREBID_GLOBAL$$ already exists in global document scope, use it, if not, create the object\ndeclare const $$DEFINE_PREBID_GLOBAL$$: boolean;\nconst scope: any = !$$DEFINE_PREBID_GLOBAL$$ ? {} : window;\nconst global: PrebidJS = scope.$$PREBID_GLOBAL$$ = scope.$$PREBID_GLOBAL$$ || {};\nglobal.cmd = global.cmd || [];\nglobal.que = global.que || [];\nglobal.installedModules = global.installedModules || []\n\n// create a pbjs global pointer\nif (scope === window) {\n scope._pbjsGlobals = scope._pbjsGlobals || [];\n scope._pbjsGlobals.push('$$PREBID_GLOBAL$$');\n}\n\nexport function getGlobal() {\n return global;\n}\n\nexport function registerModule(name: string) {\n global.installedModules.push(name);\n}\n"],"mappings":"AA2BA;;AAEA,MAAMA,KAAU,GAAG,CAAAC,IAAyB,GAAG,CAAC,CAAC,GAAGC,MAAM;AAC1D,MAAMC,MAAgB,GAAGH,KAAK,CAAAI,IAAkB,GAAGJ,KAAK,CAAAI,IAAkB,IAAI,CAAC,CAAC;AAChFD,MAAM,CAACE,GAAG,GAAGF,MAAM,CAACE,GAAG,IAAI,EAAE;AAC7BF,MAAM,CAACG,GAAG,GAAGH,MAAM,CAACG,GAAG,IAAI,EAAE;AAC7BH,MAAM,CAACI,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB,IAAI,EAAE;;AAEvD;AACA,IAAIP,KAAK,KAAKE,MAAM,EAAE;EACpBF,KAAK,CAACQ,YAAY,GAAGR,KAAK,CAACQ,YAAY,IAAI,EAAE;EAC7CR,KAAK,CAACQ,YAAY,CAACC,IAAI,CAAC,MAAmB,CAAC;AAC9C;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOP,MAAM;AACf;AAEA,OAAO,SAASQ,cAAcA,CAACC,IAAY,EAAE;EAC3CT,MAAM,CAACI,gBAAgB,CAACE,IAAI,CAACG,IAAI,CAAC;AACpC","ignoreList":[]}
1
+ {"version":3,"file":"prebidGlobal.js","names":["scope","true","window","global","pbjs","cmd","que","installedModules","_pbjsGlobals","push","getGlobal","registerModule","name"],"sourceRoot":"../../..","sources":["src/prebidGlobal.ts"],"sourcesContent":["interface Command {\n (): any;\n}\n\ninterface CommandQueue extends Omit<Command[], 'push'> {\n push(cmd: Command): void;\n}\n\nexport interface PrebidJS {\n /**\n * Command queue. Use cmd.push(function F() { ... }) to queue F until Prebid has loaded.\n */\n cmd: CommandQueue,\n /**\n * Alias of `cmd`\n */\n que: CommandQueue\n /**\n * Names of all installed modules.\n */\n installedModules: string[]\n /**\n * Optional scheduler used by pbYield().\n */\n scheduler?: { yield: () => Promise<void> }\n}\n\n// if $$PREBID_GLOBAL$$ already exists in global document scope, use it, if not, create the object\ndeclare const $$DEFINE_PREBID_GLOBAL$$: boolean;\nconst scope: any = !$$DEFINE_PREBID_GLOBAL$$ ? {} : window;\nconst global: PrebidJS = scope.$$PREBID_GLOBAL$$ = scope.$$PREBID_GLOBAL$$ || {};\nglobal.cmd = global.cmd || [];\nglobal.que = global.que || [];\nglobal.installedModules = global.installedModules || []\n\n// create a pbjs global pointer\nif (scope === window) {\n scope._pbjsGlobals = scope._pbjsGlobals || [];\n scope._pbjsGlobals.push('$$PREBID_GLOBAL$$');\n}\n\nexport function getGlobal() {\n return global;\n}\n\nexport function registerModule(name: string) {\n global.installedModules.push(name);\n}\n"],"mappings":"AA2BA;;AAEA,MAAMA,KAAU,GAAG,CAAAC,IAAyB,GAAG,CAAC,CAAC,GAAGC,MAAM;AAC1D,MAAMC,MAAgB,GAAGH,KAAK,CAAAI,IAAkB,GAAGJ,KAAK,CAAAI,IAAkB,IAAI,CAAC,CAAC;AAChFD,MAAM,CAACE,GAAG,GAAGF,MAAM,CAACE,GAAG,IAAI,EAAE;AAC7BF,MAAM,CAACG,GAAG,GAAGH,MAAM,CAACG,GAAG,IAAI,EAAE;AAC7BH,MAAM,CAACI,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB,IAAI,EAAE;;AAEvD;AACA,IAAIP,KAAK,KAAKE,MAAM,EAAE;EACpBF,KAAK,CAACQ,YAAY,GAAGR,KAAK,CAACQ,YAAY,IAAI,EAAE;EAC7CR,KAAK,CAACQ,YAAY,CAACC,IAAI,CAAC,MAAmB,CAAC;AAC9C;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOP,MAAM;AACf;AAEA,OAAO,SAASQ,cAAcA,CAACC,IAAY,EAAE;EAC3CT,MAAM,CAACI,gBAAgB,CAACE,IAAI,CAACG,IAAI,CAAC;AACpC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"refererDetection.js","names":["config","logWarn","ensureProtocol","url","win","arguments","length","undefined","window","exec","windowProto","location","protocol","top","e","parseDomain","noLeadingWww","noPort","target","URL","hostname","host","startsWith","substring","getCanonicalUrl","doc","element","querySelector","href","detectReferer","getAncestorOrigins","ancestorOrigins","refererInfo","stack","ancestors","maxNestedIframes","getConfig","currentWindow","bestLocation","bestCanonicalUrl","reachedTop","level","valuesFromAmp","inAmpFrame","hasTopLocation","previousWindow","wasInAmpFrame","currentLocation","crossOrigin","foundLocation","parent","context","sourceUrl","canonicalUrl","referrer","document","push","reverse","ref","page","indexOf","isAmp","numIframes","topmostLocation","domain","legacy","referer","cacheWithLocation","fn","canonical","value","newCanonical","newHref","getRefererInfo"],"sourceRoot":"../../..","sources":["src/refererDetection.ts"],"sourcesContent":["/**\n * The referer detection module attempts to gather referer information from the current page that prebid.js resides in.\n * The information that it tries to collect includes:\n * The detected top url in the nav bar,\n * Whether it was able to reach the top most window (if for example it was embedded in several iframes),\n * The number of iframes it was embedded in if applicable (by default max ten iframes),\n * A list of the domains of each embedded window if applicable.\n * Canonical URL which refers to an HTML link element, with the attribute of rel=\"canonical\", found in the <head> element of your webpage\n */\n\nimport { config } from './config.js';\nimport {logWarn} from './utils.js';\n\n/**\n * Prepend a URL with the page's protocol (http/https), if necessary.\n */\nexport function ensureProtocol(url, win = window) {\n if (!url) return url;\n if (/\\w+:\\/\\//.exec(url)) {\n // url already has protocol\n return url;\n }\n let windowProto = win.location.protocol;\n try {\n windowProto = win.top.location.protocol;\n } catch (e) {}\n if (/^\\/\\//.exec(url)) {\n // url uses relative protocol (\"//example.com\")\n return windowProto + url;\n } else {\n return `${windowProto}//${url}`;\n }\n}\n\n/**\n * Extract the domain portion from a URL.\n * @param url - The URL to extract the domain from.\n * @param options - Options for parsing the domain.\n * @param options.noLeadingWww - If true, remove 'www.' appearing at the beginning of the domain.\n * @param options.noPort - If true, do not include the ':[port]' portion.\n * @return The extracted domain or undefined if the URL is invalid.\n */\nexport function parseDomain(url: string, {noLeadingWww = false, noPort = false} = {}): string | null {\n let target;\n try {\n target = new URL(ensureProtocol(url));\n } catch (e) {\n return;\n }\n target = noPort ? target.hostname : target.host;\n if (noLeadingWww && target.startsWith('www.')) {\n target = target.substring(4);\n }\n return target;\n}\n\n/**\n * This function returns canonical URL which refers to an HTML link element, with the attribute of rel=\"canonical\", found in the <head> element of your webpage\n *\n * @param {Object} doc document\n * @returns {string|null}\n */\nfunction getCanonicalUrl(doc) {\n try {\n const element = doc.querySelector(\"link[rel='canonical']\");\n\n if (element !== null) {\n return element.href;\n }\n } catch (e) {\n // Ignore error\n }\n\n return null;\n}\n\ndeclare module './config' {\n interface Config {\n /**\n * Prebid.js will loop upward through nested iframes to find the top-most referrer. T\n * his setting limits how many iterations it will attempt before giving up and not setting referrer.\n */\n maxNestedIframes?: number;\n /**\n * Override the Prebid.js page referrer.\n */\n pageUrl?: string;\n }\n}\n\n/**\n * @param {Window} win Window\n * @returns {Function}\n */\nexport function detectReferer(win) {\n /**\n * This function would return a read-only array of hostnames for all the parent frames.\n * win.location.ancestorOrigins is only supported in webkit browsers. For non-webkit browsers it will return undefined.\n *\n * @param {Window} win Window object\n * @returns {(undefined|Array)} Ancestor origins or undefined\n */\n function getAncestorOrigins(win) {\n try {\n if (!win.location.ancestorOrigins) {\n return;\n }\n\n return win.location.ancestorOrigins;\n } catch (e) {\n // Ignore error\n }\n }\n\n // TODO: the meaning of \"reachedTop\" seems to be intentionally ambiguous - best to leave them out of\n // the typedef for now. (for example, unit tests enforce that \"reachedTop\" should be false in some situations where we\n // happily provide a location for the top).\n\n /**\n * Walk up the windows to get the origin stack and best available referrer, canonical URL, etc.\n *\n * @returns An object containing referer information.\n */\n function refererInfo() {\n const stack: string[] = [];\n const ancestors = getAncestorOrigins(win);\n const maxNestedIframes = config.getConfig('maxNestedIframes');\n\n let currentWindow;\n let bestLocation: string;\n let bestCanonicalUrl;\n let reachedTop = false;\n let level = 0;\n let valuesFromAmp = false;\n let inAmpFrame = false;\n let hasTopLocation = false;\n\n do {\n const previousWindow = currentWindow;\n const wasInAmpFrame = inAmpFrame;\n let currentLocation;\n let crossOrigin = false;\n let foundLocation = null;\n\n inAmpFrame = false;\n currentWindow = currentWindow ? currentWindow.parent : win;\n\n try {\n currentLocation = currentWindow.location.href || null;\n } catch (e) {\n crossOrigin = true;\n }\n\n if (crossOrigin) {\n if (wasInAmpFrame) {\n const context = previousWindow.context;\n\n try {\n foundLocation = context.sourceUrl;\n bestLocation = foundLocation;\n hasTopLocation = true;\n\n valuesFromAmp = true;\n\n if (currentWindow === win.top) {\n reachedTop = true;\n }\n\n if (context.canonicalUrl) {\n bestCanonicalUrl = context.canonicalUrl;\n }\n } catch (e) { /* Do nothing */ }\n } else {\n logWarn('Trying to access cross domain iframe. Continuing without referrer and location');\n\n try {\n // the referrer to an iframe is the parent window\n const referrer = previousWindow.document.referrer;\n\n if (referrer) {\n foundLocation = referrer;\n\n if (currentWindow === win.top) {\n reachedTop = true;\n }\n }\n } catch (e) { /* Do nothing */ }\n\n if (!foundLocation && ancestors && ancestors[level - 1]) {\n foundLocation = ancestors[level - 1];\n if (currentWindow === win.top) {\n hasTopLocation = true;\n }\n }\n\n if (foundLocation && !valuesFromAmp) {\n bestLocation = foundLocation;\n }\n }\n } else {\n if (currentLocation) {\n foundLocation = currentLocation;\n bestLocation = foundLocation;\n valuesFromAmp = false;\n\n if (currentWindow === win.top) {\n reachedTop = true;\n\n const canonicalUrl = getCanonicalUrl(currentWindow.document);\n\n if (canonicalUrl) {\n bestCanonicalUrl = canonicalUrl;\n }\n }\n }\n\n if (currentWindow.context && currentWindow.context.sourceUrl) {\n inAmpFrame = true;\n }\n }\n\n stack.push(foundLocation);\n level++;\n } while (currentWindow !== win.top && level < maxNestedIframes);\n\n stack.reverse();\n\n let ref: string;\n try {\n ref = win.top.document.referrer;\n } catch (e) {}\n\n const location: string = reachedTop || hasTopLocation ? bestLocation : null;\n const canonicalUrl: string | null = config.getConfig('pageUrl') || bestCanonicalUrl || null;\n let page: string = config.getConfig('pageUrl') || location || ensureProtocol(canonicalUrl, win);\n\n if (location && location.indexOf('?') > -1 && page.indexOf('?') === -1) {\n page = `${page}${location.substring(location.indexOf('?'))}`;\n }\n\n return {\n /**\n * True if the top window is accessible.\n */\n reachedTop,\n isAmp: valuesFromAmp,\n /**\n * number of steps between window.self and window.top\n */\n numIframes: level - 1,\n /**\n * our best guess at the location for each frame, in the direction top -> self.\n */\n stack,\n /**\n * of the top-most frame for which we could guess the location. Outside of cross-origin scenarios, this is equivalent to `location`.\n */\n topmostLocation: bestLocation || null,\n /**\n * the browser's location, or null if not available (due to cross-origin restrictions)\n */\n location,\n /**\n * the site's canonical URL as set by the publisher, through setConfig({pageUrl}) or <link rel=\"canonical\" />\n */\n canonicalUrl,\n /**\n * the best candidate for the current page URL: `canonicalUrl`, falling back to `location`\n */\n page,\n /**\n * the domain portion of `page`\n */\n domain: parseDomain(page) || null,\n /**\n * the referrer (document.referrer) to the current page, or null if not available (due to cross-origin restrictions)\n */\n ref: ref || null,\n // TODO: the \"legacy\" refererInfo object is provided here, for now, to accommodate\n // adapters that decided to just send it verbatim to their backend.\n legacy: {\n reachedTop,\n isAmp: valuesFromAmp,\n numIframes: level - 1,\n stack,\n referer: bestLocation || null,\n canonicalUrl\n }\n };\n }\n\n return refererInfo;\n}\n\n// cache result of fn (= referer info) as long as:\n// - we are the top window\n// - canonical URL tag and window location have not changed\nexport function cacheWithLocation(fn, win = window) {\n if (win.top !== win) return fn;\n let canonical, href, value;\n return function () {\n const newCanonical = getCanonicalUrl(win.document);\n const newHref = win.location.href;\n if (canonical !== newCanonical || newHref !== href) {\n canonical = newCanonical;\n href = newHref;\n value = fn();\n }\n return value;\n }\n}\n\nexport type RefererInfo = ReturnType<ReturnType<typeof detectReferer>>;\nexport const getRefererInfo: () => RefererInfo = cacheWithLocation(detectReferer(window));\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"refererDetection.js","names":["config","logWarn","ensureProtocol","url","win","arguments","length","undefined","window","exec","windowProto","location","protocol","top","e","parseDomain","noLeadingWww","noPort","target","URL","hostname","host","startsWith","substring","getCanonicalUrl","doc","element","querySelector","href","detectReferer","getAncestorOrigins","ancestorOrigins","refererInfo","stack","ancestors","maxNestedIframes","getConfig","currentWindow","bestLocation","bestCanonicalUrl","reachedTop","level","valuesFromAmp","inAmpFrame","hasTopLocation","previousWindow","wasInAmpFrame","currentLocation","crossOrigin","foundLocation","parent","context","sourceUrl","canonicalUrl","referrer","document","push","reverse","ref","page","indexOf","isAmp","numIframes","topmostLocation","domain","legacy","referer","cacheWithLocation","fn","canonical","value","newCanonical","newHref","getRefererInfo"],"sourceRoot":"../../..","sources":["src/refererDetection.ts"],"sourcesContent":["/**\n * The referer detection module attempts to gather referer information from the current page that prebid.js resides in.\n * The information that it tries to collect includes:\n * The detected top url in the nav bar,\n * Whether it was able to reach the top most window (if for example it was embedded in several iframes),\n * The number of iframes it was embedded in if applicable (by default max ten iframes),\n * A list of the domains of each embedded window if applicable.\n * Canonical URL which refers to an HTML link element, with the attribute of rel=\"canonical\", found in the <head> element of your webpage\n */\n\nimport { config } from './config.js';\nimport {logWarn} from './utils.js';\n\n/**\n * Prepend a URL with the page's protocol (http/https), if necessary.\n */\nexport function ensureProtocol(url, win = window) {\n if (!url) return url;\n if (/\\w+:\\/\\//.exec(url)) {\n // url already has protocol\n return url;\n }\n let windowProto = win.location.protocol;\n try {\n windowProto = win.top.location.protocol;\n } catch (e) {}\n if (/^\\/\\//.exec(url)) {\n // url uses relative protocol (\"//example.com\")\n return windowProto + url;\n } else {\n return `${windowProto}//${url}`;\n }\n}\n\n/**\n * Extract the domain portion from a URL.\n * @param url - The URL to extract the domain from.\n * @param options - Options for parsing the domain.\n * @param options.noLeadingWww - If true, remove 'www.' appearing at the beginning of the domain.\n * @param options.noPort - If true, do not include the ':[port]' portion.\n * @return The extracted domain or undefined if the URL is invalid.\n */\nexport function parseDomain(url: string, {noLeadingWww = false, noPort = false} = {}): string | null {\n let target;\n try {\n target = new URL(ensureProtocol(url));\n } catch (e) {\n return;\n }\n target = noPort ? target.hostname : target.host;\n if (noLeadingWww && target.startsWith('www.')) {\n target = target.substring(4);\n }\n return target;\n}\n\n/**\n * This function returns canonical URL which refers to an HTML link element, with the attribute of rel=\"canonical\", found in the <head> element of your webpage\n *\n * @param {Object} doc document\n * @returns {string|null}\n */\nfunction getCanonicalUrl(doc) {\n try {\n const element = doc.querySelector(\"link[rel='canonical']\");\n\n if (element !== null) {\n return element.href;\n }\n } catch (e) {\n // Ignore error\n }\n\n return null;\n}\n\ndeclare module './config' {\n interface Config {\n /**\n * Prebid.js will loop upward through nested iframes to find the top-most referrer. T\n * his setting limits how many iterations it will attempt before giving up and not setting referrer.\n */\n maxNestedIframes?: number;\n /**\n * Override the Prebid.js page referrer.\n */\n pageUrl?: string;\n }\n}\n\n/**\n * @param {Window} win Window\n * @returns {Function}\n */\nexport function detectReferer(win) {\n /**\n * This function would return a read-only array of hostnames for all the parent frames.\n * win.location.ancestorOrigins is only supported in webkit browsers. For non-webkit browsers it will return undefined.\n *\n * @param {Window} win Window object\n * @returns {(undefined|Array)} Ancestor origins or undefined\n */\n function getAncestorOrigins(win) {\n try {\n if (!win.location.ancestorOrigins) {\n return;\n }\n\n return win.location.ancestorOrigins;\n } catch (e) {\n // Ignore error\n }\n }\n\n // TODO: the meaning of \"reachedTop\" seems to be intentionally ambiguous - best to leave them out of\n // the typedef for now. (for example, unit tests enforce that \"reachedTop\" should be false in some situations where we\n // happily provide a location for the top).\n\n /**\n * Walk up the windows to get the origin stack and best available referrer, canonical URL, etc.\n *\n * @returns An object containing referer information.\n */\n function refererInfo() {\n const stack: string[] = [];\n const ancestors = getAncestorOrigins(win);\n const maxNestedIframes = config.getConfig('maxNestedIframes');\n\n let currentWindow;\n let bestLocation: string;\n let bestCanonicalUrl;\n let reachedTop = false;\n let level = 0;\n let valuesFromAmp = false;\n let inAmpFrame = false;\n let hasTopLocation = false;\n\n do {\n const previousWindow = currentWindow;\n const wasInAmpFrame = inAmpFrame;\n let currentLocation;\n let crossOrigin = false;\n let foundLocation = null;\n\n inAmpFrame = false;\n currentWindow = currentWindow ? currentWindow.parent : win;\n\n try {\n currentLocation = currentWindow.location.href || null;\n } catch (e) {\n crossOrigin = true;\n }\n\n if (crossOrigin) {\n if (wasInAmpFrame) {\n const context = previousWindow.context;\n\n try {\n foundLocation = context.sourceUrl;\n bestLocation = foundLocation;\n hasTopLocation = true;\n\n valuesFromAmp = true;\n\n if (currentWindow === win.top) {\n reachedTop = true;\n }\n\n if (context.canonicalUrl) {\n bestCanonicalUrl = context.canonicalUrl;\n }\n } catch (e) { /* Do nothing */ }\n } else {\n logWarn('Trying to access cross domain iframe. Continuing without referrer and location');\n\n try {\n // the referrer to an iframe is the parent window\n const referrer = previousWindow.document.referrer;\n\n if (referrer) {\n foundLocation = referrer;\n\n if (currentWindow === win.top) {\n reachedTop = true;\n }\n }\n } catch (e) { /* Do nothing */ }\n\n if (!foundLocation && ancestors && ancestors[level - 1]) {\n foundLocation = ancestors[level - 1];\n if (currentWindow === win.top) {\n hasTopLocation = true;\n }\n }\n\n if (foundLocation && !valuesFromAmp) {\n bestLocation = foundLocation;\n }\n }\n } else {\n if (currentLocation) {\n foundLocation = currentLocation;\n bestLocation = foundLocation;\n valuesFromAmp = false;\n\n if (currentWindow === win.top) {\n reachedTop = true;\n\n const canonicalUrl = getCanonicalUrl(currentWindow.document);\n\n if (canonicalUrl) {\n bestCanonicalUrl = canonicalUrl;\n }\n }\n }\n\n if (currentWindow.context && currentWindow.context.sourceUrl) {\n inAmpFrame = true;\n }\n }\n\n stack.push(foundLocation);\n level++;\n } while (currentWindow !== win.top && level < maxNestedIframes);\n\n stack.reverse();\n\n let ref: string;\n try {\n ref = win.top.document.referrer;\n } catch (e) {}\n\n const location: string = reachedTop || hasTopLocation ? bestLocation : null;\n const canonicalUrl: string | null = config.getConfig('pageUrl') || bestCanonicalUrl || null;\n let page: string = config.getConfig('pageUrl') || location || ensureProtocol(canonicalUrl, win);\n\n if (location && location.indexOf('?') > -1 && page.indexOf('?') === -1) {\n page = `${page}${location.substring(location.indexOf('?'))}`;\n }\n\n return {\n /**\n * True if the top window is accessible.\n */\n reachedTop,\n isAmp: valuesFromAmp,\n /**\n * number of steps between window.self and window.top\n */\n numIframes: level - 1,\n /**\n * our best guess at the location for each frame, in the direction top -> self.\n */\n stack,\n /**\n * of the top-most frame for which we could guess the location. Outside of cross-origin scenarios, this is equivalent to `location`.\n */\n topmostLocation: bestLocation || null,\n /**\n * the browser's location, or null if not available (due to cross-origin restrictions)\n */\n location,\n /**\n * the site's canonical URL as set by the publisher, through setConfig({pageUrl}) or <link rel=\"canonical\" />\n */\n canonicalUrl,\n /**\n * the best candidate for the current page URL: `canonicalUrl`, falling back to `location`\n */\n page,\n /**\n * the domain portion of `page`\n */\n domain: parseDomain(page) || null,\n /**\n * the referrer (document.referrer) to the current page, or null if not available (due to cross-origin restrictions)\n */\n ref: ref || null,\n // TODO: the \"legacy\" refererInfo object is provided here, for now, to accommodate\n // adapters that decided to just send it verbatim to their backend.\n legacy: {\n reachedTop,\n isAmp: valuesFromAmp,\n numIframes: level - 1,\n stack,\n referer: bestLocation || null,\n canonicalUrl\n }\n };\n }\n\n return refererInfo;\n}\n\n// cache result of fn (= referer info) as long as:\n// - we are the top window\n// - canonical URL tag and window location have not changed\nexport function cacheWithLocation(fn, win = window) {\n if (win.top !== win) return fn;\n let canonical, href, value;\n return function () {\n const newCanonical = getCanonicalUrl(win.document);\n const newHref = win.location.href;\n if (canonical !== newCanonical || newHref !== href) {\n canonical = newCanonical;\n href = newHref;\n value = fn();\n }\n return value;\n }\n}\n\nexport type RefererInfo = ReturnType<ReturnType<typeof detectReferer>>;\nexport const getRefererInfo: () => RefererInfo = cacheWithLocation(detectReferer(window));\n"],"mappings":"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","ignoreList":[]}