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.
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/scripts/codepath-notification +1 -0
- package/creative/renderers/display/renderer.js +3 -4
- package/dist/chunks/1plusXRtdProvider.js +1 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusUtils.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cryptoUtils.js +1 -0
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +13 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/getintentBidAdapter.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/iasRtdProvider.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerRtdProvider.js +1 -1
- package/dist/chunks/jwplayerVideoProvider.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.js +1 -1
- package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/rumbleBidAdapter.js +1 -0
- package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -0
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +443 -438
- package/dist/src/creative/renderers/display/renderer.js +3 -4
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
- package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
- package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
- package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
- package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
- package/dist/src/libraries/impUtils.js +36 -0
- package/dist/src/libraries/impUtils.js.map +1 -0
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
- package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/libraries/video/constants/events.js.map +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/1plusXRtdProvider.js +6 -2
- package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admixerBidAdapter.js +5 -4
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +4 -39
- package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxBidAdapter.js.map +1 -1
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consentManagementGpp.js.map +1 -1
- package/dist/src/modules/consentManagementTcf.js.map +1 -1
- package/dist/src/modules/consentManagementUsp.js.map +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/currency.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/cwireBidAdapter.js.map +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
- package/dist/src/modules/dchain.js.map +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
- package/dist/src/modules/getintentBidAdapter.js +4 -2
- package/dist/src/modules/getintentBidAdapter.js.map +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
- package/dist/src/modules/gppControl_usstates.js.map +1 -1
- package/dist/src/modules/gptPreAuction.d.ts +3 -3
- package/dist/src/modules/gptPreAuction.js.map +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/iasRtdProvider.js +110 -5
- package/dist/src/modules/iasRtdProvider.js.map +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/intentIqIdSystem.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/jwplayerRtdProvider.js +6 -2
- package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
- package/dist/src/modules/jwplayerVideoProvider.js +12 -9
- package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/kubientBidAdapter.js +0 -1
- package/dist/src/modules/kubientBidAdapter.js.map +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +6 -2
- package/dist/src/modules/medianetBidAdapter.js.map +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/michaoBidAdapter.js.map +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
- package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js.map +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js +2 -38
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtdModule/index.js.map +1 -1
- package/dist/src/modules/rtdModule/spec.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +6 -2
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/rumbleBidAdapter.js +103 -0
- package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
- package/dist/src/modules/schain.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +254 -0
- package/dist/src/modules/sevioBidAdapter.js.map +1 -0
- package/dist/src/modules/sharedIdSystem.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/storageControl.js.map +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/tcfControl.js.map +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
- package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +9 -2
- package/dist/src/modules/ttdBidAdapter.js.map +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/index.js +12 -8
- package/dist/src/modules/userId/index.js.map +1 -1
- package/dist/src/modules/userId/spec.js.map +1 -1
- package/dist/src/modules/validationFpdModule/index.js.map +1 -1
- package/dist/src/modules/videoModule/index.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/weboramaRtdProvider.js +30 -11
- package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
- package/dist/src/modules/welectBidAdapter.js.map +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +47 -15
- package/dist/src/modules/yandexBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/rumbleBidAdapter.js +1 -0
- package/dist/src/public/sevioBidAdapter.js +1 -0
- package/dist/src/src/activities/params.d.ts +5 -0
- package/dist/src/src/activities/params.js +6 -0
- package/dist/src/src/activities/params.js.map +1 -1
- package/dist/src/src/activities/redactor.js.map +1 -1
- package/dist/src/src/adRendering.js.map +1 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/ajax.js.map +1 -1
- package/dist/src/src/auction.js.map +1 -1
- package/dist/src/src/banner.js.map +1 -1
- package/dist/src/src/bidTTL.js.map +1 -1
- package/dist/src/src/bidderSettings.js.map +1 -1
- package/dist/src/src/bidfactory.js.map +1 -1
- package/dist/src/src/config.js +3 -3
- package/dist/src/src/config.js.map +1 -1
- package/dist/src/src/consentHandler.js.map +1 -1
- package/dist/src/src/constants.js.map +1 -1
- package/dist/src/src/cpmBucketManager.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/events.js.map +1 -1
- package/dist/src/src/fpd/enrichment.js.map +1 -1
- package/dist/src/src/hook.js.map +1 -1
- package/dist/src/src/mediaTypes.js.map +1 -1
- package/dist/src/src/native.js.map +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.js.map +1 -1
- package/dist/src/src/prebidGlobal.js.map +1 -1
- package/dist/src/src/refererDetection.js.map +1 -1
- package/dist/src/src/storageManager.js +26 -25
- package/dist/src/src/storageManager.js.map +1 -1
- package/dist/src/src/targeting.d.ts +7 -7
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/common.d.js.map +1 -1
- package/dist/src/src/types/common.d.ts +29 -29
- package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
- package/dist/src/src/types/local/shim.d.js.map +1 -1
- package/dist/src/src/types/objects.d.js.map +1 -1
- package/dist/src/src/types/objects.d.ts +15 -15
- package/dist/src/src/types/ortb/common.d.js.map +1 -1
- package/dist/src/src/types/ortb/common.d.ts +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
- package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
- package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
- package/dist/src/src/types/ortb/request.d.js.map +1 -1
- package/dist/src/src/types/ortb/request.d.ts +21 -21
- package/dist/src/src/types/ortb/response.d.js.map +1 -1
- package/dist/src/src/types/ortb/response.d.ts +6 -6
- package/dist/src/src/types/summary/core.d.ts +5 -5
- package/dist/src/src/userSync.js.map +1 -1
- package/dist/src/src/utils/objects.js.map +1 -1
- package/dist/src/src/utils/perfMetrics.js.map +1 -1
- package/dist/src/src/utils/promise.js.map +1 -1
- package/dist/src/src/utils/ttlCollection.js.map +1 -1
- package/dist/src/src/video.js.map +1 -1
- package/dist/src/src/videoCache.js.map +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js +1 -1
- package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
- package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
- package/dist/src/test/mocks/timers.js +12 -12
- package/dist/src/test/mocks/timers.js.map +1 -1
- package/dist/src/test/spec/adloader_spec.js.map +1 -1
- package/dist/src/test/spec/config_spec.js +9 -3
- package/dist/src/test/spec/config_spec.js.map +1 -1
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
- package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
- package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
- package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
- package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/userId_spec.js +41 -6
- package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
- package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
- package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
- package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
- package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
- package/dist/src/test/spec/utils_spec.js.map +1 -1
- package/eslint.config.js +2 -6
- package/gulpfile.js +0 -7
- package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
- package/libraries/appnexusUtils/anKeywords.js +11 -0
- package/libraries/consentManagement/cmUtils.ts +18 -18
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/cryptoUtils/wallets.js +38 -0
- package/libraries/dspxUtils/bidderUtils.js +1 -1
- package/libraries/impUtils.js +33 -0
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/nexx360Utils/index.js +8 -8
- package/libraries/ortbConverter/converter.ts +79 -79
- package/libraries/video/constants/events.ts +5 -5
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +8 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +15 -29
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
- package/metadata/modules/docereeBidAdapter.json +3 -3
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +3 -3
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kubientBidAdapter.json +3 -8
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +8 -8
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +4 -5
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +7 -117
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/rumbleBidAdapter.json +13 -0
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +18 -0
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +4 -4
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/themoneytizerBidAdapter.json +3 -8
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +23 -2
- package/modules/1plusXRtdProvider.js +6 -2
- package/modules/adWMGBidAdapter.js +8 -8
- package/modules/admixerBidAdapter.js +9 -4
- package/modules/adspiritBidAdapter.js +8 -8
- package/modules/adtrgtmeBidAdapter.js +2 -2
- package/modules/adxcgBidAdapter.js +2 -36
- package/modules/amxBidAdapter.js +3 -3
- package/modules/chromeAiRtdProvider.js +5 -5
- package/modules/consentManagementGpp.ts +11 -11
- package/modules/consentManagementTcf.ts +33 -33
- package/modules/consentManagementUsp.ts +14 -14
- package/modules/currency.ts +59 -59
- package/modules/cwireBidAdapter.js +2 -2
- package/modules/dailymotionBidAdapter.js +4 -4
- package/modules/dchain.ts +4 -4
- package/modules/dspxBidAdapter.js +8 -8
- package/modules/eightPodBidAdapter.js +8 -8
- package/modules/genericAnalyticsAdapter.ts +50 -50
- package/modules/geolocationRtdProvider.ts +48 -48
- package/modules/getintentBidAdapter.js +4 -2
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gppControl_usstates.ts +40 -40
- package/modules/gptPreAuction.ts +34 -34
- package/modules/iasRtdProvider.js +87 -5
- package/modules/intentIqAnalyticsAdapter.js +8 -8
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/jwplayerRtdProvider.js +6 -2
- package/modules/jwplayerVideoProvider.js +13 -9
- package/modules/kubientBidAdapter.js +0 -1
- package/modules/medianetAnalyticsAdapter.js +5 -5
- package/modules/medianetBidAdapter.js +5 -1
- package/modules/michaoBidAdapter.ts +7 -7
- package/modules/multibid/index.ts +31 -31
- package/modules/nexverseBidAdapter.js +1 -1
- package/modules/nodalsAiRtdProvider.js +4 -2
- package/modules/onetagBidAdapter.js +12 -12
- package/modules/openxBidAdapter.js +6 -1
- package/modules/prebidServerBidAdapter/index.ts +130 -130
- package/modules/priceFloors.ts +131 -131
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticRtdProvider.js +143 -143
- package/modules/pulsepointBidAdapter.js +3 -38
- package/modules/readpeakBidAdapter.js +17 -17
- package/modules/rtdModule/index.ts +8 -8
- package/modules/rtdModule/spec.ts +30 -30
- package/modules/rubiconBidAdapter.js +5 -1
- package/modules/rumbleBidAdapter.js +128 -0
- package/modules/rumbleBidAdapter.md +114 -0
- package/modules/schain.ts +4 -4
- package/modules/sevioBidAdapter.js +262 -0
- package/modules/sevioBidAdapter.md +29 -0
- package/modules/sharedIdSystem.ts +29 -29
- package/modules/storageControl.ts +72 -72
- package/modules/tcfControl.ts +60 -60
- package/modules/themoneytizerBidAdapter.js +2 -4
- package/modules/ttdBidAdapter.js +11 -1
- package/modules/ttdBidAdapter.md +3 -1
- package/modules/userId/index.ts +129 -119
- package/modules/userId/spec.ts +136 -136
- package/modules/validationFpdModule/index.ts +4 -4
- package/modules/videoModule/index.ts +37 -37
- package/modules/weboramaRtdProvider.js +30 -11
- package/modules/welectBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +67 -24
- package/package.json +2 -3
- package/src/activities/params.js +6 -0
- package/src/activities/redactor.ts +8 -8
- package/src/adRendering.ts +61 -61
- package/src/adUnits.ts +100 -100
- package/src/adapterManager.ts +605 -605
- package/src/adapters/bidderFactory.ts +99 -99
- package/src/ajax.ts +39 -39
- package/src/auction.ts +217 -217
- package/src/banner.ts +28 -28
- package/src/bidTTL.ts +16 -16
- package/src/bidderSettings.ts +46 -46
- package/src/bidfactory.ts +107 -107
- package/src/config.ts +65 -65
- package/src/consentHandler.ts +25 -25
- package/src/constants.ts +14 -14
- package/src/cpmBucketManager.ts +7 -7
- package/src/events.ts +75 -75
- package/src/fpd/enrichment.ts +8 -8
- package/src/hook.ts +14 -14
- package/src/mediaTypes.ts +16 -16
- package/src/native.ts +62 -62
- package/src/prebid.ts +362 -362
- package/src/prebidGlobal.ts +18 -18
- package/src/refererDetection.ts +54 -54
- package/src/storageManager.ts +76 -73
- package/src/targeting.ts +215 -215
- package/src/types/common.d.ts +29 -29
- package/src/types/local/buildOptions.d.ts +3 -3
- package/src/types/local/shim.d.ts +6 -6
- package/src/types/objects.d.ts +15 -15
- package/src/types/ortb/common.d.ts +1 -1
- package/src/types/ortb/ext/dchain.d.ts +69 -69
- package/src/types/ortb/ext/dsa.d.ts +50 -50
- package/src/types/ortb/request.d.ts +21 -21
- package/src/types/ortb/response.d.ts +6 -6
- package/src/userSync.ts +32 -32
- package/src/utils/objects.ts +11 -11
- package/src/utils/perfMetrics.ts +193 -193
- package/src/utils/promise.ts +14 -14
- package/src/utils/ttlCollection.ts +25 -25
- package/src/video.ts +73 -73
- package/src/videoCache.ts +60 -60
- package/test/helpers/index_adapter_utils.js +1 -2
- package/test/helpers/refererDetectionHelper.js +2 -2
- package/test/mocks/timers.js +12 -9
- package/test/spec/adloader_spec.js +13 -13
- package/test/spec/config_spec.js +9 -3
- package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
- package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
- package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
- package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
- package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
- package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
- package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
- package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
- package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
- package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
- package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
- package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
- package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
- package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
- package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
- package/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
- package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
- package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
- package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
- package/test/spec/modules/iasRtdProvider_spec.js +89 -8
- package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
- package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
- package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
- package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
- package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
- package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
- package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
- package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
- package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
- package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
- package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
- package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
- package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
- package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
- package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
- package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
- package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
- package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
- package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
- package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
- package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
- package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
- package/test/spec/modules/stvBidAdapter_spec.js +32 -32
- package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
- package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
- package/test/spec/modules/uid2IdSystem_spec.js +3 -3
- package/test/spec/modules/userId_spec.js +41 -7
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
- package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
- package/test/spec/refererDetection_spec.js +11 -11
- package/test/spec/unit/core/storageManager_spec.js +20 -1
- package/test/spec/unit/core/targeting_spec.js +8 -8
- package/test/spec/utils_spec.js +25 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["registerModule","__r0","config","events","addApiMethod","startAuction","adapterManager","EVENTS","module","ready","hooksReady","EID_CONFIG","getEids","discloseStorageUse","getCoreStorageManager","newStorageManager","STORAGE_TYPE_COOKIES","STORAGE_TYPE_LOCALSTORAGE","deepEqual","deepSetValue","delayExecution","isArray","isEmpty","isFn","isGptPubadsDefined","isNumber","isPlainObject","logError","logInfo","logWarn","getPPID","coreGetPPID","defer","delay","PbPromise","newMetrics","timedAuctionHook","useMetrics","findRootDomain","allConsent","GDPR_GVLIDS","MODULE_TYPE_UID","isActivityAllowed","registerActivityControl","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ENRICH_EIDS","activityParams","USERSYNC_DEFAULT_CONFIG","ACTIVITY_PARAM_COMPONENT_NAME","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_TYPE","MODULE_NAME","COOKIE","LOCAL_STORAGE","PBJS_USER_ID_OPTOUT_NAME","coreStorage","dep","isAllowed","submodules","initializedSubmodules","configRegistry","idPriority","submoduleRegistry","timeoutID","syncDelay","auctionDelay","ppidSource","configListener","uidMetrics","metrics","submoduleMetrics","moduleName","fork","renameWith","n","setSubmoduleRegistry","updateEIDConfig","cookieSetter","submodule","storageMgr","domainOverride","name","storage","setCookie","suffix","value","expiration","setValueInCookie","valueStr","expiresStr","getConsentHash","refreshInSeconds","Date","toUTCString","setValueInLocalStorage","mgr","setDataInLocalStorage","encodeURIComponent","setStoredValue","now","expires","JSON","stringify","enabledStorageTypes","forEach","storageType","error","COOKIE_SUFFIXES","deleteValueFromCookie","expiry","e","HTML5_SUFFIXES","deleteValueFromLocalStorage","removeDataFromLocalStorage","deleteStoredValue","populateEnabledStorageTypes","getValueFromCookie","storedKey","getCookie","getValueFromLocalStorage","storedValueExp","getDataFromLocalStorage","getTime","decodeURIComponent","getStoredValue","key","arguments","length","undefined","storedValue","find","trim","charAt","parse","processSubmoduleCallbacks","cb","priorityMaps","startTiming","stopBefore","done","clearTimeout","moduleDone","callbackCompleted","idObj","decode","refresh","updatePPID","callback","bind","getIds","priorityMap","Object","fromEntries","entries","map","_ref","getActiveModule","filter","_ref2","_","getPrimaryIds","primaryIds","ids","keys","eids","Error","orderByPriority","items","getKeys","getIdMod","tally","item","keyItems","keyPriority","indexOf","includes","pos","findIndex","_ref3","priority","splice","_ref4","_ref5","mkPriorityMaps","global","bidder","combined","addtlModules","refreshing","Set","mod","has","concat","update","modulesById","submod","activeModuleGetter","useGlobals","modules","allowed","bidders","init","listModules","join","_ref6","allNonGlobal","bidderFilters","Array","add","_ref7","bidderCode","_ref8","values","reduce","combo","assign","enrichEids","ortb2Fragments","globalFpd","bidderFpd","globalMods","bidderMods","globalEids","user","ext","_ref9","moduleMap","bidderEids","addIdData","_ref0","INIT_CANCELED","idSystemInitializer","mkDelay","startInit","startCallbacks","cancel","initialized","initMetrics","cancelAndTry","promise","reject","race","finally","initModules","allModules","checkRefs","fn","timeConsent","all","then","initSubmodules","modWithCb","resolve","submoduleNames","on","AUCTION_END","auctionEndHandler","off","catch","cbModules","sm","initIdSystem","getUserIdsAsEids","matchingUserId","userID","source","uids","id","ppidValue","replace","startAuctionHook","requestBidsHook","reqBidsConfigObj","getUserIdsAsync","propagate","includeGroups","call","aliasEidsHook","next","bidderRequests","bidderRequest","bids","bid","defineProperty","configurable","get","ortb2","addedStartAuctionHook","getHooks","hook","getUserIds","getUserIdsAsEidBySource","sourceName","eid","getEncryptedEidsForSource","encrypt","customFunction","retryOnCancel","eidsSignals","customSignals","encryptSignals","signals","version","encryptedSig","window","btoa","registerSignalSources","googletag","secureSignalProviders","encryptedSignalSources","getConfig","registerDelay","setTimeout","_ref1","customFunc","src","push","collectorFunction","initParams","Promise","refreshUserIds","userIds","hash","Number","bytes","String","fromCharCode","consentChanged","storedConsent","populateSubmoduleId","forceRefresh","consentData","getConsentData","storedId","response","refreshNeeded","storedDate","extendedConfig","getId","extendId","ppid","pubads","setPublisherProvidedId","cmd","measureTime","canUseStorage","carry","getConfiguredStorageTypes","type","split","hasValidStorageTypes","storageTypes","every","ALL_STORAGE_TYPES","getValidSubmoduleConfigs","err","msg","_len","args","_key","param","isNaN","canUseLocalStorage","localStorageIsEnabled","canUseCookies","cookiesAreEnabled","STORAGE_PURPOSES","identifier","purposes","maxAgeSeconds","cookieRefresh","clear","_ref10","set","generateSubmoduleContainers","options","configs","prevSubmodules","registry","autoRefresh","retainConfig","acc","aliasName","matchesName","query","some","toLowerCase","submoduleConfig","configItem","previousSubmodule","newSubmoduleContainer","moduleType","advertiseKeys","refreshIds","updateSubmodules","updatedContainers","before","callDataDeletionRequest","requestDataDeletion","after","a","updateIdPriority","idPriorityConfig","result","aliasToName","Map","s","reverse","_len2","_key2","onDataDeletionRequest","apply","attachIdSystem","i","register","gvlid","normalizePromise","_len3","_key3","enforceStorageTypeRule","userIdsConfig","enforceStorageType","params","reason","allow","unregisterEnforceStorageTypeRule","conf","userSync","_ref11","submodulesToRefresh","makeBidRequests","resetUserIds","setConfig","postInstallAllowed"],"sourceRoot":"../../../..","sources":["modules/userId/index.ts"],"sourcesContent":["/**\n * This module adds User ID support to prebid.js\n * @module modules/userId\n */\n\nimport {config} from '../../src/config.js';\nimport * as events from '../../src/events.js';\nimport {addApiMethod, startAuction, type StartAuctionOptions} from '../../src/prebid.js';\nimport adapterManager from '../../src/adapterManager.js';\nimport {EVENTS} from '../../src/constants.js';\nimport {module, ready as hooksReady} from '../../src/hook.js';\nimport {EID_CONFIG, getEids} from './eids.js';\nimport {\n discloseStorageUse,\n getCoreStorageManager,\n newStorageManager,\n STORAGE_TYPE_COOKIES,\n STORAGE_TYPE_LOCALSTORAGE,\n type StorageManager,\n type StorageType\n} from '../../src/storageManager.js';\nimport {\n deepEqual,\n deepSetValue,\n delayExecution,\n isArray,\n isEmpty,\n isFn,\n isGptPubadsDefined,\n isNumber,\n isPlainObject,\n logError,\n logInfo,\n logWarn,\n} from '../../src/utils.js';\nimport {getPPID as coreGetPPID} from '../../src/adserver.js';\nimport {defer, delay, PbPromise} from '../../src/utils/promise.js';\nimport {newMetrics, timedAuctionHook, useMetrics} from '../../src/utils/perfMetrics.js';\nimport {findRootDomain} from '../../src/fpd/rootDomain.js';\nimport {allConsent, GDPR_GVLIDS} from '../../src/consentHandler.js';\nimport {MODULE_TYPE_UID} from '../../src/activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from '../../src/activities/rules.js';\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ENRICH_EIDS} from '../../src/activities/activities.js';\nimport {activityParams} from '../../src/activities/activityParams.js';\nimport {USERSYNC_DEFAULT_CONFIG, type UserSyncConfig} from '../../src/userSync.js';\nimport type {ORTBRequest} from \"../../src/types/ortb/request.d.ts\";\nimport type {AnyFunction, Wraps} from \"../../src/types/functions.d.ts\";\nimport type {ProviderParams, UserId, UserIdProvider, UserIdConfig, IdProviderSpec, ProviderResponse} from \"./spec.ts\";\nimport { ACTIVITY_PARAM_COMPONENT_NAME, ACTIVITY_PARAM_COMPONENT_TYPE, ACTIVITY_PARAM_STORAGE_TYPE } from '../../src/activities/params.js';\n\nconst MODULE_NAME = 'User ID';\nconst COOKIE = STORAGE_TYPE_COOKIES;\nconst LOCAL_STORAGE = STORAGE_TYPE_LOCALSTORAGE;\nexport const PBJS_USER_ID_OPTOUT_NAME = '_pbjs_id_optout';\nexport const coreStorage = getCoreStorageManager('userId');\nexport const dep = {\n isAllowed: isActivityAllowed\n}\n\ndeclare module '../../src/userSync' {\n interface UserSyncConfig {\n /**\n * EID source to use as PPID for GAM.\n *\n * Publishers using Google AdManager may want to sync one of the identifiers as their Google PPID for frequency capping or reporting.\n * The PPID in GAM (which is unrelated to the PPID UserId Submodule) has strict rules; refer to Google AdManager documentation for them.\n * Please note, Prebid uses a GPT command to sync identifiers for publisher convenience.\n * It doesn’t currently work for instream video requests, as Prebid typically interacts with the player,\n * which in turn may interact with IMA. IMA does has a similar method as GPT, but IMA does not gather this ID from GPT.\n */\n ppid?: string;\n /**\n * Map from userID name (the key in the object returned by `getUserIds`) to names of modules that should be preferred\n * as sources for that ID, in order of decreasing priority.\n */\n idPriority?: {\n [idName: keyof UserId]: UserIdProvider[]\n }\n userIds?: (UserIdConfig<keyof ProviderParams> | UserIdConfig<UserIdProvider>)[];\n // TODO documentation for these is either missing or inscrutable\n encryptedSignalSources?: {\n sources: {\n source: string[]\n encrypt: boolean;\n customFunc: AnyFunction\n }[]\n /**\n * The amount of time (in milliseconds) after which registering of signals will happen. Default value 0 is considered if ‘registerDelay’ is not provided.\n */\n registerDelay?: number;\n }\n /**\n * If true (the default), updating userSync.userIds will not remove previously configured IDs.\n */\n retainConfig?: boolean;\n /**\n * If true, updating userSync.userIds will automatically refresh IDs that have not yet been fetched.\n */\n autoRefresh?: boolean;\n\n /**\n * If true, user ID modules will only be allowed to save data in the location specified in the configuration.\n */\n enforceStorageType?: boolean;\n }\n}\n\nlet submodules: SubmoduleContainer<UserIdProvider>[] = [];\nlet initializedSubmodules;\nlet configRegistry = [];\nlet idPriority = {};\nlet submoduleRegistry: IdProviderSpec<UserIdProvider>[] = [];\nlet timeoutID;\nexport let syncDelay;\nexport let auctionDelay;\n\nlet ppidSource;\n\nlet configListener;\n\nconst uidMetrics = (() => {\n let metrics;\n return () => {\n if (metrics == null) {\n metrics = newMetrics();\n }\n return metrics;\n }\n})();\n\nfunction submoduleMetrics(moduleName) {\n return uidMetrics().fork().renameWith(n => [`userId.mod.${n}`, `userId.mods.${moduleName}.${n}`])\n}\n\nexport function setSubmoduleRegistry(submodules) {\n submoduleRegistry = submodules;\n updateEIDConfig(submodules);\n}\n\nfunction cookieSetter(submodule, storageMgr?) {\n storageMgr = storageMgr || submodule.storageMgr;\n const domainOverride = (typeof submodule.submodule.domainOverride === 'function') ? submodule.submodule.domainOverride() : null;\n const name = submodule.config.storage.name;\n return function setCookie(suffix, value, expiration) {\n storageMgr.setCookie(name + (suffix || ''), value, expiration, 'Lax', domainOverride);\n }\n}\n\nfunction setValueInCookie(submodule, valueStr, expiresStr) {\n const storage = submodule.config.storage;\n const setCookie = cookieSetter(submodule);\n\n setCookie(null, valueStr, expiresStr);\n setCookie('_cst', getConsentHash(), expiresStr);\n if (typeof storage.refreshInSeconds === 'number') {\n setCookie('_last', new Date().toUTCString(), expiresStr);\n }\n}\n\nfunction setValueInLocalStorage(submodule, valueStr, expiresStr) {\n const storage = submodule.config.storage;\n const mgr = submodule.storageMgr;\n\n mgr.setDataInLocalStorage(`${storage.name}_exp`, expiresStr);\n mgr.setDataInLocalStorage(`${storage.name}_cst`, getConsentHash());\n mgr.setDataInLocalStorage(storage.name, encodeURIComponent(valueStr));\n if (typeof storage.refreshInSeconds === 'number') {\n mgr.setDataInLocalStorage(`${storage.name}_last`, new Date().toUTCString());\n }\n}\n\nexport function setStoredValue(submodule, value) {\n const storage = submodule.config.storage;\n\n try {\n const expiresStr = (new Date(Date.now() + (storage.expires * (60 * 60 * 24 * 1000)))).toUTCString();\n const valueStr = isPlainObject(value) ? JSON.stringify(value) : value;\n\n submodule.enabledStorageTypes.forEach(storageType => {\n switch (storageType) {\n case COOKIE:\n setValueInCookie(submodule, valueStr, expiresStr);\n break;\n case LOCAL_STORAGE:\n setValueInLocalStorage(submodule, valueStr, expiresStr);\n break;\n }\n });\n } catch (error) {\n logError(error);\n }\n}\n\nexport const COOKIE_SUFFIXES = ['', '_last', '_cst'];\n\nfunction deleteValueFromCookie(submodule) {\n const setCookie = cookieSetter(submodule, coreStorage);\n const expiry = (new Date(Date.now() - 1000 * 60 * 60 * 24)).toUTCString();\n\n COOKIE_SUFFIXES.forEach(suffix => {\n try {\n setCookie(suffix, '', expiry);\n } catch (e) {\n logError(e);\n }\n })\n}\n\nexport const HTML5_SUFFIXES = ['', '_last', '_exp', '_cst'];\n\nfunction deleteValueFromLocalStorage(submodule) {\n HTML5_SUFFIXES.forEach(suffix => {\n try {\n coreStorage.removeDataFromLocalStorage(submodule.config.storage.name + suffix);\n } catch (e) {\n logError(e);\n }\n });\n}\n\nexport function deleteStoredValue(submodule) {\n populateEnabledStorageTypes(submodule);\n\n submodule.enabledStorageTypes.forEach(storageType => {\n switch (storageType) {\n case COOKIE:\n deleteValueFromCookie(submodule);\n break;\n case LOCAL_STORAGE:\n deleteValueFromLocalStorage(submodule);\n break;\n }\n });\n}\n\nfunction getValueFromCookie(submodule, storedKey) {\n return submodule.storageMgr.getCookie(storedKey)\n}\n\nfunction getValueFromLocalStorage(submodule, storedKey) {\n const mgr = submodule.storageMgr;\n const storage = submodule.config.storage;\n const storedValueExp = mgr.getDataFromLocalStorage(`${storage.name}_exp`);\n\n // empty string means no expiration set\n if (storedValueExp === '') {\n return mgr.getDataFromLocalStorage(storedKey);\n } else if (storedValueExp && ((new Date(storedValueExp)).getTime() - Date.now() > 0)) {\n return decodeURIComponent(mgr.getDataFromLocalStorage(storedKey));\n }\n}\n\nfunction getStoredValue(submodule, key = undefined) {\n const storage = submodule.config.storage;\n const storedKey = key ? `${storage.name}_${key}` : storage.name;\n let storedValue;\n try {\n submodule.enabledStorageTypes.find(storageType => {\n switch (storageType) {\n case COOKIE:\n storedValue = getValueFromCookie(submodule, storedKey);\n break;\n case LOCAL_STORAGE:\n storedValue = getValueFromLocalStorage(submodule, storedKey);\n break;\n }\n\n return !!storedValue;\n });\n\n // support storing a string or a stringified object\n if (typeof storedValue === 'string' && storedValue.trim().charAt(0) === '{') {\n storedValue = JSON.parse(storedValue);\n }\n } catch (e) {\n logError(e);\n }\n return storedValue;\n}\n\nfunction processSubmoduleCallbacks(submodules, cb, priorityMaps) {\n cb = uidMetrics().fork().startTiming('userId.callbacks.total').stopBefore(cb);\n const done = delayExecution(() => {\n clearTimeout(timeoutID);\n cb();\n }, submodules.length);\n submodules.forEach(function (submodule) {\n const moduleDone = submoduleMetrics(submodule.submodule.name).startTiming('callback').stopBefore(done);\n function callbackCompleted(idObj) {\n // if valid, id data should be saved to cookie/html storage\n if (idObj) {\n if (submodule.config.storage) {\n setStoredValue(submodule, idObj);\n }\n // cache decoded value (this is copied to every adUnit bid)\n submodule.idObj = submodule.submodule.decode(idObj, submodule.config);\n priorityMaps.refresh();\n updatePPID(priorityMaps);\n } else {\n logInfo(`${MODULE_NAME}: ${submodule.submodule.name} - request id responded with an empty value`);\n }\n moduleDone();\n }\n try {\n submodule.callback(callbackCompleted, getStoredValue.bind(null, submodule));\n } catch (e) {\n logError(`Error in userID module '${submodule.submodule.name}':`, e);\n moduleDone();\n }\n // clear callback, this prop is used to test if all submodule callbacks are complete below\n submodule.callback = undefined;\n });\n}\n\nfunction getIds(priorityMap): Partial<UserId> {\n return Object.fromEntries(\n Object.entries(priorityMap)\n .map(([key, getActiveModule]: [string, any]) => [key, getActiveModule()?.idObj?.[key]])\n .filter(([_, value]) => value != null)\n )\n}\n\nfunction getPrimaryIds(submodule) {\n if (submodule.primaryIds) return submodule.primaryIds;\n const ids = Object.keys(submodule.eids ?? {});\n if (ids.length > 1) {\n throw new Error(`ID submodule ${submodule.name} can provide multiple IDs, but does not specify 'primaryIds'`)\n }\n return ids;\n}\n\n/**\n * Given a collection of items, where each item maps to any number of IDs (getKeys) and an ID module (getIdMod),\n * return a map from ID key to all items that map to that ID key, in order of priority (highest priority first).\n *\n */\nfunction orderByPriority(items, getKeys, getIdMod) {\n const tally = {};\n items.forEach(item => {\n const module = getIdMod(item);\n const primaryIds = getPrimaryIds(module);\n getKeys(item).forEach(key => {\n const keyItems = tally[key] = tally[key] ?? []\n const keyPriority = idPriority[key]?.indexOf(module.name) ?? (primaryIds.includes(key) ? 0 : -1);\n const pos = keyItems.findIndex(([priority]) => priority < keyPriority);\n keyItems.splice(pos === -1 ? keyItems.length : pos, 0, [keyPriority, item])\n })\n })\n return Object.fromEntries(Object.entries(tally).map(([key, items]: [string, any]) => [key, items.map(([_, item]) => item)]))\n}\n\nfunction mkPriorityMaps() {\n const map = {\n submodules: [],\n global: {},\n bidder: {},\n combined: {},\n /**\n * @param {SubmoduleContainer[]} addtlModules\n */\n refresh(addtlModules = []) {\n const refreshing = new Set(addtlModules.map(mod => mod.submodule));\n map.submodules = map.submodules.filter((mod) => !refreshing.has(mod.submodule)).concat(addtlModules);\n update();\n }\n }\n function update() {\n const modulesById = orderByPriority(\n map.submodules,\n (submod) => Object.keys(submod.idObj ?? {}),\n (submod) => submod.submodule,\n )\n const global: any = {};\n const bidder: any = {};\n\n function activeModuleGetter(key, useGlobals, modules) {\n return function () {\n for (const {allowed, bidders, module} of modules) {\n if (!dep.isAllowed(ACTIVITY_ENRICH_EIDS, activityParams(MODULE_TYPE_UID, module?.config?.name, {init: false}))) {\n continue;\n }\n const value = module.idObj?.[key];\n if (value != null) {\n if (allowed) {\n return module;\n } else if (useGlobals) {\n // value != null, allowed = false, useGlobals = true:\n // this module has the preferred ID but it cannot be used (because it's restricted to only some bidders\n // and we are calculating global IDs).\n // since we don't (yet) have a way to express \"global except for these bidders\" in FPD,\n // do not keep looking for alternative IDs in other (lower priority) modules; the ID will be provided only\n // to the bidders this module is configured for.\n const listModules = (modules) => modules.map(mod => mod.module.submodule.name).join(', ');\n logWarn(`userID modules ${listModules(modules)} provide the same ID ('${key}'); ${module.submodule.name} is the preferred source, but it's configured only for some bidders, unlike ${listModules(modules.filter(mod => mod.bidders == null))}. Other bidders will not see the \"${key}\" ID.`)\n return null;\n } else if (bidders == null) {\n // value != null, allowed = false, useGlobals = false, bidders == null:\n // this module has the preferred ID but it should not be used because it's not bidder-restricted and\n // we are calculating bidder-specific ids. Do not keep looking in other lower priority modules, as the ID\n // will be set globally.\n return null;\n }\n }\n }\n return null;\n }\n }\n\n Object.entries(modulesById)\n .forEach(([key, modules]) => {\n let allNonGlobal = true;\n const bidderFilters = new Set<any>();\n modules = modules.map(module => {\n let bidders = null;\n if (Array.isArray(module.config.bidders) && module.config.bidders.length > 0) {\n bidders = module.config.bidders;\n bidders.forEach(bidder => bidderFilters.add(bidder));\n } else {\n allNonGlobal = false;\n }\n return {\n module,\n bidders\n }\n })\n if (!allNonGlobal) {\n global[key] = activeModuleGetter(key, true, modules.map(({bidders, module}) => ({allowed: bidders == null, bidders, module})));\n }\n bidderFilters.forEach(bidderCode => {\n bidder[bidderCode] = bidder[bidderCode] ?? {};\n bidder[bidderCode][key] = activeModuleGetter(key, false, modules.map(({bidders, module}) => ({allowed: bidders?.includes(bidderCode), bidders, module})));\n })\n });\n const combined = Object.values(bidder).concat([global]).reduce((combo, map) => Object.assign(combo, map), {});\n Object.assign(map, {global, bidder, combined});\n }\n return map;\n}\n\nexport function enrichEids(ortb2Fragments) {\n const {global: globalFpd, bidder: bidderFpd} = ortb2Fragments;\n const {global: globalMods, bidder: bidderMods} = initializedSubmodules;\n const globalEids = getEids(globalMods);\n if (globalEids.length > 0) {\n deepSetValue(globalFpd, 'user.ext.eids', (globalFpd.user?.ext?.eids ?? []).concat(globalEids));\n }\n Object.entries(bidderMods).forEach(([bidder, moduleMap]) => {\n const bidderEids = getEids(moduleMap);\n if (bidderEids.length > 0) {\n deepSetValue(\n bidderFpd,\n `${bidder}.user.ext.eids`,\n (bidderFpd[bidder]?.user?.ext?.eids ?? []).concat(bidderEids)\n );\n }\n })\n return ortb2Fragments;\n}\n\ndeclare module '../../src/adapterManager' {\n interface BaseBidRequest {\n userIdAsEids: ORTBRequest['user']['eids'];\n }\n}\n\nexport function addIdData({ortb2Fragments}) {\n ortb2Fragments = ortb2Fragments ?? {global: {}, bidder: {}}\n enrichEids(ortb2Fragments);\n}\n\nconst INIT_CANCELED = {};\n\nfunction idSystemInitializer({mkDelay = delay} = {}) {\n const startInit = defer<void>();\n const startCallbacks = defer<void>();\n let cancel;\n let initialized = false;\n let initMetrics;\n\n function cancelAndTry(promise) {\n initMetrics = uidMetrics().fork();\n if (cancel != null) {\n cancel.reject(INIT_CANCELED);\n }\n cancel = defer();\n return PbPromise.race([promise, cancel.promise])\n .finally(initMetrics.startTiming('userId.total'))\n }\n\n // grab a reference to global vars so that the promise chains remain isolated;\n // multiple calls to `init` (from tests) might otherwise cause them to interfere with each other\n const initModules = initializedSubmodules;\n const allModules = submodules;\n\n function checkRefs(fn) {\n // unfortunately tests have their own global state that needs to be guarded, so even if we keep ours tidy,\n // we cannot let things like submodule callbacks run (they pollute things like the global `server` XHR mock)\n return function(...args) {\n if (initModules === initializedSubmodules && allModules === submodules) {\n return fn(...args);\n }\n }\n }\n\n function timeConsent() {\n return allConsent.promise.finally(initMetrics.startTiming('userId.init.consent'))\n }\n\n let done = cancelAndTry(\n PbPromise.all([hooksReady, startInit.promise])\n .then(timeConsent)\n .then(checkRefs(() => {\n initSubmodules(initModules, allModules);\n }))\n .then(() => startCallbacks.promise.finally(initMetrics.startTiming('userId.callbacks.pending')))\n .then(checkRefs(() => {\n const modWithCb = initModules.submodules.filter(item => isFn(item.callback));\n if (modWithCb.length) {\n return new PbPromise((resolve) => processSubmoduleCallbacks(modWithCb, resolve, initModules));\n }\n }))\n );\n\n /**\n * with `ready` = true, starts initialization; with `refresh` = true, reinitialize submodules (optionally\n * filtered by `submoduleNames`).\n */\n return function ({refresh = false, submoduleNames = null, ready = false} = {}) {\n if (ready && !initialized) {\n initialized = true;\n startInit.resolve();\n // submodule callbacks should run immediately if `auctionDelay` > 0, or `syncDelay` ms after the\n // auction ends otherwise\n if (auctionDelay > 0) {\n startCallbacks.resolve();\n } else {\n events.on(EVENTS.AUCTION_END, function auctionEndHandler() {\n events.off(EVENTS.AUCTION_END, auctionEndHandler);\n mkDelay(syncDelay).then(startCallbacks.resolve);\n });\n }\n }\n if (refresh && initialized) {\n done = cancelAndTry(\n done\n .catch(() => null)\n .then(timeConsent) // fetch again in case a refresh was forced before this was resolved\n .then(checkRefs(() => {\n const cbModules = initSubmodules(\n initModules,\n allModules.filter((sm) => submoduleNames == null || submoduleNames.includes(sm.submodule.name)),\n true\n ).filter((sm) => {\n return sm.callback != null;\n });\n if (cbModules.length) {\n return new PbPromise((resolve) => processSubmoduleCallbacks(cbModules, resolve, initModules));\n }\n }))\n );\n }\n return done;\n };\n}\n\nlet initIdSystem;\n\nfunction getPPID(eids = getUserIdsAsEids() || []) {\n // userSync.ppid should be one of the 'source' values in getUserIdsAsEids() eg pubcid.org or id5-sync.com\n const matchingUserId = ppidSource && eids.find(userID => userID.source === ppidSource);\n if (matchingUserId && typeof matchingUserId?.uids?.[0]?.id === 'string') {\n const ppidValue = matchingUserId.uids[0].id.replace(/[\\W_]/g, '');\n if (ppidValue.length >= 32 && ppidValue.length <= 150) {\n return ppidValue;\n } else {\n logWarn(`User ID - Googletag Publisher Provided ID for ${ppidSource} is not between 32 and 150 characters - ${ppidValue}`);\n }\n }\n}\n\n/**\n * Hook is executed before adapters, but after consentManagement. Consent data is requied because\n * this module requires GDPR consent with Purpose #1 to save data locally.\n * The two main actions handled by the hook are:\n * 1. check gdpr consentData and handle submodule initialization.\n * 2. append user id data (loaded from cookied/html or from the getId method) to bids to be accessed in adapters.\n * @param {Object} reqBidsConfigObj required; This is the same param that's used in pbjs.requestBids.\n * @param {function} fn required; The next function in the chain, used by hook.ts\n */\nexport const startAuctionHook = timedAuctionHook('userId', function requestBidsHook(fn, reqBidsConfigObj: StartAuctionOptions, {mkDelay = delay, getIds = getUserIdsAsync} = {}) {\n PbPromise.race([\n getIds().catch(() => null),\n mkDelay(auctionDelay)\n ]).then(() => {\n addIdData(reqBidsConfigObj);\n uidMetrics().join(useMetrics(reqBidsConfigObj.metrics), {propagate: false, includeGroups: true});\n // calling fn allows prebid to continue processing\n fn.call(this, reqBidsConfigObj);\n });\n});\n\n/**\n * Alias bid requests' `userIdAsEids` to `ortb2.user.ext.eids`\n * Do this lazily (instead of attaching a copy) so that it also shows EIDs added after the userId module runs (e.g. from RTD modules)\n */\nfunction aliasEidsHook(next, bidderRequests) {\n bidderRequests.forEach(bidderRequest => {\n bidderRequest.bids.forEach(bid =>\n Object.defineProperty(bid, 'userIdAsEids', {\n configurable: true,\n get() {\n return bidderRequest.ortb2.user?.ext?.eids;\n }\n })\n )\n })\n next(bidderRequests);\n}\n\n/**\n * Is startAuctionHook added\n * @returns {boolean}\n */\nfunction addedStartAuctionHook() {\n return !!startAuction.getHooks({hook: startAuctionHook}).length;\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds stored by Prebid UserId module can be used by external codes as well.\n * Simple use case will be passing these UserIds to A9 wrapper solution\n */\nfunction getUserIds() {\n return getIds(initializedSubmodules.combined)\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds stored by Prebid UserId module can be used by external codes as well.\n * Simple use case will be passing these UserIds to A9 wrapper solution\n */\nfunction getUserIdsAsEids(): ORTBRequest['user']['eids'] {\n return getEids(initializedSubmodules.combined)\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds stored by Prebid UserId module can be used by external codes as well.\n * Simple use case will be passing these UserIds to A9 wrapper solution\n */\n\nfunction getUserIdsAsEidBySource(sourceName: string): ORTBRequest['user']['eids'][0] | undefined {\n return getUserIdsAsEids().filter(eid => eid.source === sourceName)[0];\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds for a source can be exposed\n * Sample use case is exposing this function to ESP\n */\nfunction getEncryptedEidsForSource(source, encrypt, customFunction) {\n return retryOnCancel().then(() => {\n const eidsSignals = {};\n\n if (isFn(customFunction)) {\n logInfo(`${MODULE_NAME} - Getting encrypted signal from custom function : ${customFunction.name} & source : ${source} `);\n // Publishers are expected to define a common function which will be proxy for signal function.\n const customSignals = customFunction(source);\n eidsSignals[source] = customSignals ? encryptSignals(customSignals) : null; // by default encrypt using base64 to avoid JSON errors\n } else {\n // initialize signal with eids by default\n const eid = getUserIdsAsEidBySource(source);\n logInfo(`${MODULE_NAME} - Getting encrypted signal for eids :${JSON.stringify(eid)}`);\n if (!isEmpty(eid)) {\n eidsSignals[eid.source] = encrypt === true ? encryptSignals(eid) : eid.uids[0].id; // If encryption is enabled append version (1||) and encrypt entire object\n }\n }\n logInfo(`${MODULE_NAME} - Fetching encrypted eids: ${eidsSignals[source]}`);\n return eidsSignals[source];\n })\n}\n\nfunction encryptSignals(signals, version = 1) {\n let encryptedSig = '';\n switch (version) {\n case 1: // Base64 Encryption\n encryptedSig = typeof signals === 'object' ? window.btoa(JSON.stringify(signals)) : window.btoa(signals); // Test encryption. To be replaced with better algo\n break;\n default:\n break;\n }\n return `${version}||${encryptedSig}`;\n}\n\n/**\n * This function will be exposed in the global-name-space so that publisher can register the signals-ESP.\n */\nfunction registerSignalSources() {\n if (!isGptPubadsDefined()) {\n return;\n }\n window.googletag.secureSignalProviders = window.googletag.secureSignalProviders || [];\n const encryptedSignalSources = config.getConfig('userSync.encryptedSignalSources');\n if (encryptedSignalSources) {\n const registerDelay = encryptedSignalSources.registerDelay || 0;\n setTimeout(() => {\n encryptedSignalSources['sources'] && encryptedSignalSources['sources'].forEach(({ source, encrypt, customFunc }) => {\n source.forEach((src) => {\n window.googletag.secureSignalProviders.push({\n id: src,\n collectorFunction: () => getEncryptedEidsForSource(src, encrypt, customFunc)\n });\n });\n })\n }, registerDelay)\n } else {\n logWarn(`${MODULE_NAME} - ESP : encryptedSignalSources config not defined under userSync Object`);\n }\n}\n\nfunction retryOnCancel(initParams?) {\n return initIdSystem(initParams).then(\n () => getUserIds(),\n (e) => {\n if (e === INIT_CANCELED) {\n // there's a pending refresh - because GreedyPromise runs this synchronously, we are now in the middle\n // of canceling the previous init, before the refresh logic has had a chance to run.\n // Use a \"normal\" Promise to clear the stack and let it complete (or this will just recurse infinitely)\n return Promise.resolve().then(getUserIdsAsync)\n } else {\n logError('Error initializing userId', e)\n return PbPromise.reject(e)\n }\n }\n );\n}\n\n/**\n * Force (re)initialization of ID submodules.\n *\n * This will force a refresh of the specified ID submodules regardless of `auctionDelay` / `syncDelay` settings, and\n * return a promise that resolves to the same value as `getUserIds()` when the refresh is complete.\n * If a refresh is already in progress, it will be canceled (rejecting promises returned by previous calls to `refreshUserIds`).\n *\n * submoduleNames submodules to refresh. If omitted, refresh all submodules.\n * callback called when the refresh is complete\n */\nfunction refreshUserIds({submoduleNames}: {\n submoduleNames?: string[]\n} = {}, callback?: () => void): Promise<Partial<UserId>> {\n return retryOnCancel({refresh: true, submoduleNames})\n .then((userIds) => {\n if (callback && isFn(callback)) {\n callback();\n }\n return userIds;\n });\n}\n\n/**\n * @returns a promise that resolves to the same value as `getUserIds()`, but only once all ID submodules have completed\n * initialization. This can also be used to synchronize calls to other ID accessors, e.g.\n *\n * ```\n * pbjs.getUserIdsAsync().then(() => {\n * const eids = pbjs.getUserIdsAsEids(); // guaranteed to be completely initialized at this point\n * });\n * ```\n */\n\nfunction getUserIdsAsync(): Promise<Partial<UserId>> {\n return retryOnCancel();\n}\n\nexport function getConsentHash() {\n // transform decimal string into base64 to save some space on cookies\n let hash = Number(allConsent.hash);\n const bytes = [];\n while (hash > 0) {\n bytes.push(String.fromCharCode(hash & 255));\n hash = hash >>> 8;\n }\n return btoa(bytes.join());\n}\n\nfunction consentChanged(submodule) {\n const storedConsent = getStoredValue(submodule, 'cst');\n return !storedConsent || storedConsent !== getConsentHash();\n}\n\nfunction populateSubmoduleId(submodule: SubmoduleContainer<UserIdProvider>, forceRefresh) {\n const consentData = allConsent.getConsentData();\n\n // There are two submodule configuration types to handle: storage or value\n // 1. storage: retrieve user id data from cookie/html storage or with the submodule's getId method\n // 2. value: pass directly to bids\n if (submodule.config.storage) {\n let storedId = getStoredValue(submodule);\n let response;\n\n let refreshNeeded = false;\n if (typeof submodule.config.storage.refreshInSeconds === 'number') {\n const storedDate = new Date(getStoredValue(submodule, 'last'));\n refreshNeeded = storedDate && (Date.now() - storedDate.getTime() > submodule.config.storage.refreshInSeconds * 1000);\n }\n\n if (!storedId || refreshNeeded || forceRefresh || consentChanged(submodule)) {\n const extendedConfig = Object.assign({ enabledStorageTypes: submodule.enabledStorageTypes }, submodule.config);\n\n // No id previously saved, or a refresh is needed, or consent has changed. Request a new id from the submodule.\n response = submodule.submodule.getId(extendedConfig, consentData, storedId);\n } else if (typeof submodule.submodule.extendId === 'function') {\n // If the id exists already, give submodule a chance to decide additional actions that need to be taken\n response = submodule.submodule.extendId(submodule.config, consentData, storedId);\n }\n\n if (isPlainObject(response)) {\n if (response.id) {\n // A getId/extendId result assumed to be valid user id data, which should be saved to users local storage or cookies\n setStoredValue(submodule, response.id);\n storedId = response.id;\n }\n\n if (typeof response.callback === 'function') {\n // Save async callback to be invoked after auction\n submodule.callback = response.callback as any;\n }\n }\n\n if (storedId) {\n // cache decoded value (this is copied to every adUnit bid)\n submodule.idObj = submodule.submodule.decode(storedId, submodule.config);\n }\n } else if (submodule.config.value) {\n // cache decoded value (this is copied to every adUnit bid)\n submodule.idObj = submodule.config.value;\n } else {\n const response = submodule.submodule.getId(submodule.config, consentData);\n if (isPlainObject(response)) {\n if (typeof response.callback === 'function') { submodule.callback = response.callback; }\n if (response.id) { submodule.idObj = submodule.submodule.decode(response.id, submodule.config); }\n }\n }\n}\n\nfunction updatePPID(priorityMaps) {\n const eids = getEids(priorityMaps.combined);\n if (eids.length && ppidSource) {\n const ppid = getPPID(eids);\n if (ppid) {\n if (isGptPubadsDefined()) {\n window.googletag.pubads().setPublisherProvidedId(ppid);\n } else {\n (window as any).googletag = window.googletag || {};\n (window.googletag as any).cmd = window.googletag.cmd || [];\n window.googletag.cmd.push(function() {\n window.googletag.pubads().setPublisherProvidedId(ppid);\n });\n }\n }\n }\n}\n\nfunction initSubmodules(priorityMaps, submodules, forceRefresh = false) {\n return uidMetrics().fork().measureTime('userId.init.modules', function () {\n if (!submodules.length) return []; // to simplify log messages from here on\n submodules.forEach(submod => populateEnabledStorageTypes(submod));\n\n /**\n * filter out submodules that:\n *\n * - cannot use the storage they've been set up with (storage not available / not allowed / disabled)\n * - are not allowed to perform the `enrichEids` activity\n */\n submodules = submodules.filter((submod) => {\n return (!submod.config.storage || canUseStorage(submod)) &&\n dep.isAllowed(ACTIVITY_ENRICH_EIDS, activityParams(MODULE_TYPE_UID, submod.config.name));\n });\n\n if (!submodules.length) {\n logWarn(`${MODULE_NAME} - no ID module configured`);\n return [];\n }\n\n const initialized = submodules.reduce((carry, submodule) => {\n return submoduleMetrics(submodule.submodule.name).measureTime('init', () => {\n try {\n populateSubmoduleId(submodule, forceRefresh);\n carry.push(submodule);\n } catch (e) {\n logError(`Error in userID module '${submodule.submodule.name}':`, e);\n }\n return carry;\n })\n }, []);\n priorityMaps.refresh(initialized);\n updatePPID(priorityMaps);\n return initialized;\n })\n}\n\nfunction getConfiguredStorageTypes(config) {\n return config?.storage?.type?.trim().split(/\\s*&\\s*/) || [];\n}\n\nfunction hasValidStorageTypes(config) {\n const storageTypes = getConfiguredStorageTypes(config);\n\n return storageTypes.every(storageType => ALL_STORAGE_TYPES.has(storageType));\n}\n\n/**\n * list of submodule configurations with valid 'storage' or 'value' obj definitions\n * storage config: contains values for storing/retrieving User ID data in browser storage\n * value config: object properties that are copied to bids (without saving to storage)\n */\nexport function getValidSubmoduleConfigs(configRegistry) {\n function err(msg, ...args) {\n logWarn(`Invalid userSync.userId config: ${msg}`, ...args)\n }\n if (!Array.isArray(configRegistry)) {\n if (configRegistry != null) {\n err('must be an array', configRegistry);\n }\n return [];\n }\n return configRegistry.filter(config => {\n if (!config?.name) {\n return err('must specify \"name\"', config);\n } else if (config.storage) {\n if (!config.storage.name || !config.storage.type) {\n return err('must specify \"storage.name\" and \"storage.type\"', config);\n } else if (!hasValidStorageTypes(config)) {\n return err('invalid \"storage.type\"', config)\n }\n ['expires', 'refreshInSeconds'].forEach(param => {\n let value = config.storage[param];\n if (value != null && typeof value !== 'number') {\n value = Number(value)\n if (isNaN(value)) {\n err(`storage.${param} must be a number and will be ignored`, config);\n delete config.storage[param];\n } else {\n config.storage[param] = value;\n }\n }\n });\n }\n return true;\n })\n}\n\nconst ALL_STORAGE_TYPES = new Set([LOCAL_STORAGE, COOKIE]);\n\nfunction canUseLocalStorage(submodule) {\n if (!submodule.storageMgr.localStorageIsEnabled()) {\n return false;\n }\n\n if (coreStorage.getDataFromLocalStorage(PBJS_USER_ID_OPTOUT_NAME)) {\n logInfo(`${MODULE_NAME} - opt-out localStorage found, storage disabled`);\n return false\n }\n\n return true;\n}\n\nfunction canUseCookies(submodule) {\n if (!submodule.storageMgr.cookiesAreEnabled()) {\n return false;\n }\n\n if (coreStorage.getCookie(PBJS_USER_ID_OPTOUT_NAME)) {\n logInfo(`${MODULE_NAME} - opt-out cookie found, storage disabled`);\n return false;\n }\n\n return true\n}\n\nconst STORAGE_PURPOSES = [1, 2, 3, 4, 7];\n\nfunction populateEnabledStorageTypes(submodule: SubmoduleContainer<UserIdProvider>) {\n if (submodule.enabledStorageTypes) {\n return;\n }\n\n const storageTypes = getConfiguredStorageTypes(submodule.config);\n\n submodule.enabledStorageTypes = storageTypes.filter(type => {\n switch (type) {\n case LOCAL_STORAGE:\n HTML5_SUFFIXES.forEach(suffix => {\n discloseStorageUse('userId', {\n type: 'web',\n identifier: submodule.config.storage.name + suffix,\n purposes: STORAGE_PURPOSES\n })\n })\n return canUseLocalStorage(submodule);\n case COOKIE:\n COOKIE_SUFFIXES.forEach(suffix => {\n discloseStorageUse('userId', {\n type: 'cookie',\n identifier: submodule.config.storage.name + suffix,\n purposes: STORAGE_PURPOSES,\n maxAgeSeconds: (submodule.config.storage.expires ?? 0) * 24 * 60 * 60,\n cookieRefresh: true\n })\n })\n return canUseCookies(submodule);\n }\n\n return false;\n });\n}\n\nfunction canUseStorage(submodule) {\n return !!submodule.enabledStorageTypes.length;\n}\n\nfunction updateEIDConfig(submodules) {\n EID_CONFIG.clear();\n Object.entries(\n orderByPriority(\n submodules,\n (mod) => Object.keys(mod.eids || {}),\n (mod) => mod\n )\n ).forEach(([key, submodules]) => EID_CONFIG.set(key, submodules[0].eids[key]))\n}\n\nexport function generateSubmoduleContainers(options, configs, prevSubmodules = submodules, registry = submoduleRegistry) {\n const {autoRefresh, retainConfig} = options;\n return registry\n .reduce((acc, submodule) => {\n const {name, aliasName} = submodule;\n const matchesName = (query) => [name, aliasName].some(value => value?.toLowerCase() === query.toLowerCase());\n const submoduleConfig = configs.find((configItem) => matchesName(configItem.name));\n\n if (!submoduleConfig) {\n if (!retainConfig) return acc;\n const previousSubmodule = prevSubmodules.find(prevSubmodules => matchesName(prevSubmodules.config.name));\n return previousSubmodule ? [...acc, previousSubmodule] : acc;\n }\n\n const newSubmoduleContainer: SubmoduleContainer<UserIdProvider> = {\n submodule,\n config: {\n ...submoduleConfig,\n name: submodule.name\n },\n callback: undefined,\n idObj: undefined,\n storageMgr: newStorageManager({\n moduleType: MODULE_TYPE_UID,\n moduleName: submoduleConfig.name,\n // since this manager is only using keys provided directly by the publisher,\n // turn off storageControl checks\n advertiseKeys: false,\n })\n };\n\n if (autoRefresh) {\n const previousSubmodule = prevSubmodules.find(prevSubmodules => matchesName(prevSubmodules.config.name));\n newSubmoduleContainer.refreshIds = !previousSubmodule || !deepEqual(newSubmoduleContainer.config, previousSubmodule.config);\n }\n\n return [...acc, newSubmoduleContainer];\n }, []);\n}\n\ntype SubmoduleContainer<P extends UserIdProvider> = {\n submodule: IdProviderSpec<P>;\n enabledStorageTypes?: StorageType[];\n config: UserIdConfig<P>;\n callback?: ProviderResponse['callback'];\n idObj;\n storageMgr: StorageManager;\n refreshIds?: boolean;\n}\n\n/**\n * update submodules by validating against existing configs and storage types\n */\nfunction updateSubmodules(options = {}) {\n updateEIDConfig(submoduleRegistry);\n const configs = getValidSubmoduleConfigs(configRegistry);\n if (!configs.length) {\n return;\n }\n\n const updatedContainers = generateSubmoduleContainers(options, configs);\n submodules.splice(0, submodules.length);\n submodules.push(...updatedContainers);\n\n if (submodules.length) {\n if (!addedStartAuctionHook()) {\n startAuction.before(startAuctionHook, 100) // use higher priority than dataController / rtd\n adapterManager.callDataDeletionRequest.before(requestDataDeletion);\n coreGetPPID.after((next) => next(getPPID()));\n }\n logInfo(`${MODULE_NAME} - usersync config updated for ${submodules.length} submodules: `, submodules.map(a => a.submodule.name));\n }\n}\n\n/**\n * This function will update the idPriority according to the provided configuration\n */\nfunction updateIdPriority(idPriorityConfig, submodules) {\n if (idPriorityConfig) {\n const result = {};\n const aliasToName = new Map(submodules.map(s => s.aliasName ? [s.aliasName, s.name] : []));\n Object.keys(idPriorityConfig).forEach(key => {\n const priority = isArray(idPriorityConfig[key]) ? [...idPriorityConfig[key]].reverse() : []\n result[key] = priority.map(s => aliasToName.has(s) ? aliasToName.get(s) : s);\n });\n idPriority = result;\n } else {\n idPriority = {};\n }\n initializedSubmodules.refresh();\n updateEIDConfig(submodules)\n}\n\nexport function requestDataDeletion(next, ...args) {\n logInfo('UserID: received data deletion request; deleting all stored IDs...')\n submodules.forEach(submodule => {\n if (typeof submodule.submodule.onDataDeletionRequest === 'function') {\n try {\n submodule.submodule.onDataDeletionRequest(submodule.config, submodule.idObj, ...args);\n } catch (e) {\n logError(`Error calling onDataDeletionRequest for ID submodule ${submodule.submodule.name}`, e);\n }\n }\n deleteStoredValue(submodule);\n })\n next.apply(this, args);\n}\n\n/**\n * enable submodule in User ID\n */\nexport function attachIdSystem(submodule: IdProviderSpec<UserIdProvider>) {\n submodule.findRootDomain = findRootDomain;\n if (!(submoduleRegistry || []).find(i => i.name === submodule.name)) {\n submoduleRegistry.push(submodule);\n GDPR_GVLIDS.register(MODULE_TYPE_UID, submodule.name, submodule.gvlid)\n updateSubmodules();\n // TODO: a test case wants this to work even if called after init (the setConfig({userId}))\n // so we trigger a refresh. But is that even possible outside of tests?\n initIdSystem({refresh: true, submoduleNames: [submodule.name]});\n }\n}\n\nfunction normalizePromise<T extends AnyFunction>(fn: T): Wraps<T> {\n // for public methods that return promises, make sure we return a \"normal\" one - to avoid\n // exposing confusing stack traces\n return function(...args) {\n return Promise.resolve(fn.apply(this, args));\n } as any;\n}\n\ndeclare module '../../src/prebidGlobal' {\n interface PrebidJS {\n getUserIds: typeof getUserIds;\n getUserIdsAsync: typeof getUserIdsAsync;\n getUserIdsAsEids: typeof getUserIdsAsEids;\n getEncryptedEidsForSource: typeof getEncryptedEidsForSource;\n registerSignalSources: typeof registerSignalSources;\n refreshUserIds: typeof refreshUserIds;\n getUserIdsAsEidBySource: typeof getUserIdsAsEidBySource;\n }\n}\n\nconst enforceStorageTypeRule = (userIdsConfig, enforceStorageType) => {\n return (params) => {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_UID) return;\n\n const matchesName = (query) => params[ACTIVITY_PARAM_COMPONENT_NAME]?.toLowerCase() === query?.toLowerCase();\n const submoduleConfig = userIdsConfig.find((configItem) => matchesName(configItem.name));\n\n if (!submoduleConfig || !submoduleConfig.storage) return;\n\n if (params[ACTIVITY_PARAM_STORAGE_TYPE] !== submoduleConfig.storage.type) {\n const reason = `${submoduleConfig.name} attempts to store data in ${params[ACTIVITY_PARAM_STORAGE_TYPE]} while configuration allows ${submoduleConfig.storage.type}.`;\n if (enforceStorageType) {\n return {allow: false, reason};\n } else {\n logWarn(reason);\n }\n }\n }\n}\n\n/**\n * test browser support for storage config types (local storage or cookie), initializes submodules but consentManagement is required,\n * so a callback is added to fire after the consentManagement module.\n * @param {{getConfig:function}} config\n */\nexport function init(config, {mkDelay = delay} = {}) {\n ppidSource = undefined;\n submodules = [];\n configRegistry = [];\n initializedSubmodules = mkPriorityMaps();\n initIdSystem = idSystemInitializer({mkDelay});\n if (configListener != null) {\n configListener();\n }\n submoduleRegistry = [];\n let unregisterEnforceStorageTypeRule: () => void\n\n // listen for config userSyncs to be set\n configListener = config.getConfig('userSync', conf => {\n // Note: support for 'usersync' was dropped as part of Prebid.js 4.0\n const userSync: UserSyncConfig = conf.userSync;\n if (userSync) {\n ppidSource = userSync.ppid;\n if (userSync.userIds) {\n const {autoRefresh = false, retainConfig = true, enforceStorageType} = userSync;\n configRegistry = userSync.userIds;\n syncDelay = isNumber(userSync.syncDelay) ? userSync.syncDelay : USERSYNC_DEFAULT_CONFIG.syncDelay\n auctionDelay = isNumber(userSync.auctionDelay) ? userSync.auctionDelay : USERSYNC_DEFAULT_CONFIG.auctionDelay;\n updateSubmodules({retainConfig, autoRefresh});\n unregisterEnforceStorageTypeRule?.();\n unregisterEnforceStorageTypeRule = registerActivityControl(ACTIVITY_ACCESS_DEVICE, 'enforceStorageTypeRule', enforceStorageTypeRule(submodules.map(({config}) => config), enforceStorageType));\n updateIdPriority(userSync.idPriority, submoduleRegistry);\n initIdSystem({ready: true});\n const submodulesToRefresh = submodules.filter(item => item.refreshIds);\n if (submodulesToRefresh.length) {\n refreshUserIds({submoduleNames: submodulesToRefresh.map(item => item.submodule.name)});\n }\n }\n }\n });\n adapterManager.makeBidRequests.after(aliasEidsHook);\n\n // exposing getUserIds function in global-name-space so that userIds stored in Prebid can be used by external codes.\n addApiMethod('getUserIds', getUserIds);\n addApiMethod('getUserIdsAsEids', getUserIdsAsEids);\n addApiMethod('getEncryptedEidsForSource', normalizePromise(getEncryptedEidsForSource));\n addApiMethod('registerSignalSources', registerSignalSources);\n addApiMethod('refreshUserIds', normalizePromise(refreshUserIds));\n addApiMethod('getUserIdsAsync', normalizePromise(getUserIdsAsync));\n addApiMethod('getUserIdsAsEidBySource', getUserIdsAsEidBySource);\n}\n\nexport function resetUserIds() {\n config.setConfig({userSync: {}})\n init(config);\n}\n\n// init config update listener to start the application\ninit(config);\n\nmodule('userId', attachIdSystem, { postInstallAllowed: true });\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["registerModule","__r0","config","events","addApiMethod","startAuction","adapterManager","EVENTS","module","ready","hooksReady","EID_CONFIG","getEids","discloseStorageUse","getCoreStorageManager","newStorageManager","STORAGE_TYPE_COOKIES","STORAGE_TYPE_LOCALSTORAGE","deepEqual","deepSetValue","delayExecution","isArray","isEmpty","isFn","isGptPubadsDefined","isNumber","isPlainObject","logError","logInfo","logWarn","getPPID","coreGetPPID","defer","delay","PbPromise","newMetrics","timedAuctionHook","useMetrics","findRootDomain","allConsent","GDPR_GVLIDS","MODULE_TYPE_UID","isActivityAllowed","registerActivityControl","ACTIVITY_ACCESS_DEVICE","ACTIVITY_ENRICH_EIDS","activityParams","USERSYNC_DEFAULT_CONFIG","ACTIVITY_PARAM_COMPONENT_NAME","ACTIVITY_PARAM_COMPONENT_TYPE","ACTIVITY_PARAM_STORAGE_TYPE","ACTIVITY_PARAM_STORAGE_WRITE","MODULE_NAME","COOKIE","LOCAL_STORAGE","PBJS_USER_ID_OPTOUT_NAME","coreStorage","dep","isAllowed","submodules","initializedSubmodules","configRegistry","idPriority","submoduleRegistry","timeoutID","syncDelay","auctionDelay","ppidSource","configListener","uidMetrics","metrics","submoduleMetrics","moduleName","fork","renameWith","n","setSubmoduleRegistry","updateEIDConfig","cookieSetter","submodule","storageMgr","domainOverride","name","storage","setCookie","suffix","value","expiration","setValueInCookie","valueStr","expiresStr","getConsentHash","refreshInSeconds","Date","toUTCString","setValueInLocalStorage","mgr","setDataInLocalStorage","encodeURIComponent","setStoredValue","now","expires","JSON","stringify","enabledStorageTypes","forEach","storageType","error","COOKIE_SUFFIXES","deleteValueFromCookie","expiry","e","HTML5_SUFFIXES","deleteValueFromLocalStorage","removeDataFromLocalStorage","deleteStoredValue","populateEnabledStorageTypes","getValueFromCookie","storedKey","getCookie","getValueFromLocalStorage","storedValueExp","getDataFromLocalStorage","getTime","decodeURIComponent","getStoredValue","key","arguments","length","undefined","storedValue","find","trim","charAt","parse","processSubmoduleCallbacks","cb","priorityMaps","startTiming","stopBefore","done","clearTimeout","moduleDone","callbackCompleted","idObj","decode","refresh","updatePPID","callback","bind","getIds","priorityMap","Object","fromEntries","entries","map","_ref","getActiveModule","filter","_ref2","_","getPrimaryIds","primaryIds","ids","keys","eids","Error","orderByPriority","items","getKeys","getIdMod","tally","item","keyItems","keyPriority","indexOf","includes","pos","findIndex","_ref3","priority","splice","_ref4","_ref5","mkPriorityMaps","global","bidder","combined","addtlModules","refreshing","Set","mod","has","concat","update","modulesById","submod","activeModuleGetter","useGlobals","modules","allowed","bidders","init","listModules","join","_ref6","allNonGlobal","bidderFilters","Array","add","_ref7","bidderCode","_ref8","values","reduce","combo","assign","enrichEids","ortb2Fragments","globalFpd","bidderFpd","globalMods","bidderMods","globalEids","user","ext","_ref9","moduleMap","bidderEids","addIdData","_ref0","INIT_CANCELED","idSystemInitializer","mkDelay","startInit","startCallbacks","cancel","initialized","initMetrics","cancelAndTry","promise","reject","race","finally","initModules","allModules","checkRefs","fn","timeConsent","all","then","initSubmodules","modWithCb","resolve","submoduleNames","on","AUCTION_END","auctionEndHandler","off","catch","cbModules","sm","initIdSystem","getUserIdsAsEids","matchingUserId","userID","source","uids","id","ppidValue","replace","startAuctionHook","requestBidsHook","reqBidsConfigObj","getUserIdsAsync","propagate","includeGroups","call","aliasEidsHook","next","bidderRequests","bidderRequest","bids","bid","defineProperty","configurable","get","ortb2","addedStartAuctionHook","getHooks","hook","getUserIds","getUserIdsAsEidBySource","sourceName","eid","getEncryptedEidsForSource","encrypt","customFunction","retryOnCancel","eidsSignals","customSignals","encryptSignals","signals","version","encryptedSig","window","btoa","registerSignalSources","providers","googletag","secureSignalProviders","existingIds","p","networkCode","encryptedSignalSources","getConfig","registerDelay","setTimeout","_ref1","customFunc","src","push","collectorFunction","initParams","Promise","refreshUserIds","userIds","hash","Number","bytes","String","fromCharCode","consentChanged","storedConsent","populateSubmoduleId","forceRefresh","consentData","getConsentData","storedId","response","refreshNeeded","storedDate","extendedConfig","getId","extendId","ppid","pubads","setPublisherProvidedId","cmd","measureTime","canUseStorage","carry","getConfiguredStorageTypes","type","split","hasValidStorageTypes","storageTypes","every","ALL_STORAGE_TYPES","getValidSubmoduleConfigs","err","msg","_len","args","_key","param","isNaN","canUseLocalStorage","localStorageIsEnabled","canUseCookies","cookiesAreEnabled","STORAGE_PURPOSES","identifier","purposes","maxAgeSeconds","cookieRefresh","clear","_ref10","set","generateSubmoduleContainers","options","configs","prevSubmodules","registry","autoRefresh","retainConfig","acc","aliasName","matchesName","query","some","toLowerCase","submoduleConfig","configItem","previousSubmodule","newSubmoduleContainer","moduleType","advertiseKeys","refreshIds","updateSubmodules","updatedContainers","before","callDataDeletionRequest","requestDataDeletion","after","a","updateIdPriority","idPriorityConfig","result","aliasToName","Map","s","reverse","_len2","_key2","onDataDeletionRequest","apply","attachIdSystem","i","register","gvlid","normalizePromise","_len3","_key3","enforceStorageTypeRule","userIdsConfig","enforceStorageType","params","reason","allow","unregisterEnforceStorageTypeRule","conf","userSync","_ref11","submodulesToRefresh","makeBidRequests","resetUserIds","setConfig","postInstallAllowed"],"sourceRoot":"../../../..","sources":["modules/userId/index.ts"],"sourcesContent":["/**\n * This module adds User ID support to prebid.js\n * @module modules/userId\n */\n\nimport {config} from '../../src/config.js';\nimport * as events from '../../src/events.js';\nimport {addApiMethod, startAuction, type StartAuctionOptions} from '../../src/prebid.js';\nimport adapterManager from '../../src/adapterManager.js';\nimport {EVENTS} from '../../src/constants.js';\nimport {module, ready as hooksReady} from '../../src/hook.js';\nimport {EID_CONFIG, getEids} from './eids.js';\nimport {\n discloseStorageUse,\n getCoreStorageManager,\n newStorageManager,\n STORAGE_TYPE_COOKIES,\n STORAGE_TYPE_LOCALSTORAGE,\n type StorageManager,\n type StorageType\n} from '../../src/storageManager.js';\nimport {\n deepEqual,\n deepSetValue,\n delayExecution,\n isArray,\n isEmpty,\n isFn,\n isGptPubadsDefined,\n isNumber,\n isPlainObject,\n logError,\n logInfo,\n logWarn,\n} from '../../src/utils.js';\nimport {getPPID as coreGetPPID} from '../../src/adserver.js';\nimport {defer, delay, PbPromise} from '../../src/utils/promise.js';\nimport {newMetrics, timedAuctionHook, useMetrics} from '../../src/utils/perfMetrics.js';\nimport {findRootDomain} from '../../src/fpd/rootDomain.js';\nimport {allConsent, GDPR_GVLIDS} from '../../src/consentHandler.js';\nimport {MODULE_TYPE_UID} from '../../src/activities/modules.js';\nimport {isActivityAllowed, registerActivityControl} from '../../src/activities/rules.js';\nimport {ACTIVITY_ACCESS_DEVICE, ACTIVITY_ENRICH_EIDS} from '../../src/activities/activities.js';\nimport {activityParams} from '../../src/activities/activityParams.js';\nimport {USERSYNC_DEFAULT_CONFIG, type UserSyncConfig} from '../../src/userSync.js';\nimport type {ORTBRequest} from \"../../src/types/ortb/request.d.ts\";\nimport type {AnyFunction, Wraps} from \"../../src/types/functions.d.ts\";\nimport type {ProviderParams, UserId, UserIdProvider, UserIdConfig, IdProviderSpec, ProviderResponse} from \"./spec.ts\";\nimport {\n ACTIVITY_PARAM_COMPONENT_NAME,\n ACTIVITY_PARAM_COMPONENT_TYPE,\n ACTIVITY_PARAM_STORAGE_TYPE,\n ACTIVITY_PARAM_STORAGE_WRITE\n} from '../../src/activities/params.js';\n\nconst MODULE_NAME = 'User ID';\nconst COOKIE = STORAGE_TYPE_COOKIES;\nconst LOCAL_STORAGE = STORAGE_TYPE_LOCALSTORAGE;\nexport const PBJS_USER_ID_OPTOUT_NAME = '_pbjs_id_optout';\nexport const coreStorage = getCoreStorageManager('userId');\nexport const dep = {\n isAllowed: isActivityAllowed\n}\n\ndeclare module '../../src/userSync' {\n interface UserSyncConfig {\n /**\n * EID source to use as PPID for GAM.\n *\n * Publishers using Google AdManager may want to sync one of the identifiers as their Google PPID for frequency capping or reporting.\n * The PPID in GAM (which is unrelated to the PPID UserId Submodule) has strict rules; refer to Google AdManager documentation for them.\n * Please note, Prebid uses a GPT command to sync identifiers for publisher convenience.\n * It doesn’t currently work for instream video requests, as Prebid typically interacts with the player,\n * which in turn may interact with IMA. IMA does has a similar method as GPT, but IMA does not gather this ID from GPT.\n */\n ppid?: string;\n /**\n * Map from userID name (the key in the object returned by `getUserIds`) to names of modules that should be preferred\n * as sources for that ID, in order of decreasing priority.\n */\n idPriority?: {\n [idName: keyof UserId]: UserIdProvider[]\n }\n userIds?: (UserIdConfig<keyof ProviderParams> | UserIdConfig<UserIdProvider>)[];\n // TODO documentation for these is either missing or inscrutable\n encryptedSignalSources?: {\n sources: {\n source: string[]\n encrypt: boolean;\n customFunc: AnyFunction\n }[]\n /**\n * The amount of time (in milliseconds) after which registering of signals will happen. Default value 0 is considered if ‘registerDelay’ is not provided.\n */\n registerDelay?: number;\n }\n /**\n * If true (the default), updating userSync.userIds will not remove previously configured IDs.\n */\n retainConfig?: boolean;\n /**\n * If true, updating userSync.userIds will automatically refresh IDs that have not yet been fetched.\n */\n autoRefresh?: boolean;\n\n /**\n * If true, user ID modules will only be allowed to save data in the location specified in the configuration.\n */\n enforceStorageType?: boolean;\n }\n}\n\nlet submodules: SubmoduleContainer<UserIdProvider>[] = [];\nlet initializedSubmodules;\nlet configRegistry = [];\nlet idPriority = {};\nlet submoduleRegistry: IdProviderSpec<UserIdProvider>[] = [];\nlet timeoutID;\nexport let syncDelay;\nexport let auctionDelay;\n\nlet ppidSource;\n\nlet configListener;\n\nconst uidMetrics = (() => {\n let metrics;\n return () => {\n if (metrics == null) {\n metrics = newMetrics();\n }\n return metrics;\n }\n})();\n\nfunction submoduleMetrics(moduleName) {\n return uidMetrics().fork().renameWith(n => [`userId.mod.${n}`, `userId.mods.${moduleName}.${n}`])\n}\n\nexport function setSubmoduleRegistry(submodules) {\n submoduleRegistry = submodules;\n updateEIDConfig(submodules);\n}\n\nfunction cookieSetter(submodule, storageMgr?) {\n storageMgr = storageMgr || submodule.storageMgr;\n const domainOverride = (typeof submodule.submodule.domainOverride === 'function') ? submodule.submodule.domainOverride() : null;\n const name = submodule.config.storage.name;\n return function setCookie(suffix, value, expiration) {\n storageMgr.setCookie(name + (suffix || ''), value, expiration, 'Lax', domainOverride);\n }\n}\n\nfunction setValueInCookie(submodule, valueStr, expiresStr) {\n const storage = submodule.config.storage;\n const setCookie = cookieSetter(submodule);\n\n setCookie(null, valueStr, expiresStr);\n setCookie('_cst', getConsentHash(), expiresStr);\n if (typeof storage.refreshInSeconds === 'number') {\n setCookie('_last', new Date().toUTCString(), expiresStr);\n }\n}\n\nfunction setValueInLocalStorage(submodule, valueStr, expiresStr) {\n const storage = submodule.config.storage;\n const mgr = submodule.storageMgr;\n\n mgr.setDataInLocalStorage(`${storage.name}_exp`, expiresStr);\n mgr.setDataInLocalStorage(`${storage.name}_cst`, getConsentHash());\n mgr.setDataInLocalStorage(storage.name, encodeURIComponent(valueStr));\n if (typeof storage.refreshInSeconds === 'number') {\n mgr.setDataInLocalStorage(`${storage.name}_last`, new Date().toUTCString());\n }\n}\n\nexport function setStoredValue(submodule, value) {\n const storage = submodule.config.storage;\n\n try {\n const expiresStr = (new Date(Date.now() + (storage.expires * (60 * 60 * 24 * 1000)))).toUTCString();\n const valueStr = isPlainObject(value) ? JSON.stringify(value) : value;\n\n submodule.enabledStorageTypes.forEach(storageType => {\n switch (storageType) {\n case COOKIE:\n setValueInCookie(submodule, valueStr, expiresStr);\n break;\n case LOCAL_STORAGE:\n setValueInLocalStorage(submodule, valueStr, expiresStr);\n break;\n }\n });\n } catch (error) {\n logError(error);\n }\n}\n\nexport const COOKIE_SUFFIXES = ['', '_last', '_cst'];\n\nfunction deleteValueFromCookie(submodule) {\n const setCookie = cookieSetter(submodule, coreStorage);\n const expiry = (new Date(Date.now() - 1000 * 60 * 60 * 24)).toUTCString();\n\n COOKIE_SUFFIXES.forEach(suffix => {\n try {\n setCookie(suffix, '', expiry);\n } catch (e) {\n logError(e);\n }\n })\n}\n\nexport const HTML5_SUFFIXES = ['', '_last', '_exp', '_cst'];\n\nfunction deleteValueFromLocalStorage(submodule) {\n HTML5_SUFFIXES.forEach(suffix => {\n try {\n coreStorage.removeDataFromLocalStorage(submodule.config.storage.name + suffix);\n } catch (e) {\n logError(e);\n }\n });\n}\n\nexport function deleteStoredValue(submodule) {\n populateEnabledStorageTypes(submodule);\n\n submodule.enabledStorageTypes.forEach(storageType => {\n switch (storageType) {\n case COOKIE:\n deleteValueFromCookie(submodule);\n break;\n case LOCAL_STORAGE:\n deleteValueFromLocalStorage(submodule);\n break;\n }\n });\n}\n\nfunction getValueFromCookie(submodule, storedKey) {\n return submodule.storageMgr.getCookie(storedKey)\n}\n\nfunction getValueFromLocalStorage(submodule, storedKey) {\n const mgr = submodule.storageMgr;\n const storage = submodule.config.storage;\n const storedValueExp = mgr.getDataFromLocalStorage(`${storage.name}_exp`);\n\n // empty string means no expiration set\n if (storedValueExp === '') {\n return mgr.getDataFromLocalStorage(storedKey);\n } else if (storedValueExp && ((new Date(storedValueExp)).getTime() - Date.now() > 0)) {\n return decodeURIComponent(mgr.getDataFromLocalStorage(storedKey));\n }\n}\n\nfunction getStoredValue(submodule, key = undefined) {\n const storage = submodule.config.storage;\n const storedKey = key ? `${storage.name}_${key}` : storage.name;\n let storedValue;\n try {\n submodule.enabledStorageTypes.find(storageType => {\n switch (storageType) {\n case COOKIE:\n storedValue = getValueFromCookie(submodule, storedKey);\n break;\n case LOCAL_STORAGE:\n storedValue = getValueFromLocalStorage(submodule, storedKey);\n break;\n }\n\n return !!storedValue;\n });\n\n // support storing a string or a stringified object\n if (typeof storedValue === 'string' && storedValue.trim().charAt(0) === '{') {\n storedValue = JSON.parse(storedValue);\n }\n } catch (e) {\n logError(e);\n }\n return storedValue;\n}\n\nfunction processSubmoduleCallbacks(submodules, cb, priorityMaps) {\n cb = uidMetrics().fork().startTiming('userId.callbacks.total').stopBefore(cb);\n const done = delayExecution(() => {\n clearTimeout(timeoutID);\n cb();\n }, submodules.length);\n submodules.forEach(function (submodule) {\n const moduleDone = submoduleMetrics(submodule.submodule.name).startTiming('callback').stopBefore(done);\n function callbackCompleted(idObj) {\n // if valid, id data should be saved to cookie/html storage\n if (idObj) {\n if (submodule.config.storage) {\n setStoredValue(submodule, idObj);\n }\n // cache decoded value (this is copied to every adUnit bid)\n submodule.idObj = submodule.submodule.decode(idObj, submodule.config);\n priorityMaps.refresh();\n updatePPID(priorityMaps);\n } else {\n logInfo(`${MODULE_NAME}: ${submodule.submodule.name} - request id responded with an empty value`);\n }\n moduleDone();\n }\n try {\n submodule.callback(callbackCompleted, getStoredValue.bind(null, submodule));\n } catch (e) {\n logError(`Error in userID module '${submodule.submodule.name}':`, e);\n moduleDone();\n }\n // clear callback, this prop is used to test if all submodule callbacks are complete below\n submodule.callback = undefined;\n });\n}\n\nfunction getIds(priorityMap): Partial<UserId> {\n return Object.fromEntries(\n Object.entries(priorityMap)\n .map(([key, getActiveModule]: [string, any]) => [key, getActiveModule()?.idObj?.[key]])\n .filter(([_, value]) => value != null)\n )\n}\n\nfunction getPrimaryIds(submodule) {\n if (submodule.primaryIds) return submodule.primaryIds;\n const ids = Object.keys(submodule.eids ?? {});\n if (ids.length > 1) {\n throw new Error(`ID submodule ${submodule.name} can provide multiple IDs, but does not specify 'primaryIds'`)\n }\n return ids;\n}\n\n/**\n * Given a collection of items, where each item maps to any number of IDs (getKeys) and an ID module (getIdMod),\n * return a map from ID key to all items that map to that ID key, in order of priority (highest priority first).\n *\n */\nfunction orderByPriority(items, getKeys, getIdMod) {\n const tally = {};\n items.forEach(item => {\n const module = getIdMod(item);\n const primaryIds = getPrimaryIds(module);\n getKeys(item).forEach(key => {\n const keyItems = tally[key] = tally[key] ?? []\n const keyPriority = idPriority[key]?.indexOf(module.name) ?? (primaryIds.includes(key) ? 0 : -1);\n const pos = keyItems.findIndex(([priority]) => priority < keyPriority);\n keyItems.splice(pos === -1 ? keyItems.length : pos, 0, [keyPriority, item])\n })\n })\n return Object.fromEntries(Object.entries(tally).map(([key, items]: [string, any]) => [key, items.map(([_, item]) => item)]))\n}\n\nfunction mkPriorityMaps() {\n const map = {\n submodules: [],\n global: {},\n bidder: {},\n combined: {},\n /**\n * @param {SubmoduleContainer[]} addtlModules\n */\n refresh(addtlModules = []) {\n const refreshing = new Set(addtlModules.map(mod => mod.submodule));\n map.submodules = map.submodules.filter((mod) => !refreshing.has(mod.submodule)).concat(addtlModules);\n update();\n }\n }\n function update() {\n const modulesById = orderByPriority(\n map.submodules,\n (submod) => Object.keys(submod.idObj ?? {}),\n (submod) => submod.submodule,\n )\n const global: any = {};\n const bidder: any = {};\n\n function activeModuleGetter(key, useGlobals, modules) {\n return function () {\n for (const {allowed, bidders, module} of modules) {\n if (!dep.isAllowed(ACTIVITY_ENRICH_EIDS, activityParams(MODULE_TYPE_UID, module?.config?.name, {init: false}))) {\n continue;\n }\n const value = module.idObj?.[key];\n if (value != null) {\n if (allowed) {\n return module;\n } else if (useGlobals) {\n // value != null, allowed = false, useGlobals = true:\n // this module has the preferred ID but it cannot be used (because it's restricted to only some bidders\n // and we are calculating global IDs).\n // since we don't (yet) have a way to express \"global except for these bidders\" in FPD,\n // do not keep looking for alternative IDs in other (lower priority) modules; the ID will be provided only\n // to the bidders this module is configured for.\n const listModules = (modules) => modules.map(mod => mod.module.submodule.name).join(', ');\n logWarn(`userID modules ${listModules(modules)} provide the same ID ('${key}'); ${module.submodule.name} is the preferred source, but it's configured only for some bidders, unlike ${listModules(modules.filter(mod => mod.bidders == null))}. Other bidders will not see the \"${key}\" ID.`)\n return null;\n } else if (bidders == null) {\n // value != null, allowed = false, useGlobals = false, bidders == null:\n // this module has the preferred ID but it should not be used because it's not bidder-restricted and\n // we are calculating bidder-specific ids. Do not keep looking in other lower priority modules, as the ID\n // will be set globally.\n return null;\n }\n }\n }\n return null;\n }\n }\n\n Object.entries(modulesById)\n .forEach(([key, modules]) => {\n let allNonGlobal = true;\n const bidderFilters = new Set<any>();\n modules = modules.map(module => {\n let bidders = null;\n if (Array.isArray(module.config.bidders) && module.config.bidders.length > 0) {\n bidders = module.config.bidders;\n bidders.forEach(bidder => bidderFilters.add(bidder));\n } else {\n allNonGlobal = false;\n }\n return {\n module,\n bidders\n }\n })\n if (!allNonGlobal) {\n global[key] = activeModuleGetter(key, true, modules.map(({bidders, module}) => ({allowed: bidders == null, bidders, module})));\n }\n bidderFilters.forEach(bidderCode => {\n bidder[bidderCode] = bidder[bidderCode] ?? {};\n bidder[bidderCode][key] = activeModuleGetter(key, false, modules.map(({bidders, module}) => ({allowed: bidders?.includes(bidderCode), bidders, module})));\n })\n });\n const combined = Object.values(bidder).concat([global]).reduce((combo, map) => Object.assign(combo, map), {});\n Object.assign(map, {global, bidder, combined});\n }\n return map;\n}\n\nexport function enrichEids(ortb2Fragments) {\n const {global: globalFpd, bidder: bidderFpd} = ortb2Fragments;\n const {global: globalMods, bidder: bidderMods} = initializedSubmodules;\n const globalEids = getEids(globalMods);\n if (globalEids.length > 0) {\n deepSetValue(globalFpd, 'user.ext.eids', (globalFpd.user?.ext?.eids ?? []).concat(globalEids));\n }\n Object.entries(bidderMods).forEach(([bidder, moduleMap]) => {\n const bidderEids = getEids(moduleMap);\n if (bidderEids.length > 0) {\n deepSetValue(\n bidderFpd,\n `${bidder}.user.ext.eids`,\n (bidderFpd[bidder]?.user?.ext?.eids ?? []).concat(bidderEids)\n );\n }\n })\n return ortb2Fragments;\n}\n\ndeclare module '../../src/adapterManager' {\n interface BaseBidRequest {\n userIdAsEids: ORTBRequest['user']['eids'];\n }\n}\n\nexport function addIdData({ortb2Fragments}) {\n ortb2Fragments = ortb2Fragments ?? {global: {}, bidder: {}}\n enrichEids(ortb2Fragments);\n}\n\nconst INIT_CANCELED = {};\n\nfunction idSystemInitializer({mkDelay = delay} = {}) {\n const startInit = defer<void>();\n const startCallbacks = defer<void>();\n let cancel;\n let initialized = false;\n let initMetrics;\n\n function cancelAndTry(promise) {\n initMetrics = uidMetrics().fork();\n if (cancel != null) {\n cancel.reject(INIT_CANCELED);\n }\n cancel = defer();\n return PbPromise.race([promise, cancel.promise])\n .finally(initMetrics.startTiming('userId.total'))\n }\n\n // grab a reference to global vars so that the promise chains remain isolated;\n // multiple calls to `init` (from tests) might otherwise cause them to interfere with each other\n const initModules = initializedSubmodules;\n const allModules = submodules;\n\n function checkRefs(fn) {\n // unfortunately tests have their own global state that needs to be guarded, so even if we keep ours tidy,\n // we cannot let things like submodule callbacks run (they pollute things like the global `server` XHR mock)\n return function(...args) {\n if (initModules === initializedSubmodules && allModules === submodules) {\n return fn(...args);\n }\n }\n }\n\n function timeConsent() {\n return allConsent.promise.finally(initMetrics.startTiming('userId.init.consent'))\n }\n\n let done = cancelAndTry(\n PbPromise.all([hooksReady, startInit.promise])\n .then(timeConsent)\n .then(checkRefs(() => {\n initSubmodules(initModules, allModules);\n }))\n .then(() => startCallbacks.promise.finally(initMetrics.startTiming('userId.callbacks.pending')))\n .then(checkRefs(() => {\n const modWithCb = initModules.submodules.filter(item => isFn(item.callback));\n if (modWithCb.length) {\n return new PbPromise((resolve) => processSubmoduleCallbacks(modWithCb, resolve, initModules));\n }\n }))\n );\n\n /**\n * with `ready` = true, starts initialization; with `refresh` = true, reinitialize submodules (optionally\n * filtered by `submoduleNames`).\n */\n return function ({refresh = false, submoduleNames = null, ready = false} = {}) {\n if (ready && !initialized) {\n initialized = true;\n startInit.resolve();\n // submodule callbacks should run immediately if `auctionDelay` > 0, or `syncDelay` ms after the\n // auction ends otherwise\n if (auctionDelay > 0) {\n startCallbacks.resolve();\n } else {\n events.on(EVENTS.AUCTION_END, function auctionEndHandler() {\n events.off(EVENTS.AUCTION_END, auctionEndHandler);\n mkDelay(syncDelay).then(startCallbacks.resolve);\n });\n }\n }\n if (refresh && initialized) {\n done = cancelAndTry(\n done\n .catch(() => null)\n .then(timeConsent) // fetch again in case a refresh was forced before this was resolved\n .then(checkRefs(() => {\n const cbModules = initSubmodules(\n initModules,\n allModules.filter((sm) => submoduleNames == null || submoduleNames.includes(sm.submodule.name)),\n true\n ).filter((sm) => {\n return sm.callback != null;\n });\n if (cbModules.length) {\n return new PbPromise((resolve) => processSubmoduleCallbacks(cbModules, resolve, initModules));\n }\n }))\n );\n }\n return done;\n };\n}\n\nlet initIdSystem;\n\nfunction getPPID(eids = getUserIdsAsEids() || []) {\n // userSync.ppid should be one of the 'source' values in getUserIdsAsEids() eg pubcid.org or id5-sync.com\n const matchingUserId = ppidSource && eids.find(userID => userID.source === ppidSource);\n if (matchingUserId && typeof matchingUserId?.uids?.[0]?.id === 'string') {\n const ppidValue = matchingUserId.uids[0].id.replace(/[\\W_]/g, '');\n if (ppidValue.length >= 32 && ppidValue.length <= 150) {\n return ppidValue;\n } else {\n logWarn(`User ID - Googletag Publisher Provided ID for ${ppidSource} is not between 32 and 150 characters - ${ppidValue}`);\n }\n }\n}\n\n/**\n * Hook is executed before adapters, but after consentManagement. Consent data is requied because\n * this module requires GDPR consent with Purpose #1 to save data locally.\n * The two main actions handled by the hook are:\n * 1. check gdpr consentData and handle submodule initialization.\n * 2. append user id data (loaded from cookied/html or from the getId method) to bids to be accessed in adapters.\n * @param {Object} reqBidsConfigObj required; This is the same param that's used in pbjs.requestBids.\n * @param {function} fn required; The next function in the chain, used by hook.ts\n */\nexport const startAuctionHook = timedAuctionHook('userId', function requestBidsHook(fn, reqBidsConfigObj: StartAuctionOptions, {mkDelay = delay, getIds = getUserIdsAsync} = {}) {\n PbPromise.race([\n getIds().catch(() => null),\n mkDelay(auctionDelay)\n ]).then(() => {\n addIdData(reqBidsConfigObj);\n uidMetrics().join(useMetrics(reqBidsConfigObj.metrics), {propagate: false, includeGroups: true});\n // calling fn allows prebid to continue processing\n fn.call(this, reqBidsConfigObj);\n });\n});\n\n/**\n * Alias bid requests' `userIdAsEids` to `ortb2.user.ext.eids`\n * Do this lazily (instead of attaching a copy) so that it also shows EIDs added after the userId module runs (e.g. from RTD modules)\n */\nfunction aliasEidsHook(next, bidderRequests) {\n bidderRequests.forEach(bidderRequest => {\n bidderRequest.bids.forEach(bid =>\n Object.defineProperty(bid, 'userIdAsEids', {\n configurable: true,\n get() {\n return bidderRequest.ortb2.user?.ext?.eids;\n }\n })\n )\n })\n next(bidderRequests);\n}\n\n/**\n * Is startAuctionHook added\n * @returns {boolean}\n */\nfunction addedStartAuctionHook() {\n return !!startAuction.getHooks({hook: startAuctionHook}).length;\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds stored by Prebid UserId module can be used by external codes as well.\n * Simple use case will be passing these UserIds to A9 wrapper solution\n */\nfunction getUserIds() {\n return getIds(initializedSubmodules.combined)\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds stored by Prebid UserId module can be used by external codes as well.\n * Simple use case will be passing these UserIds to A9 wrapper solution\n */\nfunction getUserIdsAsEids(): ORTBRequest['user']['eids'] {\n return getEids(initializedSubmodules.combined)\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds stored by Prebid UserId module can be used by external codes as well.\n * Simple use case will be passing these UserIds to A9 wrapper solution\n */\n\nfunction getUserIdsAsEidBySource(sourceName: string): ORTBRequest['user']['eids'][0] | undefined {\n return getUserIdsAsEids().filter(eid => eid.source === sourceName)[0];\n}\n\n/**\n * This function will be exposed in global-name-space so that userIds for a source can be exposed\n * Sample use case is exposing this function to ESP\n */\nfunction getEncryptedEidsForSource(source, encrypt, customFunction) {\n return retryOnCancel().then(() => {\n const eidsSignals = {};\n\n if (isFn(customFunction)) {\n logInfo(`${MODULE_NAME} - Getting encrypted signal from custom function : ${customFunction.name} & source : ${source} `);\n // Publishers are expected to define a common function which will be proxy for signal function.\n const customSignals = customFunction(source);\n eidsSignals[source] = customSignals ? encryptSignals(customSignals) : null; // by default encrypt using base64 to avoid JSON errors\n } else {\n // initialize signal with eids by default\n const eid = getUserIdsAsEidBySource(source);\n logInfo(`${MODULE_NAME} - Getting encrypted signal for eids :${JSON.stringify(eid)}`);\n if (!isEmpty(eid)) {\n eidsSignals[eid.source] = encrypt === true ? encryptSignals(eid) : eid.uids[0].id; // If encryption is enabled append version (1||) and encrypt entire object\n }\n }\n logInfo(`${MODULE_NAME} - Fetching encrypted eids: ${eidsSignals[source]}`);\n return eidsSignals[source];\n })\n}\n\nfunction encryptSignals(signals, version = 1) {\n let encryptedSig = '';\n switch (version) {\n case 1: // Base64 Encryption\n encryptedSig = typeof signals === 'object' ? window.btoa(JSON.stringify(signals)) : window.btoa(signals); // Test encryption. To be replaced with better algo\n break;\n default:\n break;\n }\n return `${version}||${encryptedSig}`;\n}\n\n/**\n * This function will be exposed in the global-name-space so that publisher can register the signals-ESP.\n */\nfunction registerSignalSources() {\n if (!isGptPubadsDefined()) {\n return;\n }\n\n const providers: googletag.secureSignals.SecureSignalProvider[] = window.googletag.secureSignalProviders = (window.googletag.secureSignalProviders || []) as googletag.secureSignals.SecureSignalProvider[];\n const existingIds = new Set(providers.map(p => 'id' in p ? p.id : p.networkCode));\n const encryptedSignalSources = config.getConfig('userSync.encryptedSignalSources');\n if (encryptedSignalSources) {\n const registerDelay = encryptedSignalSources.registerDelay || 0;\n setTimeout(() => {\n encryptedSignalSources['sources'] && encryptedSignalSources['sources'].forEach(({ source, encrypt, customFunc }) => {\n source.forEach((src) => {\n if (!existingIds.has(src)) {\n providers.push({\n id: src,\n collectorFunction: () => getEncryptedEidsForSource(src, encrypt, customFunc)\n });\n existingIds.add(src);\n }\n });\n })\n }, registerDelay)\n } else {\n logWarn(`${MODULE_NAME} - ESP : encryptedSignalSources config not defined under userSync Object`);\n }\n}\n\nfunction retryOnCancel(initParams?) {\n return initIdSystem(initParams).then(\n () => getUserIds(),\n (e) => {\n if (e === INIT_CANCELED) {\n // there's a pending refresh - because GreedyPromise runs this synchronously, we are now in the middle\n // of canceling the previous init, before the refresh logic has had a chance to run.\n // Use a \"normal\" Promise to clear the stack and let it complete (or this will just recurse infinitely)\n return Promise.resolve().then(getUserIdsAsync)\n } else {\n logError('Error initializing userId', e)\n return PbPromise.reject(e)\n }\n }\n );\n}\n\n/**\n * Force (re)initialization of ID submodules.\n *\n * This will force a refresh of the specified ID submodules regardless of `auctionDelay` / `syncDelay` settings, and\n * return a promise that resolves to the same value as `getUserIds()` when the refresh is complete.\n * If a refresh is already in progress, it will be canceled (rejecting promises returned by previous calls to `refreshUserIds`).\n *\n * submoduleNames submodules to refresh. If omitted, refresh all submodules.\n * callback called when the refresh is complete\n */\nfunction refreshUserIds({submoduleNames}: {\n submoduleNames?: string[]\n} = {}, callback?: () => void): Promise<Partial<UserId>> {\n return retryOnCancel({refresh: true, submoduleNames})\n .then((userIds) => {\n if (callback && isFn(callback)) {\n callback();\n }\n return userIds;\n });\n}\n\n/**\n * @returns a promise that resolves to the same value as `getUserIds()`, but only once all ID submodules have completed\n * initialization. This can also be used to synchronize calls to other ID accessors, e.g.\n *\n * ```\n * pbjs.getUserIdsAsync().then(() => {\n * const eids = pbjs.getUserIdsAsEids(); // guaranteed to be completely initialized at this point\n * });\n * ```\n */\n\nfunction getUserIdsAsync(): Promise<Partial<UserId>> {\n return retryOnCancel();\n}\n\nexport function getConsentHash() {\n // transform decimal string into base64 to save some space on cookies\n let hash = Number(allConsent.hash);\n const bytes = [];\n while (hash > 0) {\n bytes.push(String.fromCharCode(hash & 255));\n hash = hash >>> 8;\n }\n return btoa(bytes.join(''));\n}\n\nfunction consentChanged(submodule) {\n const storedConsent = getStoredValue(submodule, 'cst');\n return !storedConsent || storedConsent !== getConsentHash();\n}\n\nfunction populateSubmoduleId(submodule: SubmoduleContainer<UserIdProvider>, forceRefresh) {\n const consentData = allConsent.getConsentData();\n\n // There are two submodule configuration types to handle: storage or value\n // 1. storage: retrieve user id data from cookie/html storage or with the submodule's getId method\n // 2. value: pass directly to bids\n if (submodule.config.storage) {\n let storedId = getStoredValue(submodule);\n let response;\n\n let refreshNeeded = false;\n if (typeof submodule.config.storage.refreshInSeconds === 'number') {\n const storedDate = new Date(getStoredValue(submodule, 'last'));\n refreshNeeded = storedDate && (Date.now() - storedDate.getTime() > submodule.config.storage.refreshInSeconds * 1000);\n }\n\n if (!storedId || refreshNeeded || forceRefresh || consentChanged(submodule)) {\n const extendedConfig = Object.assign({ enabledStorageTypes: submodule.enabledStorageTypes }, submodule.config);\n\n // No id previously saved, or a refresh is needed, or consent has changed. Request a new id from the submodule.\n response = submodule.submodule.getId(extendedConfig, consentData, storedId);\n } else if (typeof submodule.submodule.extendId === 'function') {\n // If the id exists already, give submodule a chance to decide additional actions that need to be taken\n response = submodule.submodule.extendId(submodule.config, consentData, storedId);\n }\n\n if (isPlainObject(response)) {\n if (response.id) {\n // A getId/extendId result assumed to be valid user id data, which should be saved to users local storage or cookies\n setStoredValue(submodule, response.id);\n storedId = response.id;\n }\n\n if (typeof response.callback === 'function') {\n // Save async callback to be invoked after auction\n submodule.callback = response.callback as any;\n }\n }\n\n if (storedId) {\n // cache decoded value (this is copied to every adUnit bid)\n submodule.idObj = submodule.submodule.decode(storedId, submodule.config);\n }\n } else if (submodule.config.value) {\n // cache decoded value (this is copied to every adUnit bid)\n submodule.idObj = submodule.config.value;\n } else {\n const response = submodule.submodule.getId(submodule.config, consentData);\n if (isPlainObject(response)) {\n if (typeof response.callback === 'function') { submodule.callback = response.callback; }\n if (response.id) { submodule.idObj = submodule.submodule.decode(response.id, submodule.config); }\n }\n }\n}\n\nfunction updatePPID(priorityMaps) {\n const eids = getEids(priorityMaps.combined);\n if (eids.length && ppidSource) {\n const ppid = getPPID(eids);\n if (ppid) {\n if (isGptPubadsDefined()) {\n window.googletag.pubads().setPublisherProvidedId(ppid);\n } else {\n (window as any).googletag = window.googletag || {};\n (window.googletag as any).cmd = window.googletag.cmd || [];\n window.googletag.cmd.push(function() {\n window.googletag.pubads().setPublisherProvidedId(ppid);\n });\n }\n }\n }\n}\n\nfunction initSubmodules(priorityMaps, submodules, forceRefresh = false) {\n return uidMetrics().fork().measureTime('userId.init.modules', function () {\n if (!submodules.length) return []; // to simplify log messages from here on\n submodules.forEach(submod => populateEnabledStorageTypes(submod));\n\n /**\n * filter out submodules that:\n *\n * - cannot use the storage they've been set up with (storage not available / not allowed / disabled)\n * - are not allowed to perform the `enrichEids` activity\n */\n submodules = submodules.filter((submod) => {\n return (!submod.config.storage || canUseStorage(submod)) &&\n dep.isAllowed(ACTIVITY_ENRICH_EIDS, activityParams(MODULE_TYPE_UID, submod.config.name));\n });\n\n if (!submodules.length) {\n logWarn(`${MODULE_NAME} - no ID module configured`);\n return [];\n }\n\n const initialized = submodules.reduce((carry, submodule) => {\n return submoduleMetrics(submodule.submodule.name).measureTime('init', () => {\n try {\n populateSubmoduleId(submodule, forceRefresh);\n carry.push(submodule);\n } catch (e) {\n logError(`Error in userID module '${submodule.submodule.name}':`, e);\n }\n return carry;\n })\n }, []);\n priorityMaps.refresh(initialized);\n updatePPID(priorityMaps);\n return initialized;\n })\n}\n\nfunction getConfiguredStorageTypes(config) {\n return config?.storage?.type?.trim().split(/\\s*&\\s*/) || [];\n}\n\nfunction hasValidStorageTypes(config) {\n const storageTypes = getConfiguredStorageTypes(config);\n\n return storageTypes.every(storageType => ALL_STORAGE_TYPES.has(storageType));\n}\n\n/**\n * list of submodule configurations with valid 'storage' or 'value' obj definitions\n * storage config: contains values for storing/retrieving User ID data in browser storage\n * value config: object properties that are copied to bids (without saving to storage)\n */\nexport function getValidSubmoduleConfigs(configRegistry) {\n function err(msg, ...args) {\n logWarn(`Invalid userSync.userId config: ${msg}`, ...args)\n }\n if (!Array.isArray(configRegistry)) {\n if (configRegistry != null) {\n err('must be an array', configRegistry);\n }\n return [];\n }\n return configRegistry.filter(config => {\n if (!config?.name) {\n return err('must specify \"name\"', config);\n } else if (config.storage) {\n if (!config.storage.name || !config.storage.type) {\n return err('must specify \"storage.name\" and \"storage.type\"', config);\n } else if (!hasValidStorageTypes(config)) {\n return err('invalid \"storage.type\"', config)\n }\n ['expires', 'refreshInSeconds'].forEach(param => {\n let value = config.storage[param];\n if (value != null && typeof value !== 'number') {\n value = Number(value)\n if (isNaN(value)) {\n err(`storage.${param} must be a number and will be ignored`, config);\n delete config.storage[param];\n } else {\n config.storage[param] = value;\n }\n }\n });\n }\n return true;\n })\n}\n\nconst ALL_STORAGE_TYPES = new Set([LOCAL_STORAGE, COOKIE]);\n\nfunction canUseLocalStorage(submodule) {\n if (!submodule.storageMgr.localStorageIsEnabled()) {\n return false;\n }\n\n if (coreStorage.getDataFromLocalStorage(PBJS_USER_ID_OPTOUT_NAME)) {\n logInfo(`${MODULE_NAME} - opt-out localStorage found, storage disabled`);\n return false\n }\n\n return true;\n}\n\nfunction canUseCookies(submodule) {\n if (!submodule.storageMgr.cookiesAreEnabled()) {\n return false;\n }\n\n if (coreStorage.getCookie(PBJS_USER_ID_OPTOUT_NAME)) {\n logInfo(`${MODULE_NAME} - opt-out cookie found, storage disabled`);\n return false;\n }\n\n return true\n}\n\nconst STORAGE_PURPOSES = [1, 2, 3, 4, 7];\n\nfunction populateEnabledStorageTypes(submodule: SubmoduleContainer<UserIdProvider>) {\n if (submodule.enabledStorageTypes) {\n return;\n }\n\n const storageTypes = getConfiguredStorageTypes(submodule.config);\n\n submodule.enabledStorageTypes = storageTypes.filter(type => {\n switch (type) {\n case LOCAL_STORAGE:\n HTML5_SUFFIXES.forEach(suffix => {\n discloseStorageUse('userId', {\n type: 'web',\n identifier: submodule.config.storage.name + suffix,\n purposes: STORAGE_PURPOSES\n })\n })\n return canUseLocalStorage(submodule);\n case COOKIE:\n COOKIE_SUFFIXES.forEach(suffix => {\n discloseStorageUse('userId', {\n type: 'cookie',\n identifier: submodule.config.storage.name + suffix,\n purposes: STORAGE_PURPOSES,\n maxAgeSeconds: (submodule.config.storage.expires ?? 0) * 24 * 60 * 60,\n cookieRefresh: true\n })\n })\n return canUseCookies(submodule);\n }\n\n return false;\n });\n}\n\nfunction canUseStorage(submodule) {\n return !!submodule.enabledStorageTypes.length;\n}\n\nfunction updateEIDConfig(submodules) {\n EID_CONFIG.clear();\n Object.entries(\n orderByPriority(\n submodules,\n (mod) => Object.keys(mod.eids || {}),\n (mod) => mod\n )\n ).forEach(([key, submodules]) => EID_CONFIG.set(key, submodules[0].eids[key]))\n}\n\nexport function generateSubmoduleContainers(options, configs, prevSubmodules = submodules, registry = submoduleRegistry) {\n const {autoRefresh, retainConfig} = options;\n return registry\n .reduce((acc, submodule) => {\n const {name, aliasName} = submodule;\n const matchesName = (query) => [name, aliasName].some(value => value?.toLowerCase() === query.toLowerCase());\n const submoduleConfig = configs.find((configItem) => matchesName(configItem.name));\n\n if (!submoduleConfig) {\n if (!retainConfig) return acc;\n const previousSubmodule = prevSubmodules.find(prevSubmodules => matchesName(prevSubmodules.config.name));\n return previousSubmodule ? [...acc, previousSubmodule] : acc;\n }\n\n const newSubmoduleContainer: SubmoduleContainer<UserIdProvider> = {\n submodule,\n config: {\n ...submoduleConfig,\n name: submodule.name\n },\n callback: undefined,\n idObj: undefined,\n storageMgr: newStorageManager({\n moduleType: MODULE_TYPE_UID,\n moduleName: submoduleConfig.name,\n // since this manager is only using keys provided directly by the publisher,\n // turn off storageControl checks\n advertiseKeys: false,\n })\n };\n\n if (autoRefresh) {\n const previousSubmodule = prevSubmodules.find(prevSubmodules => matchesName(prevSubmodules.config.name));\n newSubmoduleContainer.refreshIds = !previousSubmodule || !deepEqual(newSubmoduleContainer.config, previousSubmodule.config);\n }\n\n return [...acc, newSubmoduleContainer];\n }, []);\n}\n\ntype SubmoduleContainer<P extends UserIdProvider> = {\n submodule: IdProviderSpec<P>;\n enabledStorageTypes?: StorageType[];\n config: UserIdConfig<P>;\n callback?: ProviderResponse['callback'];\n idObj;\n storageMgr: StorageManager;\n refreshIds?: boolean;\n}\n\n/**\n * update submodules by validating against existing configs and storage types\n */\nfunction updateSubmodules(options = {}) {\n updateEIDConfig(submoduleRegistry);\n const configs = getValidSubmoduleConfigs(configRegistry);\n if (!configs.length) {\n return;\n }\n\n const updatedContainers = generateSubmoduleContainers(options, configs);\n submodules.splice(0, submodules.length);\n submodules.push(...updatedContainers);\n\n if (submodules.length) {\n if (!addedStartAuctionHook()) {\n startAuction.before(startAuctionHook, 100) // use higher priority than dataController / rtd\n adapterManager.callDataDeletionRequest.before(requestDataDeletion);\n coreGetPPID.after((next) => next(getPPID()));\n }\n logInfo(`${MODULE_NAME} - usersync config updated for ${submodules.length} submodules: `, submodules.map(a => a.submodule.name));\n }\n}\n\n/**\n * This function will update the idPriority according to the provided configuration\n */\nfunction updateIdPriority(idPriorityConfig, submodules) {\n if (idPriorityConfig) {\n const result = {};\n const aliasToName = new Map(submodules.map(s => s.aliasName ? [s.aliasName, s.name] : []));\n Object.keys(idPriorityConfig).forEach(key => {\n const priority = isArray(idPriorityConfig[key]) ? [...idPriorityConfig[key]].reverse() : []\n result[key] = priority.map(s => aliasToName.has(s) ? aliasToName.get(s) : s);\n });\n idPriority = result;\n } else {\n idPriority = {};\n }\n initializedSubmodules.refresh();\n updateEIDConfig(submodules)\n}\n\nexport function requestDataDeletion(next, ...args) {\n logInfo('UserID: received data deletion request; deleting all stored IDs...')\n submodules.forEach(submodule => {\n if (typeof submodule.submodule.onDataDeletionRequest === 'function') {\n try {\n submodule.submodule.onDataDeletionRequest(submodule.config, submodule.idObj, ...args);\n } catch (e) {\n logError(`Error calling onDataDeletionRequest for ID submodule ${submodule.submodule.name}`, e);\n }\n }\n deleteStoredValue(submodule);\n })\n next.apply(this, args);\n}\n\n/**\n * enable submodule in User ID\n */\nexport function attachIdSystem(submodule: IdProviderSpec<UserIdProvider>) {\n submodule.findRootDomain = findRootDomain;\n if (!(submoduleRegistry || []).find(i => i.name === submodule.name)) {\n submoduleRegistry.push(submodule);\n GDPR_GVLIDS.register(MODULE_TYPE_UID, submodule.name, submodule.gvlid)\n updateSubmodules();\n // TODO: a test case wants this to work even if called after init (the setConfig({userId}))\n // so we trigger a refresh. But is that even possible outside of tests?\n initIdSystem({refresh: true, submoduleNames: [submodule.name]});\n }\n}\n\nfunction normalizePromise<T extends AnyFunction>(fn: T): Wraps<T> {\n // for public methods that return promises, make sure we return a \"normal\" one - to avoid\n // exposing confusing stack traces\n return function(...args) {\n return Promise.resolve(fn.apply(this, args));\n } as any;\n}\n\ndeclare module '../../src/prebidGlobal' {\n interface PrebidJS {\n getUserIds: typeof getUserIds;\n getUserIdsAsync: typeof getUserIdsAsync;\n getUserIdsAsEids: typeof getUserIdsAsEids;\n getEncryptedEidsForSource: typeof getEncryptedEidsForSource;\n registerSignalSources: typeof registerSignalSources;\n refreshUserIds: typeof refreshUserIds;\n getUserIdsAsEidBySource: typeof getUserIdsAsEidBySource;\n }\n}\n\nconst enforceStorageTypeRule = (userIdsConfig, enforceStorageType) => {\n return (params) => {\n if (params[ACTIVITY_PARAM_COMPONENT_TYPE] !== MODULE_TYPE_UID || !params[ACTIVITY_PARAM_STORAGE_WRITE]) return;\n\n const matchesName = (query) => params[ACTIVITY_PARAM_COMPONENT_NAME]?.toLowerCase() === query?.toLowerCase();\n const submoduleConfig = userIdsConfig.find((configItem) => matchesName(configItem.name));\n\n if (!submoduleConfig || !submoduleConfig.storage) return;\n\n if (params[ACTIVITY_PARAM_STORAGE_TYPE] !== submoduleConfig.storage.type) {\n const reason = `${submoduleConfig.name} attempts to store data in ${params[ACTIVITY_PARAM_STORAGE_TYPE]} while configuration allows ${submoduleConfig.storage.type}.`;\n if (enforceStorageType) {\n return {allow: false, reason};\n } else {\n logWarn(reason);\n }\n }\n }\n}\n\n/**\n * test browser support for storage config types (local storage or cookie), initializes submodules but consentManagement is required,\n * so a callback is added to fire after the consentManagement module.\n * @param {{getConfig:function}} config\n */\nexport function init(config, {mkDelay = delay} = {}) {\n ppidSource = undefined;\n submodules = [];\n configRegistry = [];\n initializedSubmodules = mkPriorityMaps();\n initIdSystem = idSystemInitializer({mkDelay});\n if (configListener != null) {\n configListener();\n }\n submoduleRegistry = [];\n let unregisterEnforceStorageTypeRule: () => void\n\n // listen for config userSyncs to be set\n configListener = config.getConfig('userSync', conf => {\n // Note: support for 'usersync' was dropped as part of Prebid.js 4.0\n const userSync: UserSyncConfig = conf.userSync;\n if (userSync) {\n ppidSource = userSync.ppid;\n if (userSync.userIds) {\n const {autoRefresh = false, retainConfig = true, enforceStorageType} = userSync;\n configRegistry = userSync.userIds;\n syncDelay = isNumber(userSync.syncDelay) ? userSync.syncDelay : USERSYNC_DEFAULT_CONFIG.syncDelay\n auctionDelay = isNumber(userSync.auctionDelay) ? userSync.auctionDelay : USERSYNC_DEFAULT_CONFIG.auctionDelay;\n updateSubmodules({retainConfig, autoRefresh});\n unregisterEnforceStorageTypeRule?.();\n unregisterEnforceStorageTypeRule = registerActivityControl(ACTIVITY_ACCESS_DEVICE, 'enforceStorageTypeRule', enforceStorageTypeRule(submodules.map(({config}) => config), enforceStorageType));\n updateIdPriority(userSync.idPriority, submoduleRegistry);\n initIdSystem({ready: true});\n const submodulesToRefresh = submodules.filter(item => item.refreshIds);\n if (submodulesToRefresh.length) {\n refreshUserIds({submoduleNames: submodulesToRefresh.map(item => item.submodule.name)});\n }\n }\n }\n });\n adapterManager.makeBidRequests.after(aliasEidsHook);\n\n // exposing getUserIds function in global-name-space so that userIds stored in Prebid can be used by external codes.\n addApiMethod('getUserIds', getUserIds);\n addApiMethod('getUserIdsAsEids', getUserIdsAsEids);\n addApiMethod('getEncryptedEidsForSource', normalizePromise(getEncryptedEidsForSource));\n addApiMethod('registerSignalSources', registerSignalSources);\n addApiMethod('refreshUserIds', normalizePromise(refreshUserIds));\n addApiMethod('getUserIdsAsync', normalizePromise(getUserIdsAsync));\n addApiMethod('getUserIdsAsEidBySource', getUserIdsAsEidBySource);\n}\n\nexport function resetUserIds() {\n config.setConfig({userSync: {}})\n init(config);\n}\n\n// init config update listener to start the application\ninit(config);\n\nmodule('userId', attachIdSystem, { postInstallAllowed: true });\n"],"mappings":"AAAA,SAAQA,cAAc,IAAIC,IAAI,QAAO,2BAA2B;AAAhE;AACA;AACA;AACA;;AAEA,SAAQC,MAAM,QAAO,qBAAqB;AAC1C,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,SAAQC,YAAY,EAAEC,YAAY,QAAiC,qBAAqB;AACxF,OAAOC,cAAc,MAAM,6BAA6B;AACxD,SAAQC,MAAM,QAAO,wBAAwB;AAC7C,SAAQC,MAAM,EAAEC,KAAK,IAAIC,UAAU,QAAO,mBAAmB;AAC7D,SAAQC,UAAU,EAAEC,OAAO,QAAO,WAAW;AAC7C,SACEC,kBAAkB,EAClBC,qBAAqB,EACrBC,iBAAiB,EACjBC,oBAAoB,EACpBC,yBAAyB,QAGpB,6BAA6B;AACpC,SACEC,SAAS,EACTC,YAAY,EACZC,cAAc,EACdC,OAAO,EACPC,OAAO,EACPC,IAAI,EACJC,kBAAkB,EAClBC,QAAQ,EACRC,aAAa,EACbC,QAAQ,EACRC,OAAO,EACPC,OAAO,QACF,oBAAoB;AAC3B,SAAQC,OAAO,IAAIC,WAAW,QAAO,uBAAuB;AAC5D,SAAQC,KAAK,EAAEC,KAAK,EAAEC,SAAS,QAAO,4BAA4B;AAClE,SAAQC,UAAU,EAAEC,gBAAgB,EAAEC,UAAU,QAAO,gCAAgC;AACvF,SAAQC,cAAc,QAAO,6BAA6B;AAC1D,SAAQC,UAAU,EAAEC,WAAW,QAAO,6BAA6B;AACnE,SAAQC,eAAe,QAAO,iCAAiC;AAC/D,SAAQC,iBAAiB,EAAEC,uBAAuB,QAAO,+BAA+B;AACxF,SAAQC,sBAAsB,EAAEC,oBAAoB,QAAO,oCAAoC;AAC/F,SAAQC,cAAc,QAAO,wCAAwC;AACrE,SAAQC,uBAAuB,QAA4B,uBAAuB;AAIlF,SACEC,6BAA6B,EAC7BC,6BAA6B,EAC7BC,2BAA2B,EAC3BC,4BAA4B,QACvB,gCAAgC;AAEvC,MAAMC,WAAW,GAAG,SAAS;AAC7B,MAAMC,MAAM,GAAGrC,oBAAoB;AACnC,MAAMsC,aAAa,GAAGrC,yBAAyB;AAC/C,OAAO,MAAMsC,wBAAwB,GAAG,iBAAiB;AACzD,OAAO,MAAMC,WAAW,GAAG1C,qBAAqB,CAAC,QAAQ,CAAC;AAC1D,OAAO,MAAM2C,GAAG,GAAG;EACjBC,SAAS,EAAEhB;AACb,CAAC;AAkDD,IAAIiB,UAAgD,GAAG,EAAE;AACzD,IAAIC,qBAAqB;AACzB,IAAIC,cAAc,GAAG,EAAE;AACvB,IAAIC,UAAU,GAAG,CAAC,CAAC;AACnB,IAAIC,iBAAmD,GAAG,EAAE;AAC5D,IAAIC,SAAS;AACb,OAAO,IAAIC,SAAS;AACpB,OAAO,IAAIC,YAAY;AAEvB,IAAIC,UAAU;AAEd,IAAIC,cAAc;AAElB,MAAMC,UAAU,GAAG,CAAC,MAAM;EACxB,IAAIC,OAAO;EACX,OAAO,MAAM;IACX,IAAIA,OAAO,IAAI,IAAI,EAAE;MACnBA,OAAO,GAAGnC,UAAU,CAAC,CAAC;IACxB;IACA,OAAOmC,OAAO;EAChB,CAAC;AACH,CAAC,EAAE,CAAC;AAEJ,SAASC,gBAAgBA,CAACC,UAAU,EAAE;EACpC,OAAOH,UAAU,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC,CAACC,UAAU,CAACC,CAAC,IAAI,CAAC,cAAcA,CAAC,EAAE,EAAE,eAAeH,UAAU,IAAIG,CAAC,EAAE,CAAC,CAAC;AACnG;AAEA,OAAO,SAASC,oBAAoBA,CAACjB,UAAU,EAAE;EAC/CI,iBAAiB,GAAGJ,UAAU;EAC9BkB,eAAe,CAAClB,UAAU,CAAC;AAC7B;AAEA,SAASmB,YAAYA,CAACC,SAAS,EAAEC,UAAW,EAAE;EAC5CA,UAAU,GAAGA,UAAU,IAAID,SAAS,CAACC,UAAU;EAC/C,MAAMC,cAAc,GAAI,OAAOF,SAAS,CAACA,SAAS,CAACE,cAAc,KAAK,UAAU,GAAIF,SAAS,CAACA,SAAS,CAACE,cAAc,CAAC,CAAC,GAAG,IAAI;EAC/H,MAAMC,IAAI,GAAGH,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACD,IAAI;EAC1C,OAAO,SAASE,SAASA,CAACC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAE;IACnDP,UAAU,CAACI,SAAS,CAACF,IAAI,IAAIG,MAAM,IAAI,EAAE,CAAC,EAAEC,KAAK,EAAEC,UAAU,EAAE,KAAK,EAAEN,cAAc,CAAC;EACvF,CAAC;AACH;AAEA,SAASO,gBAAgBA,CAACT,SAAS,EAAEU,QAAQ,EAAEC,UAAU,EAAE;EACzD,MAAMP,OAAO,GAAGJ,SAAS,CAAC7E,MAAM,CAACiF,OAAO;EACxC,MAAMC,SAAS,GAAGN,YAAY,CAACC,SAAS,CAAC;EAEzCK,SAAS,CAAC,IAAI,EAAEK,QAAQ,EAAEC,UAAU,CAAC;EACrCN,SAAS,CAAC,MAAM,EAAEO,cAAc,CAAC,CAAC,EAAED,UAAU,CAAC;EAC/C,IAAI,OAAOP,OAAO,CAACS,gBAAgB,KAAK,QAAQ,EAAE;IAChDR,SAAS,CAAC,OAAO,EAAE,IAAIS,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,EAAEJ,UAAU,CAAC;EAC1D;AACF;AAEA,SAASK,sBAAsBA,CAAChB,SAAS,EAAEU,QAAQ,EAAEC,UAAU,EAAE;EAC/D,MAAMP,OAAO,GAAGJ,SAAS,CAAC7E,MAAM,CAACiF,OAAO;EACxC,MAAMa,GAAG,GAAGjB,SAAS,CAACC,UAAU;EAEhCgB,GAAG,CAACC,qBAAqB,CAAC,GAAGd,OAAO,CAACD,IAAI,MAAM,EAAEQ,UAAU,CAAC;EAC5DM,GAAG,CAACC,qBAAqB,CAAC,GAAGd,OAAO,CAACD,IAAI,MAAM,EAAES,cAAc,CAAC,CAAC,CAAC;EAClEK,GAAG,CAACC,qBAAqB,CAACd,OAAO,CAACD,IAAI,EAAEgB,kBAAkB,CAACT,QAAQ,CAAC,CAAC;EACrE,IAAI,OAAON,OAAO,CAACS,gBAAgB,KAAK,QAAQ,EAAE;IAChDI,GAAG,CAACC,qBAAqB,CAAC,GAAGd,OAAO,CAACD,IAAI,OAAO,EAAE,IAAIW,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAC7E;AACF;AAEA,OAAO,SAASK,cAAcA,CAACpB,SAAS,EAAEO,KAAK,EAAE;EAC/C,MAAMH,OAAO,GAAGJ,SAAS,CAAC7E,MAAM,CAACiF,OAAO;EAExC,IAAI;IACF,MAAMO,UAAU,GAAI,IAAIG,IAAI,CAACA,IAAI,CAACO,GAAG,CAAC,CAAC,GAAIjB,OAAO,CAACkB,OAAO,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAE,CAAC,CAAEP,WAAW,CAAC,CAAC;IACnG,MAAML,QAAQ,GAAG/D,aAAa,CAAC4D,KAAK,CAAC,GAAGgB,IAAI,CAACC,SAAS,CAACjB,KAAK,CAAC,GAAGA,KAAK;IAErEP,SAAS,CAACyB,mBAAmB,CAACC,OAAO,CAACC,WAAW,IAAI;MACnD,QAAQA,WAAW;QACjB,KAAKrD,MAAM;UACTmC,gBAAgB,CAACT,SAAS,EAAEU,QAAQ,EAAEC,UAAU,CAAC;UACjD;QACF,KAAKpC,aAAa;UAChByC,sBAAsB,CAAChB,SAAS,EAAEU,QAAQ,EAAEC,UAAU,CAAC;UACvD;MACJ;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOiB,KAAK,EAAE;IACdhF,QAAQ,CAACgF,KAAK,CAAC;EACjB;AACF;AAEA,OAAO,MAAMC,eAAe,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC;AAEpD,SAASC,qBAAqBA,CAAC9B,SAAS,EAAE;EACxC,MAAMK,SAAS,GAAGN,YAAY,CAACC,SAAS,EAAEvB,WAAW,CAAC;EACtD,MAAMsD,MAAM,GAAI,IAAIjB,IAAI,CAACA,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAEN,WAAW,CAAC,CAAC;EAEzEc,eAAe,CAACH,OAAO,CAACpB,MAAM,IAAI;IAChC,IAAI;MACFD,SAAS,CAACC,MAAM,EAAE,EAAE,EAAEyB,MAAM,CAAC;IAC/B,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVpF,QAAQ,CAACoF,CAAC,CAAC;IACb;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMC,cAAc,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AAE3D,SAASC,2BAA2BA,CAAClC,SAAS,EAAE;EAC9CiC,cAAc,CAACP,OAAO,CAACpB,MAAM,IAAI;IAC/B,IAAI;MACF7B,WAAW,CAAC0D,0BAA0B,CAACnC,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACD,IAAI,GAAGG,MAAM,CAAC;IAChF,CAAC,CAAC,OAAO0B,CAAC,EAAE;MACVpF,QAAQ,CAACoF,CAAC,CAAC;IACb;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASI,iBAAiBA,CAACpC,SAAS,EAAE;EAC3CqC,2BAA2B,CAACrC,SAAS,CAAC;EAEtCA,SAAS,CAACyB,mBAAmB,CAACC,OAAO,CAACC,WAAW,IAAI;IACnD,QAAQA,WAAW;MACjB,KAAKrD,MAAM;QACTwD,qBAAqB,CAAC9B,SAAS,CAAC;QAChC;MACF,KAAKzB,aAAa;QAChB2D,2BAA2B,CAAClC,SAAS,CAAC;QACtC;IACJ;EACF,CAAC,CAAC;AACJ;AAEA,SAASsC,kBAAkBA,CAACtC,SAAS,EAAEuC,SAAS,EAAE;EAChD,OAAOvC,SAAS,CAACC,UAAU,CAACuC,SAAS,CAACD,SAAS,CAAC;AAClD;AAEA,SAASE,wBAAwBA,CAACzC,SAAS,EAAEuC,SAAS,EAAE;EACtD,MAAMtB,GAAG,GAAGjB,SAAS,CAACC,UAAU;EAChC,MAAMG,OAAO,GAAGJ,SAAS,CAAC7E,MAAM,CAACiF,OAAO;EACxC,MAAMsC,cAAc,GAAGzB,GAAG,CAAC0B,uBAAuB,CAAC,GAAGvC,OAAO,CAACD,IAAI,MAAM,CAAC;;EAEzE;EACA,IAAIuC,cAAc,KAAK,EAAE,EAAE;IACzB,OAAOzB,GAAG,CAAC0B,uBAAuB,CAACJ,SAAS,CAAC;EAC/C,CAAC,MAAM,IAAIG,cAAc,IAAM,IAAI5B,IAAI,CAAC4B,cAAc,CAAC,CAAEE,OAAO,CAAC,CAAC,GAAG9B,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,CAAE,EAAE;IACpF,OAAOwB,kBAAkB,CAAC5B,GAAG,CAAC0B,uBAAuB,CAACJ,SAAS,CAAC,CAAC;EACnE;AACF;AAEA,SAASO,cAAcA,CAAC9C,SAAS,EAAmB;EAAA,IAAjB+C,GAAG,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAChD,MAAM9C,OAAO,GAAGJ,SAAS,CAAC7E,MAAM,CAACiF,OAAO;EACxC,MAAMmC,SAAS,GAAGQ,GAAG,GAAG,GAAG3C,OAAO,CAACD,IAAI,IAAI4C,GAAG,EAAE,GAAG3C,OAAO,CAACD,IAAI;EAC/D,IAAIgD,WAAW;EACf,IAAI;IACFnD,SAAS,CAACyB,mBAAmB,CAAC2B,IAAI,CAACzB,WAAW,IAAI;MAChD,QAAQA,WAAW;QACjB,KAAKrD,MAAM;UACT6E,WAAW,GAAGb,kBAAkB,CAACtC,SAAS,EAAEuC,SAAS,CAAC;UACtD;QACF,KAAKhE,aAAa;UAChB4E,WAAW,GAAGV,wBAAwB,CAACzC,SAAS,EAAEuC,SAAS,CAAC;UAC5D;MACJ;MAEA,OAAO,CAAC,CAACY,WAAW;IACtB,CAAC,CAAC;;IAEF;IACA,IAAI,OAAOA,WAAW,KAAK,QAAQ,IAAIA,WAAW,CAACE,IAAI,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MAC3EH,WAAW,GAAG5B,IAAI,CAACgC,KAAK,CAACJ,WAAW,CAAC;IACvC;EACF,CAAC,CAAC,OAAOnB,CAAC,EAAE;IACVpF,QAAQ,CAACoF,CAAC,CAAC;EACb;EACA,OAAOmB,WAAW;AACpB;AAEA,SAASK,yBAAyBA,CAAC5E,UAAU,EAAE6E,EAAE,EAAEC,YAAY,EAAE;EAC/DD,EAAE,GAAGnE,UAAU,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC,CAACiE,WAAW,CAAC,wBAAwB,CAAC,CAACC,UAAU,CAACH,EAAE,CAAC;EAC7E,MAAMI,IAAI,GAAGxH,cAAc,CAAC,MAAM;IAChCyH,YAAY,CAAC7E,SAAS,CAAC;IACvBwE,EAAE,CAAC,CAAC;EACN,CAAC,EAAE7E,UAAU,CAACqE,MAAM,CAAC;EACrBrE,UAAU,CAAC8C,OAAO,CAAC,UAAU1B,SAAS,EAAE;IACtC,MAAM+D,UAAU,GAAGvE,gBAAgB,CAACQ,SAAS,CAACA,SAAS,CAACG,IAAI,CAAC,CAACwD,WAAW,CAAC,UAAU,CAAC,CAACC,UAAU,CAACC,IAAI,CAAC;IACtG,SAASG,iBAAiBA,CAACC,KAAK,EAAE;MAChC;MACA,IAAIA,KAAK,EAAE;QACT,IAAIjE,SAAS,CAAC7E,MAAM,CAACiF,OAAO,EAAE;UAC5BgB,cAAc,CAACpB,SAAS,EAAEiE,KAAK,CAAC;QAClC;QACA;QACAjE,SAAS,CAACiE,KAAK,GAAGjE,SAAS,CAACA,SAAS,CAACkE,MAAM,CAACD,KAAK,EAAEjE,SAAS,CAAC7E,MAAM,CAAC;QACrEuI,YAAY,CAACS,OAAO,CAAC,CAAC;QACtBC,UAAU,CAACV,YAAY,CAAC;MAC1B,CAAC,MAAM;QACL7G,OAAO,CAAC,GAAGwB,WAAW,KAAK2B,SAAS,CAACA,SAAS,CAACG,IAAI,6CAA6C,CAAC;MACnG;MACA4D,UAAU,CAAC,CAAC;IACd;IACA,IAAI;MACF/D,SAAS,CAACqE,QAAQ,CAACL,iBAAiB,EAAElB,cAAc,CAACwB,IAAI,CAAC,IAAI,EAAEtE,SAAS,CAAC,CAAC;IAC7E,CAAC,CAAC,OAAOgC,CAAC,EAAE;MACVpF,QAAQ,CAAC,2BAA2BoD,SAAS,CAACA,SAAS,CAACG,IAAI,IAAI,EAAE6B,CAAC,CAAC;MACpE+B,UAAU,CAAC,CAAC;IACd;IACA;IACA/D,SAAS,CAACqE,QAAQ,GAAGnB,SAAS;EAChC,CAAC,CAAC;AACJ;AAEA,SAASqB,MAAMA,CAACC,WAAW,EAAmB;EAC5C,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,WAAW,CAAC,CACxBI,GAAG,CAACC,IAAA;IAAA,IAAC,CAAC9B,GAAG,EAAE+B,eAAe,CAAgB,GAAAD,IAAA;IAAA,OAAK,CAAC9B,GAAG,EAAE+B,eAAe,CAAC,CAAC,EAAEb,KAAK,GAAGlB,GAAG,CAAC,CAAC;EAAA,EAAC,CACtFgC,MAAM,CAACC,KAAA;IAAA,IAAC,CAACC,CAAC,EAAE1E,KAAK,CAAC,GAAAyE,KAAA;IAAA,OAAKzE,KAAK,IAAI,IAAI;EAAA,EACzC,CAAC;AACH;AAEA,SAAS2E,aAAaA,CAAClF,SAAS,EAAE;EAChC,IAAIA,SAAS,CAACmF,UAAU,EAAE,OAAOnF,SAAS,CAACmF,UAAU;EACrD,MAAMC,GAAG,GAAGX,MAAM,CAACY,IAAI,CAACrF,SAAS,CAACsF,IAAI,IAAI,CAAC,CAAC,CAAC;EAC7C,IAAIF,GAAG,CAACnC,MAAM,GAAG,CAAC,EAAE;IAClB,MAAM,IAAIsC,KAAK,CAAC,gBAAgBvF,SAAS,CAACG,IAAI,8DAA8D,CAAC;EAC/G;EACA,OAAOiF,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,eAAeA,CAACC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,EAAE;EACjD,MAAMC,KAAK,GAAG,CAAC,CAAC;EAChBH,KAAK,CAAC/D,OAAO,CAACmE,IAAI,IAAI;IACpB,MAAMpK,MAAM,GAAGkK,QAAQ,CAACE,IAAI,CAAC;IAC7B,MAAMV,UAAU,GAAGD,aAAa,CAACzJ,MAAM,CAAC;IACxCiK,OAAO,CAACG,IAAI,CAAC,CAACnE,OAAO,CAACqB,GAAG,IAAI;MAC3B,MAAM+C,QAAQ,GAAGF,KAAK,CAAC7C,GAAG,CAAC,GAAG6C,KAAK,CAAC7C,GAAG,CAAC,IAAI,EAAE;MAC9C,MAAMgD,WAAW,GAAGhH,UAAU,CAACgE,GAAG,CAAC,EAAEiD,OAAO,CAACvK,MAAM,CAAC0E,IAAI,CAAC,KAAKgF,UAAU,CAACc,QAAQ,CAAClD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;MAChG,MAAMmD,GAAG,GAAGJ,QAAQ,CAACK,SAAS,CAACC,KAAA;QAAA,IAAC,CAACC,QAAQ,CAAC,GAAAD,KAAA;QAAA,OAAKC,QAAQ,GAAGN,WAAW;MAAA,EAAC;MACtED,QAAQ,CAACQ,MAAM,CAACJ,GAAG,KAAK,CAAC,CAAC,GAAGJ,QAAQ,CAAC7C,MAAM,GAAGiD,GAAG,EAAE,CAAC,EAAE,CAACH,WAAW,EAAEF,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOpB,MAAM,CAACC,WAAW,CAACD,MAAM,CAACE,OAAO,CAACiB,KAAK,CAAC,CAAChB,GAAG,CAAC2B,KAAA;IAAA,IAAC,CAACxD,GAAG,EAAE0C,KAAK,CAAgB,GAAAc,KAAA;IAAA,OAAK,CAACxD,GAAG,EAAE0C,KAAK,CAACb,GAAG,CAAC4B,KAAA;MAAA,IAAC,CAACvB,CAAC,EAAEY,IAAI,CAAC,GAAAW,KAAA;MAAA,OAAKX,IAAI;IAAA,EAAC,CAAC;EAAA,EAAC,CAAC;AAC9H;AAEA,SAASY,cAAcA,CAAA,EAAG;EACxB,MAAM7B,GAAG,GAAG;IACVhG,UAAU,EAAE,EAAE;IACd8H,MAAM,EAAE,CAAC,CAAC;IACVC,MAAM,EAAE,CAAC,CAAC;IACVC,QAAQ,EAAE,CAAC,CAAC;IACZ;AACJ;AACA;IACIzC,OAAOA,CAAA,EAAoB;MAAA,IAAnB0C,YAAY,GAAA7D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;MACvB,MAAM8D,UAAU,GAAG,IAAIC,GAAG,CAACF,YAAY,CAACjC,GAAG,CAACoC,GAAG,IAAIA,GAAG,CAAChH,SAAS,CAAC,CAAC;MAClE4E,GAAG,CAAChG,UAAU,GAAGgG,GAAG,CAAChG,UAAU,CAACmG,MAAM,CAAEiC,GAAG,IAAK,CAACF,UAAU,CAACG,GAAG,CAACD,GAAG,CAAChH,SAAS,CAAC,CAAC,CAACkH,MAAM,CAACL,YAAY,CAAC;MACpGM,MAAM,CAAC,CAAC;IACV;EACF,CAAC;EACD,SAASA,MAAMA,CAAA,EAAG;IAChB,MAAMC,WAAW,GAAG5B,eAAe,CACjCZ,GAAG,CAAChG,UAAU,EACbyI,MAAM,IAAK5C,MAAM,CAACY,IAAI,CAACgC,MAAM,CAACpD,KAAK,IAAI,CAAC,CAAC,CAAC,EAC1CoD,MAAM,IAAKA,MAAM,CAACrH,SACrB,CAAC;IACD,MAAM0G,MAAW,GAAG,CAAC,CAAC;IACtB,MAAMC,MAAW,GAAG,CAAC,CAAC;IAEtB,SAASW,kBAAkBA,CAACvE,GAAG,EAAEwE,UAAU,EAAEC,OAAO,EAAE;MACpD,OAAO,YAAY;QACjB,KAAK,MAAM;UAACC,OAAO;UAAEC,OAAO;UAAEjM;QAAM,CAAC,IAAI+L,OAAO,EAAE;UAChD,IAAI,CAAC9I,GAAG,CAACC,SAAS,CAACb,oBAAoB,EAAEC,cAAc,CAACL,eAAe,EAAEjC,MAAM,EAAEN,MAAM,EAAEgF,IAAI,EAAE;YAACwH,IAAI,EAAE;UAAK,CAAC,CAAC,CAAC,EAAE;YAC9G;UACF;UACA,MAAMpH,KAAK,GAAG9E,MAAM,CAACwI,KAAK,GAAGlB,GAAG,CAAC;UACjC,IAAIxC,KAAK,IAAI,IAAI,EAAE;YACjB,IAAIkH,OAAO,EAAE;cACX,OAAOhM,MAAM;YACf,CAAC,MAAM,IAAI8L,UAAU,EAAE;cACrB;cACA;cACA;cACA;cACA;cACA;cACA,MAAMK,WAAW,GAAIJ,OAAO,IAAKA,OAAO,CAAC5C,GAAG,CAACoC,GAAG,IAAIA,GAAG,CAACvL,MAAM,CAACuE,SAAS,CAACG,IAAI,CAAC,CAAC0H,IAAI,CAAC,IAAI,CAAC;cACzF/K,OAAO,CAAC,kBAAkB8K,WAAW,CAACJ,OAAO,CAAC,0BAA0BzE,GAAG,OAAOtH,MAAM,CAACuE,SAAS,CAACG,IAAI,+EAA+EyH,WAAW,CAACJ,OAAO,CAACzC,MAAM,CAACiC,GAAG,IAAIA,GAAG,CAACU,OAAO,IAAI,IAAI,CAAC,CAAC,qCAAqC3E,GAAG,OAAO,CAAC;cAC7R,OAAO,IAAI;YACb,CAAC,MAAM,IAAI2E,OAAO,IAAI,IAAI,EAAE;cAC1B;cACA;cACA;cACA;cACA,OAAO,IAAI;YACb;UACF;QACF;QACA,OAAO,IAAI;MACb,CAAC;IACH;IAEAjD,MAAM,CAACE,OAAO,CAACyC,WAAW,CAAC,CACxB1F,OAAO,CAACoG,KAAA,IAAoB;MAAA,IAAnB,CAAC/E,GAAG,EAAEyE,OAAO,CAAC,GAAAM,KAAA;MACtB,IAAIC,YAAY,GAAG,IAAI;MACvB,MAAMC,aAAa,GAAG,IAAIjB,GAAG,CAAM,CAAC;MACpCS,OAAO,GAAGA,OAAO,CAAC5C,GAAG,CAACnJ,MAAM,IAAI;QAC9B,IAAIiM,OAAO,GAAG,IAAI;QAClB,IAAIO,KAAK,CAAC3L,OAAO,CAACb,MAAM,CAACN,MAAM,CAACuM,OAAO,CAAC,IAAIjM,MAAM,CAACN,MAAM,CAACuM,OAAO,CAACzE,MAAM,GAAG,CAAC,EAAE;UAC5EyE,OAAO,GAAGjM,MAAM,CAACN,MAAM,CAACuM,OAAO;UAC/BA,OAAO,CAAChG,OAAO,CAACiF,MAAM,IAAIqB,aAAa,CAACE,GAAG,CAACvB,MAAM,CAAC,CAAC;QACtD,CAAC,MAAM;UACLoB,YAAY,GAAG,KAAK;QACtB;QACA,OAAO;UACLtM,MAAM;UACNiM;QACF,CAAC;MACH,CAAC,CAAC;MACF,IAAI,CAACK,YAAY,EAAE;QACjBrB,MAAM,CAAC3D,GAAG,CAAC,GAAGuE,kBAAkB,CAACvE,GAAG,EAAE,IAAI,EAAEyE,OAAO,CAAC5C,GAAG,CAACuD,KAAA;UAAA,IAAC;YAACT,OAAO;YAAEjM;UAAM,CAAC,GAAA0M,KAAA;UAAA,OAAM;YAACV,OAAO,EAAEC,OAAO,IAAI,IAAI;YAAEA,OAAO;YAAEjM;UAAM,CAAC;QAAA,CAAC,CAAC,CAAC;MAChI;MACAuM,aAAa,CAACtG,OAAO,CAAC0G,UAAU,IAAI;QAClCzB,MAAM,CAACyB,UAAU,CAAC,GAAGzB,MAAM,CAACyB,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7CzB,MAAM,CAACyB,UAAU,CAAC,CAACrF,GAAG,CAAC,GAAGuE,kBAAkB,CAACvE,GAAG,EAAE,KAAK,EAAEyE,OAAO,CAAC5C,GAAG,CAACyD,KAAA;UAAA,IAAC;YAACX,OAAO;YAAEjM;UAAM,CAAC,GAAA4M,KAAA;UAAA,OAAM;YAACZ,OAAO,EAAEC,OAAO,EAAEzB,QAAQ,CAACmC,UAAU,CAAC;YAAEV,OAAO;YAAEjM;UAAM,CAAC;QAAA,CAAC,CAAC,CAAC;MAC3J,CAAC,CAAC;IACJ,CAAC,CAAC;IACJ,MAAMmL,QAAQ,GAAGnC,MAAM,CAAC6D,MAAM,CAAC3B,MAAM,CAAC,CAACO,MAAM,CAAC,CAACR,MAAM,CAAC,CAAC,CAAC6B,MAAM,CAAC,CAACC,KAAK,EAAE5D,GAAG,KAAKH,MAAM,CAACgE,MAAM,CAACD,KAAK,EAAE5D,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7GH,MAAM,CAACgE,MAAM,CAAC7D,GAAG,EAAE;MAAC8B,MAAM;MAAEC,MAAM;MAAEC;IAAQ,CAAC,CAAC;EAChD;EACA,OAAOhC,GAAG;AACZ;AAEA,OAAO,SAAS8D,UAAUA,CAACC,cAAc,EAAE;EACzC,MAAM;IAACjC,MAAM,EAAEkC,SAAS;IAAEjC,MAAM,EAAEkC;EAAS,CAAC,GAAGF,cAAc;EAC7D,MAAM;IAACjC,MAAM,EAAEoC,UAAU;IAAEnC,MAAM,EAAEoC;EAAU,CAAC,GAAGlK,qBAAqB;EACtE,MAAMmK,UAAU,GAAGnN,OAAO,CAACiN,UAAU,CAAC;EACtC,IAAIE,UAAU,CAAC/F,MAAM,GAAG,CAAC,EAAE;IACzB7G,YAAY,CAACwM,SAAS,EAAE,eAAe,EAAE,CAACA,SAAS,CAACK,IAAI,EAAEC,GAAG,EAAE5D,IAAI,IAAI,EAAE,EAAE4B,MAAM,CAAC8B,UAAU,CAAC,CAAC;EAChG;EACAvE,MAAM,CAACE,OAAO,CAACoE,UAAU,CAAC,CAACrH,OAAO,CAACyH,KAAA,IAAyB;IAAA,IAAxB,CAACxC,MAAM,EAAEyC,SAAS,CAAC,GAAAD,KAAA;IACrD,MAAME,UAAU,GAAGxN,OAAO,CAACuN,SAAS,CAAC;IACrC,IAAIC,UAAU,CAACpG,MAAM,GAAG,CAAC,EAAE;MACzB7G,YAAY,CACVyM,SAAS,EACT,GAAGlC,MAAM,gBAAgB,EACzB,CAACkC,SAAS,CAAClC,MAAM,CAAC,EAAEsC,IAAI,EAAEC,GAAG,EAAE5D,IAAI,IAAI,EAAE,EAAE4B,MAAM,CAACmC,UAAU,CAC9D,CAAC;IACH;EACF,CAAC,CAAC;EACF,OAAOV,cAAc;AACvB;AAQA,OAAO,SAASW,SAASA,CAAAC,KAAA,EAAmB;EAAA,IAAlB;IAACZ;EAAc,CAAC,GAAAY,KAAA;EACxCZ,cAAc,GAAGA,cAAc,IAAI;IAACjC,MAAM,EAAE,CAAC,CAAC;IAAEC,MAAM,EAAE,CAAC;EAAC,CAAC;EAC3D+B,UAAU,CAACC,cAAc,CAAC;AAC5B;AAEA,MAAMa,aAAa,GAAG,CAAC,CAAC;AAExB,SAASC,mBAAmBA,CAAA,EAAyB;EAAA,IAAxB;IAACC,OAAO,GAAGxM;EAAK,CAAC,GAAA8F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjD,MAAM2G,SAAS,GAAG1M,KAAK,CAAO,CAAC;EAC/B,MAAM2M,cAAc,GAAG3M,KAAK,CAAO,CAAC;EACpC,IAAI4M,MAAM;EACV,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,WAAW;EAEf,SAASC,YAAYA,CAACC,OAAO,EAAE;IAC7BF,WAAW,GAAGzK,UAAU,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC;IACjC,IAAImK,MAAM,IAAI,IAAI,EAAE;MAClBA,MAAM,CAACK,MAAM,CAACV,aAAa,CAAC;IAC9B;IACAK,MAAM,GAAG5M,KAAK,CAAC,CAAC;IAChB,OAAOE,SAAS,CAACgN,IAAI,CAAC,CAACF,OAAO,EAAEJ,MAAM,CAACI,OAAO,CAAC,CAAC,CAC7CG,OAAO,CAACL,WAAW,CAACpG,WAAW,CAAC,cAAc,CAAC,CAAC;EACrD;;EAEA;EACA;EACA,MAAM0G,WAAW,GAAGxL,qBAAqB;EACzC,MAAMyL,UAAU,GAAG1L,UAAU;EAE7B,SAAS2L,SAASA,CAACC,EAAE,EAAE;IACrB;IACA;IACA,OAAO,YAAkB;MACvB,IAAIH,WAAW,KAAKxL,qBAAqB,IAAIyL,UAAU,KAAK1L,UAAU,EAAE;QACtE,OAAO4L,EAAE,CAAC,GAAAxH,SAAO,CAAC;MACpB;IACF,CAAC;EACH;EAEA,SAASyH,WAAWA,CAAA,EAAG;IACrB,OAAOjN,UAAU,CAACyM,OAAO,CAACG,OAAO,CAACL,WAAW,CAACpG,WAAW,CAAC,qBAAqB,CAAC,CAAC;EACnF;EAEA,IAAIE,IAAI,GAAGmG,YAAY,CACrB7M,SAAS,CAACuN,GAAG,CAAC,CAAC/O,UAAU,EAAEgO,SAAS,CAACM,OAAO,CAAC,CAAC,CAC3CU,IAAI,CAACF,WAAW,CAAC,CACjBE,IAAI,CAACJ,SAAS,CAAC,MAAM;IACpBK,cAAc,CAACP,WAAW,EAAEC,UAAU,CAAC;EACzC,CAAC,CAAC,CAAC,CACFK,IAAI,CAAC,MAAMf,cAAc,CAACK,OAAO,CAACG,OAAO,CAACL,WAAW,CAACpG,WAAW,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAC/FgH,IAAI,CAACJ,SAAS,CAAC,MAAM;IACpB,MAAMM,SAAS,GAAGR,WAAW,CAACzL,UAAU,CAACmG,MAAM,CAACc,IAAI,IAAIrJ,IAAI,CAACqJ,IAAI,CAACxB,QAAQ,CAAC,CAAC;IAC5E,IAAIwG,SAAS,CAAC5H,MAAM,EAAE;MACpB,OAAO,IAAI9F,SAAS,CAAE2N,OAAO,IAAKtH,yBAAyB,CAACqH,SAAS,EAAEC,OAAO,EAAET,WAAW,CAAC,CAAC;IAC/F;EACF,CAAC,CAAC,CACN,CAAC;;EAED;AACF;AACA;AACA;EACE,OAAO,YAAwE;IAAA,IAA9D;MAAClG,OAAO,GAAG,KAAK;MAAE4G,cAAc,GAAG,IAAI;MAAErP,KAAK,GAAG;IAAK,CAAC,GAAAsH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC3E,IAAItH,KAAK,IAAI,CAACoO,WAAW,EAAE;MACzBA,WAAW,GAAG,IAAI;MAClBH,SAAS,CAACmB,OAAO,CAAC,CAAC;MACnB;MACA;MACA,IAAI3L,YAAY,GAAG,CAAC,EAAE;QACpByK,cAAc,CAACkB,OAAO,CAAC,CAAC;MAC1B,CAAC,MAAM;QACL1P,MAAM,CAAC4P,EAAE,CAACxP,MAAM,CAACyP,WAAW,EAAE,SAASC,iBAAiBA,CAAA,EAAG;UACzD9P,MAAM,CAAC+P,GAAG,CAAC3P,MAAM,CAACyP,WAAW,EAAEC,iBAAiB,CAAC;UACjDxB,OAAO,CAACxK,SAAS,CAAC,CAACyL,IAAI,CAACf,cAAc,CAACkB,OAAO,CAAC;QACjD,CAAC,CAAC;MACJ;IACF;IACA,IAAI3G,OAAO,IAAI2F,WAAW,EAAE;MAC1BjG,IAAI,GAAGmG,YAAY,CACjBnG,IAAI,CACDuH,KAAK,CAAC,MAAM,IAAI,CAAC,CACjBT,IAAI,CAACF,WAAW,CAAC,CAAC;MAAA,CAClBE,IAAI,CAACJ,SAAS,CAAC,MAAM;QACpB,MAAMc,SAAS,GAAGT,cAAc,CAC9BP,WAAW,EACXC,UAAU,CAACvF,MAAM,CAAEuG,EAAE,IAAKP,cAAc,IAAI,IAAI,IAAIA,cAAc,CAAC9E,QAAQ,CAACqF,EAAE,CAACtL,SAAS,CAACG,IAAI,CAAC,CAAC,EAC/F,IACF,CAAC,CAAC4E,MAAM,CAAEuG,EAAE,IAAK;UACf,OAAOA,EAAE,CAACjH,QAAQ,IAAI,IAAI;QAC5B,CAAC,CAAC;QACF,IAAIgH,SAAS,CAACpI,MAAM,EAAE;UACpB,OAAO,IAAI9F,SAAS,CAAE2N,OAAO,IAAKtH,yBAAyB,CAAC6H,SAAS,EAAEP,OAAO,EAAET,WAAW,CAAC,CAAC;QAC/F;MACF,CAAC,CAAC,CACN,CAAC;IACH;IACA,OAAOxG,IAAI;EACb,CAAC;AACH;AAEA,IAAI0H,YAAY;AAEhB,SAASxO,OAAOA,CAAA,EAAkC;EAAA,IAAjCuI,IAAI,GAAAtC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGwI,gBAAgB,CAAC,CAAC,IAAI,EAAE;EAC9C;EACA,MAAMC,cAAc,GAAGrM,UAAU,IAAIkG,IAAI,CAAClC,IAAI,CAACsI,MAAM,IAAIA,MAAM,CAACC,MAAM,KAAKvM,UAAU,CAAC;EACtF,IAAIqM,cAAc,IAAI,OAAOA,cAAc,EAAEG,IAAI,GAAG,CAAC,CAAC,EAAEC,EAAE,KAAK,QAAQ,EAAE;IACvE,MAAMC,SAAS,GAAGL,cAAc,CAACG,IAAI,CAAC,CAAC,CAAC,CAACC,EAAE,CAACE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IACjE,IAAID,SAAS,CAAC7I,MAAM,IAAI,EAAE,IAAI6I,SAAS,CAAC7I,MAAM,IAAI,GAAG,EAAE;MACrD,OAAO6I,SAAS;IAClB,CAAC,MAAM;MACLhP,OAAO,CAAC,iDAAiDsC,UAAU,2CAA2C0M,SAAS,EAAE,CAAC;IAC5H;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,gBAAgB,GAAG3O,gBAAgB,CAAC,QAAQ,EAAE,SAAS4O,eAAeA,CAACzB,EAAE,EAAE0B,gBAAqC,EAAoD;EAAA,IAAlD;IAACxC,OAAO,GAAGxM,KAAK;IAAEqH,MAAM,GAAG4H;EAAe,CAAC,GAAAnJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC7K7F,SAAS,CAACgN,IAAI,CAAC,CACb5F,MAAM,CAAC,CAAC,CAAC6G,KAAK,CAAC,MAAM,IAAI,CAAC,EAC1B1B,OAAO,CAACvK,YAAY,CAAC,CACtB,CAAC,CAACwL,IAAI,CAAC,MAAM;IACZrB,SAAS,CAAC4C,gBAAgB,CAAC;IAC3B5M,UAAU,CAAC,CAAC,CAACuI,IAAI,CAACvK,UAAU,CAAC4O,gBAAgB,CAAC3M,OAAO,CAAC,EAAE;MAAC6M,SAAS,EAAE,KAAK;MAAEC,aAAa,EAAE;IAAI,CAAC,CAAC;IAChG;IACA7B,EAAE,CAAC8B,IAAI,CAAC,IAAI,EAAEJ,gBAAgB,CAAC;EACjC,CAAC,CAAC;AACJ,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,SAASK,aAAaA,CAACC,IAAI,EAAEC,cAAc,EAAE;EAC3CA,cAAc,CAAC/K,OAAO,CAACgL,aAAa,IAAI;IACtCA,aAAa,CAACC,IAAI,CAACjL,OAAO,CAACkL,GAAG,IAC5BnI,MAAM,CAACoI,cAAc,CAACD,GAAG,EAAE,cAAc,EAAE;MACzCE,YAAY,EAAE,IAAI;MAClBC,GAAGA,CAAA,EAAG;QACJ,OAAOL,aAAa,CAACM,KAAK,CAAC/D,IAAI,EAAEC,GAAG,EAAE5D,IAAI;MAC5C;IACF,CAAC,CACH,CAAC;EACH,CAAC,CAAC;EACFkH,IAAI,CAACC,cAAc,CAAC;AACtB;;AAEA;AACA;AACA;AACA;AACA,SAASQ,qBAAqBA,CAAA,EAAG;EAC/B,OAAO,CAAC,CAAC3R,YAAY,CAAC4R,QAAQ,CAAC;IAACC,IAAI,EAAEnB;EAAgB,CAAC,CAAC,CAAC/I,MAAM;AACjE;;AAEA;AACA;AACA;AACA;AACA,SAASmK,UAAUA,CAAA,EAAG;EACpB,OAAO7I,MAAM,CAAC1F,qBAAqB,CAAC+H,QAAQ,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA,SAAS4E,gBAAgBA,CAAA,EAAgC;EACvD,OAAO3P,OAAO,CAACgD,qBAAqB,CAAC+H,QAAQ,CAAC;AAChD;;AAEA;AACA;AACA;AACA;;AAEA,SAASyG,uBAAuBA,CAACC,UAAkB,EAA8C;EAC/F,OAAO9B,gBAAgB,CAAC,CAAC,CAACzG,MAAM,CAACwI,GAAG,IAAIA,GAAG,CAAC5B,MAAM,KAAK2B,UAAU,CAAC,CAAC,CAAC,CAAC;AACvE;;AAEA;AACA;AACA;AACA;AACA,SAASE,yBAAyBA,CAAC7B,MAAM,EAAE8B,OAAO,EAAEC,cAAc,EAAE;EAClE,OAAOC,aAAa,CAAC,CAAC,CAAChD,IAAI,CAAC,MAAM;IAChC,MAAMiD,WAAW,GAAG,CAAC,CAAC;IAEtB,IAAIpR,IAAI,CAACkR,cAAc,CAAC,EAAE;MACxB7Q,OAAO,CAAC,GAAGwB,WAAW,sDAAsDqP,cAAc,CAACvN,IAAI,eAAewL,MAAM,GAAG,CAAC;MACxH;MACA,MAAMkC,aAAa,GAAGH,cAAc,CAAC/B,MAAM,CAAC;MAC5CiC,WAAW,CAACjC,MAAM,CAAC,GAAGkC,aAAa,GAAGC,cAAc,CAACD,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC,MAAM;MACL;MACA,MAAMN,GAAG,GAAGF,uBAAuB,CAAC1B,MAAM,CAAC;MAC3C9O,OAAO,CAAC,GAAGwB,WAAW,yCAAyCkD,IAAI,CAACC,SAAS,CAAC+L,GAAG,CAAC,EAAE,CAAC;MACrF,IAAI,CAAChR,OAAO,CAACgR,GAAG,CAAC,EAAE;QACjBK,WAAW,CAACL,GAAG,CAAC5B,MAAM,CAAC,GAAG8B,OAAO,KAAK,IAAI,GAAGK,cAAc,CAACP,GAAG,CAAC,GAAGA,GAAG,CAAC3B,IAAI,CAAC,CAAC,CAAC,CAACC,EAAE,CAAC,CAAC;MACrF;IACF;IACAhP,OAAO,CAAC,GAAGwB,WAAW,+BAA+BuP,WAAW,CAACjC,MAAM,CAAC,EAAE,CAAC;IAC3E,OAAOiC,WAAW,CAACjC,MAAM,CAAC;EAC5B,CAAC,CAAC;AACJ;AAEA,SAASmC,cAAcA,CAACC,OAAO,EAAe;EAAA,IAAbC,OAAO,GAAAhL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC1C,IAAIiL,YAAY,GAAG,EAAE;EACrB,QAAQD,OAAO;IACb,KAAK,CAAC;MAAE;MACNC,YAAY,GAAG,OAAOF,OAAO,KAAK,QAAQ,GAAGG,MAAM,CAACC,IAAI,CAAC5M,IAAI,CAACC,SAAS,CAACuM,OAAO,CAAC,CAAC,GAAGG,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAAC,CAAC;MAC1G;IACF;MACE;EACJ;EACA,OAAO,GAAGC,OAAO,KAAKC,YAAY,EAAE;AACtC;;AAEA;AACA;AACA;AACA,SAASG,qBAAqBA,CAAA,EAAG;EAC/B,IAAI,CAAC3R,kBAAkB,CAAC,CAAC,EAAE;IACzB;EACF;EAEA,MAAM4R,SAAyD,GAAGH,MAAM,CAACI,SAAS,CAACC,qBAAqB,GAAIL,MAAM,CAACI,SAAS,CAACC,qBAAqB,IAAI,EAAqD;EAC3M,MAAMC,WAAW,GAAG,IAAIzH,GAAG,CAACsH,SAAS,CAACzJ,GAAG,CAAC6J,CAAC,IAAI,IAAI,IAAIA,CAAC,GAAGA,CAAC,CAAC5C,EAAE,GAAG4C,CAAC,CAACC,WAAW,CAAC,CAAC;EACjF,MAAMC,sBAAsB,GAAGxT,MAAM,CAACyT,SAAS,CAAC,iCAAiC,CAAC;EAClF,IAAID,sBAAsB,EAAE;IAC1B,MAAME,aAAa,GAAGF,sBAAsB,CAACE,aAAa,IAAI,CAAC;IAC/DC,UAAU,CAAC,MAAM;MACfH,sBAAsB,CAAC,SAAS,CAAC,IAAIA,sBAAsB,CAAC,SAAS,CAAC,CAACjN,OAAO,CAACqN,KAAA,IAAqC;QAAA,IAApC;UAAEpD,MAAM;UAAE8B,OAAO;UAAEuB;QAAW,CAAC,GAAAD,KAAA;QAC7GpD,MAAM,CAACjK,OAAO,CAAEuN,GAAG,IAAK;UACtB,IAAI,CAACT,WAAW,CAACvH,GAAG,CAACgI,GAAG,CAAC,EAAE;YACzBZ,SAAS,CAACa,IAAI,CAAC;cACbrD,EAAE,EAAEoD,GAAG;cACPE,iBAAiB,EAAEA,CAAA,KAAM3B,yBAAyB,CAACyB,GAAG,EAAExB,OAAO,EAAEuB,UAAU;YAC7E,CAAC,CAAC;YACFR,WAAW,CAACtG,GAAG,CAAC+G,GAAG,CAAC;UACtB;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,EAAEJ,aAAa,CAAC;EACnB,CAAC,MAAM;IACL/R,OAAO,CAAC,GAAGuB,WAAW,0EAA0E,CAAC;EACnG;AACF;AAEA,SAASsP,aAAaA,CAACyB,UAAW,EAAE;EAClC,OAAO7D,YAAY,CAAC6D,UAAU,CAAC,CAACzE,IAAI,CAClC,MAAMyC,UAAU,CAAC,CAAC,EACjBpL,CAAC,IAAK;IACL,IAAIA,CAAC,KAAKwH,aAAa,EAAE;MACvB;MACA;MACA;MACA,OAAO6F,OAAO,CAACvE,OAAO,CAAC,CAAC,CAACH,IAAI,CAACwB,eAAe,CAAC;IAChD,CAAC,MAAM;MACLvP,QAAQ,CAAC,2BAA2B,EAAEoF,CAAC,CAAC;MACxC,OAAO7E,SAAS,CAAC+M,MAAM,CAAClI,CAAC,CAAC;IAC5B;EACF,CACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASsN,cAAcA,CAAA,EAEkC;EAAA,IAFjC;IAACvE;EAEzB,CAAC,GAAA/H,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEqB,QAAqB,GAAArB,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3B,OAAOyK,aAAa,CAAC;IAACxJ,OAAO,EAAE,IAAI;IAAE4G;EAAc,CAAC,CAAC,CAClDJ,IAAI,CAAE4E,OAAO,IAAK;IACjB,IAAIlL,QAAQ,IAAI7H,IAAI,CAAC6H,QAAQ,CAAC,EAAE;MAC9BA,QAAQ,CAAC,CAAC;IACZ;IACA,OAAOkL,OAAO;EAChB,CAAC,CAAC;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASpD,eAAeA,CAAA,EAA6B;EACnD,OAAOwB,aAAa,CAAC,CAAC;AACxB;AAEA,OAAO,SAAS/M,cAAcA,CAAA,EAAG;EAC/B;EACA,IAAI4O,IAAI,GAAGC,MAAM,CAACjS,UAAU,CAACgS,IAAI,CAAC;EAClC,MAAME,KAAK,GAAG,EAAE;EAChB,OAAOF,IAAI,GAAG,CAAC,EAAE;IACfE,KAAK,CAACR,IAAI,CAACS,MAAM,CAACC,YAAY,CAACJ,IAAI,GAAG,GAAG,CAAC,CAAC;IAC3CA,IAAI,GAAGA,IAAI,KAAK,CAAC;EACnB;EACA,OAAOrB,IAAI,CAACuB,KAAK,CAAC7H,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B;AAEA,SAASgI,cAAcA,CAAC7P,SAAS,EAAE;EACjC,MAAM8P,aAAa,GAAGhN,cAAc,CAAC9C,SAAS,EAAE,KAAK,CAAC;EACtD,OAAO,CAAC8P,aAAa,IAAIA,aAAa,KAAKlP,cAAc,CAAC,CAAC;AAC7D;AAEA,SAASmP,mBAAmBA,CAAC/P,SAA6C,EAAEgQ,YAAY,EAAE;EACxF,MAAMC,WAAW,GAAGzS,UAAU,CAAC0S,cAAc,CAAC,CAAC;;EAE/C;EACA;EACA;EACA,IAAIlQ,SAAS,CAAC7E,MAAM,CAACiF,OAAO,EAAE;IAC5B,IAAI+P,QAAQ,GAAGrN,cAAc,CAAC9C,SAAS,CAAC;IACxC,IAAIoQ,QAAQ;IAEZ,IAAIC,aAAa,GAAG,KAAK;IACzB,IAAI,OAAOrQ,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACS,gBAAgB,KAAK,QAAQ,EAAE;MACjE,MAAMyP,UAAU,GAAG,IAAIxP,IAAI,CAACgC,cAAc,CAAC9C,SAAS,EAAE,MAAM,CAAC,CAAC;MAC9DqQ,aAAa,GAAGC,UAAU,IAAKxP,IAAI,CAACO,GAAG,CAAC,CAAC,GAAGiP,UAAU,CAAC1N,OAAO,CAAC,CAAC,GAAG5C,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACS,gBAAgB,GAAG,IAAK;IACtH;IAEA,IAAI,CAACsP,QAAQ,IAAIE,aAAa,IAAIL,YAAY,IAAIH,cAAc,CAAC7P,SAAS,CAAC,EAAE;MAC3E,MAAMuQ,cAAc,GAAG9L,MAAM,CAACgE,MAAM,CAAC;QAAEhH,mBAAmB,EAAEzB,SAAS,CAACyB;MAAoB,CAAC,EAAEzB,SAAS,CAAC7E,MAAM,CAAC;;MAE9G;MACAiV,QAAQ,GAAGpQ,SAAS,CAACA,SAAS,CAACwQ,KAAK,CAACD,cAAc,EAAEN,WAAW,EAAEE,QAAQ,CAAC;IAC7E,CAAC,MAAM,IAAI,OAAOnQ,SAAS,CAACA,SAAS,CAACyQ,QAAQ,KAAK,UAAU,EAAE;MAC7D;MACAL,QAAQ,GAAGpQ,SAAS,CAACA,SAAS,CAACyQ,QAAQ,CAACzQ,SAAS,CAAC7E,MAAM,EAAE8U,WAAW,EAAEE,QAAQ,CAAC;IAClF;IAEA,IAAIxT,aAAa,CAACyT,QAAQ,CAAC,EAAE;MAC3B,IAAIA,QAAQ,CAACvE,EAAE,EAAE;QACf;QACAzK,cAAc,CAACpB,SAAS,EAAEoQ,QAAQ,CAACvE,EAAE,CAAC;QACtCsE,QAAQ,GAAGC,QAAQ,CAACvE,EAAE;MACxB;MAEA,IAAI,OAAOuE,QAAQ,CAAC/L,QAAQ,KAAK,UAAU,EAAE;QAC3C;QACArE,SAAS,CAACqE,QAAQ,GAAG+L,QAAQ,CAAC/L,QAAe;MAC/C;IACF;IAEA,IAAI8L,QAAQ,EAAE;MACZ;MACAnQ,SAAS,CAACiE,KAAK,GAAGjE,SAAS,CAACA,SAAS,CAACkE,MAAM,CAACiM,QAAQ,EAAEnQ,SAAS,CAAC7E,MAAM,CAAC;IAC1E;EACF,CAAC,MAAM,IAAI6E,SAAS,CAAC7E,MAAM,CAACoF,KAAK,EAAE;IACjC;IACAP,SAAS,CAACiE,KAAK,GAAGjE,SAAS,CAAC7E,MAAM,CAACoF,KAAK;EAC1C,CAAC,MAAM;IACL,MAAM6P,QAAQ,GAAGpQ,SAAS,CAACA,SAAS,CAACwQ,KAAK,CAACxQ,SAAS,CAAC7E,MAAM,EAAE8U,WAAW,CAAC;IACzE,IAAItT,aAAa,CAACyT,QAAQ,CAAC,EAAE;MAC3B,IAAI,OAAOA,QAAQ,CAAC/L,QAAQ,KAAK,UAAU,EAAE;QAAErE,SAAS,CAACqE,QAAQ,GAAG+L,QAAQ,CAAC/L,QAAQ;MAAE;MACvF,IAAI+L,QAAQ,CAACvE,EAAE,EAAE;QAAE7L,SAAS,CAACiE,KAAK,GAAGjE,SAAS,CAACA,SAAS,CAACkE,MAAM,CAACkM,QAAQ,CAACvE,EAAE,EAAE7L,SAAS,CAAC7E,MAAM,CAAC;MAAE;IAClG;EACF;AACF;AAEA,SAASiJ,UAAUA,CAACV,YAAY,EAAE;EAChC,MAAM4B,IAAI,GAAGzJ,OAAO,CAAC6H,YAAY,CAACkD,QAAQ,CAAC;EAC3C,IAAItB,IAAI,CAACrC,MAAM,IAAI7D,UAAU,EAAE;IAC7B,MAAMsR,IAAI,GAAG3T,OAAO,CAACuI,IAAI,CAAC;IAC1B,IAAIoL,IAAI,EAAE;MACR,IAAIjU,kBAAkB,CAAC,CAAC,EAAE;QACxByR,MAAM,CAACI,SAAS,CAACqC,MAAM,CAAC,CAAC,CAACC,sBAAsB,CAACF,IAAI,CAAC;MACxD,CAAC,MAAM;QACJxC,MAAM,CAASI,SAAS,GAAGJ,MAAM,CAACI,SAAS,IAAI,CAAC,CAAC;QACjDJ,MAAM,CAACI,SAAS,CAASuC,GAAG,GAAG3C,MAAM,CAACI,SAAS,CAACuC,GAAG,IAAI,EAAE;QAC1D3C,MAAM,CAACI,SAAS,CAACuC,GAAG,CAAC3B,IAAI,CAAC,YAAW;UACnChB,MAAM,CAACI,SAAS,CAACqC,MAAM,CAAC,CAAC,CAACC,sBAAsB,CAACF,IAAI,CAAC;QACxD,CAAC,CAAC;MACJ;IACF;EACF;AACF;AAEA,SAAS9F,cAAcA,CAAClH,YAAY,EAAE9E,UAAU,EAAwB;EAAA,IAAtBoR,YAAY,GAAAhN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EACpE,OAAO1D,UAAU,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC,CAACoR,WAAW,CAAC,qBAAqB,EAAE,YAAY;IACxE,IAAI,CAAClS,UAAU,CAACqE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACnCrE,UAAU,CAAC8C,OAAO,CAAC2F,MAAM,IAAIhF,2BAA2B,CAACgF,MAAM,CAAC,CAAC;;IAEjE;AACJ;AACA;AACA;AACA;AACA;IACIzI,UAAU,GAAGA,UAAU,CAACmG,MAAM,CAAEsC,MAAM,IAAK;MACzC,OAAO,CAAC,CAACA,MAAM,CAAClM,MAAM,CAACiF,OAAO,IAAI2Q,aAAa,CAAC1J,MAAM,CAAC,KACrD3I,GAAG,CAACC,SAAS,CAACb,oBAAoB,EAAEC,cAAc,CAACL,eAAe,EAAE2J,MAAM,CAAClM,MAAM,CAACgF,IAAI,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,IAAI,CAACvB,UAAU,CAACqE,MAAM,EAAE;MACtBnG,OAAO,CAAC,GAAGuB,WAAW,4BAA4B,CAAC;MACnD,OAAO,EAAE;IACX;IAEA,MAAMyL,WAAW,GAAGlL,UAAU,CAAC2J,MAAM,CAAC,CAACyI,KAAK,EAAEhR,SAAS,KAAK;MAC1D,OAAOR,gBAAgB,CAACQ,SAAS,CAACA,SAAS,CAACG,IAAI,CAAC,CAAC2Q,WAAW,CAAC,MAAM,EAAE,MAAM;QAC1E,IAAI;UACFf,mBAAmB,CAAC/P,SAAS,EAAEgQ,YAAY,CAAC;UAC5CgB,KAAK,CAAC9B,IAAI,CAAClP,SAAS,CAAC;QACvB,CAAC,CAAC,OAAOgC,CAAC,EAAE;UACVpF,QAAQ,CAAC,2BAA2BoD,SAAS,CAACA,SAAS,CAACG,IAAI,IAAI,EAAE6B,CAAC,CAAC;QACtE;QACA,OAAOgP,KAAK;MACd,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC;IACNtN,YAAY,CAACS,OAAO,CAAC2F,WAAW,CAAC;IACjC1F,UAAU,CAACV,YAAY,CAAC;IACxB,OAAOoG,WAAW;EACpB,CAAC,CAAC;AACJ;AAEA,SAASmH,yBAAyBA,CAAC9V,MAAM,EAAE;EACzC,OAAOA,MAAM,EAAEiF,OAAO,EAAE8Q,IAAI,EAAE7N,IAAI,CAAC,CAAC,CAAC8N,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;AAC7D;AAEA,SAASC,oBAAoBA,CAACjW,MAAM,EAAE;EACpC,MAAMkW,YAAY,GAAGJ,yBAAyB,CAAC9V,MAAM,CAAC;EAEtD,OAAOkW,YAAY,CAACC,KAAK,CAAC3P,WAAW,IAAI4P,iBAAiB,CAACtK,GAAG,CAACtF,WAAW,CAAC,CAAC;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6P,wBAAwBA,CAAC1S,cAAc,EAAE;EACvD,SAAS2S,GAAGA,CAACC,GAAG,EAAW;IAAA,SAAAC,IAAA,GAAA3O,SAAA,CAAAC,MAAA,EAAN2O,IAAI,OAAA3J,KAAA,CAAA0J,IAAA,OAAAA,IAAA,WAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAJD,IAAI,CAAAC,IAAA,QAAA7O,SAAA,CAAA6O,IAAA;IAAA;IACvB/U,OAAO,CAAC,mCAAmC4U,GAAG,EAAE,EAAE,GAAGE,IAAI,CAAC;EAC5D;EACA,IAAI,CAAC3J,KAAK,CAAC3L,OAAO,CAACwC,cAAc,CAAC,EAAE;IAClC,IAAIA,cAAc,IAAI,IAAI,EAAE;MAC1B2S,GAAG,CAAC,kBAAkB,EAAE3S,cAAc,CAAC;IACzC;IACA,OAAO,EAAE;EACX;EACA,OAAOA,cAAc,CAACiG,MAAM,CAAC5J,MAAM,IAAI;IACrC,IAAI,CAACA,MAAM,EAAEgF,IAAI,EAAE;MACjB,OAAOsR,GAAG,CAAC,qBAAqB,EAAEtW,MAAM,CAAC;IAC3C,CAAC,MAAM,IAAIA,MAAM,CAACiF,OAAO,EAAE;MACzB,IAAI,CAACjF,MAAM,CAACiF,OAAO,CAACD,IAAI,IAAI,CAAChF,MAAM,CAACiF,OAAO,CAAC8Q,IAAI,EAAE;QAChD,OAAOO,GAAG,CAAC,gDAAgD,EAAEtW,MAAM,CAAC;MACtE,CAAC,MAAM,IAAI,CAACiW,oBAAoB,CAACjW,MAAM,CAAC,EAAE;QACxC,OAAOsW,GAAG,CAAC,wBAAwB,EAAEtW,MAAM,CAAC;MAC9C;MACA,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAACuG,OAAO,CAACoQ,KAAK,IAAI;QAC/C,IAAIvR,KAAK,GAAGpF,MAAM,CAACiF,OAAO,CAAC0R,KAAK,CAAC;QACjC,IAAIvR,KAAK,IAAI,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;UAC9CA,KAAK,GAAGkP,MAAM,CAAClP,KAAK,CAAC;UACrB,IAAIwR,KAAK,CAACxR,KAAK,CAAC,EAAE;YAChBkR,GAAG,CAAC,WAAWK,KAAK,uCAAuC,EAAE3W,MAAM,CAAC;YACpE,OAAOA,MAAM,CAACiF,OAAO,CAAC0R,KAAK,CAAC;UAC9B,CAAC,MAAM;YACL3W,MAAM,CAACiF,OAAO,CAAC0R,KAAK,CAAC,GAAGvR,KAAK;UAC/B;QACF;MACF,CAAC,CAAC;IACJ;IACA,OAAO,IAAI;EACb,CAAC,CAAC;AACJ;AAEA,MAAMgR,iBAAiB,GAAG,IAAIxK,GAAG,CAAC,CAACxI,aAAa,EAAED,MAAM,CAAC,CAAC;AAE1D,SAAS0T,kBAAkBA,CAAChS,SAAS,EAAE;EACrC,IAAI,CAACA,SAAS,CAACC,UAAU,CAACgS,qBAAqB,CAAC,CAAC,EAAE;IACjD,OAAO,KAAK;EACd;EAEA,IAAIxT,WAAW,CAACkE,uBAAuB,CAACnE,wBAAwB,CAAC,EAAE;IACjE3B,OAAO,CAAC,GAAGwB,WAAW,iDAAiD,CAAC;IACxE,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb;AAEA,SAAS6T,aAAaA,CAAClS,SAAS,EAAE;EAChC,IAAI,CAACA,SAAS,CAACC,UAAU,CAACkS,iBAAiB,CAAC,CAAC,EAAE;IAC7C,OAAO,KAAK;EACd;EAEA,IAAI1T,WAAW,CAAC+D,SAAS,CAAChE,wBAAwB,CAAC,EAAE;IACnD3B,OAAO,CAAC,GAAGwB,WAAW,2CAA2C,CAAC;IAClE,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb;AAEA,MAAM+T,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAExC,SAAS/P,2BAA2BA,CAACrC,SAA6C,EAAE;EAClF,IAAIA,SAAS,CAACyB,mBAAmB,EAAE;IACjC;EACF;EAEA,MAAM4P,YAAY,GAAGJ,yBAAyB,CAACjR,SAAS,CAAC7E,MAAM,CAAC;EAEhE6E,SAAS,CAACyB,mBAAmB,GAAG4P,YAAY,CAACtM,MAAM,CAACmM,IAAI,IAAI;IAC1D,QAAQA,IAAI;MACV,KAAK3S,aAAa;QAChB0D,cAAc,CAACP,OAAO,CAACpB,MAAM,IAAI;UAC/BxE,kBAAkB,CAAC,QAAQ,EAAE;YAC3BoV,IAAI,EAAE,KAAK;YACXmB,UAAU,EAAErS,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACD,IAAI,GAAGG,MAAM;YAClDgS,QAAQ,EAAEF;UACZ,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,OAAOJ,kBAAkB,CAAChS,SAAS,CAAC;MACtC,KAAK1B,MAAM;QACTuD,eAAe,CAACH,OAAO,CAACpB,MAAM,IAAI;UAChCxE,kBAAkB,CAAC,QAAQ,EAAE;YAC3BoV,IAAI,EAAE,QAAQ;YACdmB,UAAU,EAAErS,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACD,IAAI,GAAGG,MAAM;YAClDgS,QAAQ,EAAEF,gBAAgB;YAC1BG,aAAa,EAAE,CAACvS,SAAS,CAAC7E,MAAM,CAACiF,OAAO,CAACkB,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;YACrEkR,aAAa,EAAE;UACjB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,OAAON,aAAa,CAAClS,SAAS,CAAC;IACnC;IAEA,OAAO,KAAK;EACd,CAAC,CAAC;AACJ;AAEA,SAAS+Q,aAAaA,CAAC/Q,SAAS,EAAE;EAChC,OAAO,CAAC,CAACA,SAAS,CAACyB,mBAAmB,CAACwB,MAAM;AAC/C;AAEA,SAASnD,eAAeA,CAAClB,UAAU,EAAE;EACnChD,UAAU,CAAC6W,KAAK,CAAC,CAAC;EAClBhO,MAAM,CAACE,OAAO,CACZa,eAAe,CACb5G,UAAU,EACToI,GAAG,IAAKvC,MAAM,CAACY,IAAI,CAAC2B,GAAG,CAAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,EACnC0B,GAAG,IAAKA,GACX,CACF,CAAC,CAACtF,OAAO,CAACgR,MAAA;IAAA,IAAC,CAAC3P,GAAG,EAAEnE,UAAU,CAAC,GAAA8T,MAAA;IAAA,OAAK9W,UAAU,CAAC+W,GAAG,CAAC5P,GAAG,EAAEnE,UAAU,CAAC,CAAC,CAAC,CAAC0G,IAAI,CAACvC,GAAG,CAAC,CAAC;EAAA,EAAC;AAChF;AAEA,OAAO,SAAS6P,2BAA2BA,CAACC,OAAO,EAAEC,OAAO,EAA6D;EAAA,IAA3DC,cAAc,GAAA/P,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGpE,UAAU;EAAA,IAAEoU,QAAQ,GAAAhQ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGhE,iBAAiB;EACrH,MAAM;IAACiU,WAAW;IAAEC;EAAY,CAAC,GAAGL,OAAO;EAC3C,OAAOG,QAAQ,CACZzK,MAAM,CAAC,CAAC4K,GAAG,EAAEnT,SAAS,KAAK;IAC1B,MAAM;MAACG,IAAI;MAAEiT;IAAS,CAAC,GAAGpT,SAAS;IACnC,MAAMqT,WAAW,GAAIC,KAAK,IAAK,CAACnT,IAAI,EAAEiT,SAAS,CAAC,CAACG,IAAI,CAAChT,KAAK,IAAIA,KAAK,EAAEiT,WAAW,CAAC,CAAC,KAAKF,KAAK,CAACE,WAAW,CAAC,CAAC,CAAC;IAC5G,MAAMC,eAAe,GAAGX,OAAO,CAAC1P,IAAI,CAAEsQ,UAAU,IAAKL,WAAW,CAACK,UAAU,CAACvT,IAAI,CAAC,CAAC;IAElF,IAAI,CAACsT,eAAe,EAAE;MACpB,IAAI,CAACP,YAAY,EAAE,OAAOC,GAAG;MAC7B,MAAMQ,iBAAiB,GAAGZ,cAAc,CAAC3P,IAAI,CAAC2P,cAAc,IAAIM,WAAW,CAACN,cAAc,CAAC5X,MAAM,CAACgF,IAAI,CAAC,CAAC;MACxG,OAAOwT,iBAAiB,GAAG,CAAC,GAAGR,GAAG,EAAEQ,iBAAiB,CAAC,GAAGR,GAAG;IAC9D;IAEA,MAAMS,qBAAyD,GAAG;MAChE5T,SAAS;MACT7E,MAAM,EAAE;QACN,GAAGsY,eAAe;QAClBtT,IAAI,EAAEH,SAAS,CAACG;MAClB,CAAC;MACDkE,QAAQ,EAAEnB,SAAS;MACnBe,KAAK,EAAEf,SAAS;MAChBjD,UAAU,EAAEjE,iBAAiB,CAAC;QAC5B6X,UAAU,EAAEnW,eAAe;QAC3B+B,UAAU,EAAEgU,eAAe,CAACtT,IAAI;QAChC;QACA;QACA2T,aAAa,EAAE;MACjB,CAAC;IACH,CAAC;IAED,IAAIb,WAAW,EAAE;MACf,MAAMU,iBAAiB,GAAGZ,cAAc,CAAC3P,IAAI,CAAC2P,cAAc,IAAIM,WAAW,CAACN,cAAc,CAAC5X,MAAM,CAACgF,IAAI,CAAC,CAAC;MACxGyT,qBAAqB,CAACG,UAAU,GAAG,CAACJ,iBAAiB,IAAI,CAACxX,SAAS,CAACyX,qBAAqB,CAACzY,MAAM,EAAEwY,iBAAiB,CAACxY,MAAM,CAAC;IAC7H;IAEA,OAAO,CAAC,GAAGgY,GAAG,EAAES,qBAAqB,CAAC;EACxC,CAAC,EAAE,EAAE,CAAC;AACV;AAYA;AACA;AACA;AACA,SAASI,gBAAgBA,CAAA,EAAe;EAAA,IAAdnB,OAAO,GAAA7P,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACpClD,eAAe,CAACd,iBAAiB,CAAC;EAClC,MAAM8T,OAAO,GAAGtB,wBAAwB,CAAC1S,cAAc,CAAC;EACxD,IAAI,CAACgU,OAAO,CAAC7P,MAAM,EAAE;IACnB;EACF;EAEA,MAAMgR,iBAAiB,GAAGrB,2BAA2B,CAACC,OAAO,EAAEC,OAAO,CAAC;EACvElU,UAAU,CAAC0H,MAAM,CAAC,CAAC,EAAE1H,UAAU,CAACqE,MAAM,CAAC;EACvCrE,UAAU,CAACsQ,IAAI,CAAC,GAAG+E,iBAAiB,CAAC;EAErC,IAAIrV,UAAU,CAACqE,MAAM,EAAE;IACrB,IAAI,CAACgK,qBAAqB,CAAC,CAAC,EAAE;MAC5B3R,YAAY,CAAC4Y,MAAM,CAAClI,gBAAgB,EAAE,GAAG,CAAC,EAAC;MAC3CzQ,cAAc,CAAC4Y,uBAAuB,CAACD,MAAM,CAACE,mBAAmB,CAAC;MAClEpX,WAAW,CAACqX,KAAK,CAAE7H,IAAI,IAAKA,IAAI,CAACzP,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C;IACAF,OAAO,CAAC,GAAGwB,WAAW,kCAAkCO,UAAU,CAACqE,MAAM,eAAe,EAAErE,UAAU,CAACgG,GAAG,CAAC0P,CAAC,IAAIA,CAAC,CAACtU,SAAS,CAACG,IAAI,CAAC,CAAC;EAClI;AACF;;AAEA;AACA;AACA;AACA,SAASoU,gBAAgBA,CAACC,gBAAgB,EAAE5V,UAAU,EAAE;EACtD,IAAI4V,gBAAgB,EAAE;IACpB,MAAMC,MAAM,GAAG,CAAC,CAAC;IACjB,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAC/V,UAAU,CAACgG,GAAG,CAACgQ,CAAC,IAAIA,CAAC,CAACxB,SAAS,GAAG,CAACwB,CAAC,CAACxB,SAAS,EAAEwB,CAAC,CAACzU,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1FsE,MAAM,CAACY,IAAI,CAACmP,gBAAgB,CAAC,CAAC9S,OAAO,CAACqB,GAAG,IAAI;MAC3C,MAAMsD,QAAQ,GAAG/J,OAAO,CAACkY,gBAAgB,CAACzR,GAAG,CAAC,CAAC,GAAG,CAAC,GAAGyR,gBAAgB,CAACzR,GAAG,CAAC,CAAC,CAAC8R,OAAO,CAAC,CAAC,GAAG,EAAE;MAC3FJ,MAAM,CAAC1R,GAAG,CAAC,GAAGsD,QAAQ,CAACzB,GAAG,CAACgQ,CAAC,IAAIF,WAAW,CAACzN,GAAG,CAAC2N,CAAC,CAAC,GAAGF,WAAW,CAAC3H,GAAG,CAAC6H,CAAC,CAAC,GAAGA,CAAC,CAAC;IAC9E,CAAC,CAAC;IACF7V,UAAU,GAAG0V,MAAM;EACrB,CAAC,MAAM;IACL1V,UAAU,GAAG,CAAC,CAAC;EACjB;EACAF,qBAAqB,CAACsF,OAAO,CAAC,CAAC;EAC/BrE,eAAe,CAAClB,UAAU,CAAC;AAC7B;AAEA,OAAO,SAASwV,mBAAmBA,CAAC5H,IAAI,EAAW;EAAA,SAAAsI,KAAA,GAAA9R,SAAA,CAAAC,MAAA,EAAN2O,IAAI,OAAA3J,KAAA,CAAA6M,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJnD,IAAI,CAAAmD,KAAA,QAAA/R,SAAA,CAAA+R,KAAA;EAAA;EAC/ClY,OAAO,CAAC,oEAAoE,CAAC;EAC7E+B,UAAU,CAAC8C,OAAO,CAAC1B,SAAS,IAAI;IAC9B,IAAI,OAAOA,SAAS,CAACA,SAAS,CAACgV,qBAAqB,KAAK,UAAU,EAAE;MACnE,IAAI;QACFhV,SAAS,CAACA,SAAS,CAACgV,qBAAqB,CAAChV,SAAS,CAAC7E,MAAM,EAAE6E,SAAS,CAACiE,KAAK,EAAE,GAAG2N,IAAI,CAAC;MACvF,CAAC,CAAC,OAAO5P,CAAC,EAAE;QACVpF,QAAQ,CAAC,wDAAwDoD,SAAS,CAACA,SAAS,CAACG,IAAI,EAAE,EAAE6B,CAAC,CAAC;MACjG;IACF;IACAI,iBAAiB,CAACpC,SAAS,CAAC;EAC9B,CAAC,CAAC;EACFwM,IAAI,CAACyI,KAAK,CAAC,IAAI,EAAErD,IAAI,CAAC;AACxB;;AAEA;AACA;AACA;AACA,OAAO,SAASsD,cAAcA,CAAClV,SAAyC,EAAE;EACxEA,SAAS,CAACzC,cAAc,GAAGA,cAAc;EACzC,IAAI,CAAC,CAACyB,iBAAiB,IAAI,EAAE,EAAEoE,IAAI,CAAC+R,CAAC,IAAIA,CAAC,CAAChV,IAAI,KAAKH,SAAS,CAACG,IAAI,CAAC,EAAE;IACnEnB,iBAAiB,CAACkQ,IAAI,CAAClP,SAAS,CAAC;IACjCvC,WAAW,CAAC2X,QAAQ,CAAC1X,eAAe,EAAEsC,SAAS,CAACG,IAAI,EAAEH,SAAS,CAACqV,KAAK,CAAC;IACtErB,gBAAgB,CAAC,CAAC;IAClB;IACA;IACAzI,YAAY,CAAC;MAACpH,OAAO,EAAE,IAAI;MAAE4G,cAAc,EAAE,CAAC/K,SAAS,CAACG,IAAI;IAAC,CAAC,CAAC;EACjE;AACF;AAEA,SAASmV,gBAAgBA,CAAwB9K,EAAK,EAAY;EAChE;EACA;EACA,OAAO,YAAkB;IAAA,SAAA+K,KAAA,GAAAvS,SAAA,CAAAC,MAAA,EAAN2O,IAAI,OAAA3J,KAAA,CAAAsN,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJ5D,IAAI,CAAA4D,KAAA,IAAAxS,SAAA,CAAAwS,KAAA;IAAA;IACrB,OAAOnG,OAAO,CAACvE,OAAO,CAACN,EAAE,CAACyK,KAAK,CAAC,IAAI,EAAErD,IAAI,CAAC,CAAC;EAC9C,CAAC;AACH;AAcA,MAAM6D,sBAAsB,GAAGA,CAACC,aAAa,EAAEC,kBAAkB,KAAK;EACpE,OAAQC,MAAM,IAAK;IACjB,IAAIA,MAAM,CAAC1X,6BAA6B,CAAC,KAAKR,eAAe,IAAI,CAACkY,MAAM,CAACxX,4BAA4B,CAAC,EAAE;IAExG,MAAMiV,WAAW,GAAIC,KAAK,IAAKsC,MAAM,CAAC3X,6BAA6B,CAAC,EAAEuV,WAAW,CAAC,CAAC,KAAKF,KAAK,EAAEE,WAAW,CAAC,CAAC;IAC5G,MAAMC,eAAe,GAAGiC,aAAa,CAACtS,IAAI,CAAEsQ,UAAU,IAAKL,WAAW,CAACK,UAAU,CAACvT,IAAI,CAAC,CAAC;IAExF,IAAI,CAACsT,eAAe,IAAI,CAACA,eAAe,CAACrT,OAAO,EAAE;IAElD,IAAIwV,MAAM,CAACzX,2BAA2B,CAAC,KAAKsV,eAAe,CAACrT,OAAO,CAAC8Q,IAAI,EAAE;MACxE,MAAM2E,MAAM,GAAG,GAAGpC,eAAe,CAACtT,IAAI,8BAA8ByV,MAAM,CAACzX,2BAA2B,CAAC,+BAA+BsV,eAAe,CAACrT,OAAO,CAAC8Q,IAAI,GAAG;MACrK,IAAIyE,kBAAkB,EAAE;QACtB,OAAO;UAACG,KAAK,EAAE,KAAK;UAAED;QAAM,CAAC;MAC/B,CAAC,MAAM;QACL/Y,OAAO,CAAC+Y,MAAM,CAAC;MACjB;IACF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASlO,IAAIA,CAACxM,MAAM,EAA0B;EAAA,IAAxB;IAACuO,OAAO,GAAGxM;EAAK,CAAC,GAAA8F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjD5D,UAAU,GAAG8D,SAAS;EACtBtE,UAAU,GAAG,EAAE;EACfE,cAAc,GAAG,EAAE;EACnBD,qBAAqB,GAAG4H,cAAc,CAAC,CAAC;EACxC8E,YAAY,GAAG9B,mBAAmB,CAAC;IAACC;EAAO,CAAC,CAAC;EAC7C,IAAIrK,cAAc,IAAI,IAAI,EAAE;IAC1BA,cAAc,CAAC,CAAC;EAClB;EACAL,iBAAiB,GAAG,EAAE;EACtB,IAAI+W,gCAA4C;;EAEhD;EACA1W,cAAc,GAAGlE,MAAM,CAACyT,SAAS,CAAC,UAAU,EAAEoH,IAAI,IAAI;IACpD;IACA,MAAMC,QAAwB,GAAGD,IAAI,CAACC,QAAQ;IAC9C,IAAIA,QAAQ,EAAE;MACZ7W,UAAU,GAAG6W,QAAQ,CAACvF,IAAI;MAC1B,IAAIuF,QAAQ,CAAC1G,OAAO,EAAE;QACpB,MAAM;UAAC0D,WAAW,GAAG,KAAK;UAAEC,YAAY,GAAG,IAAI;UAAEyC;QAAkB,CAAC,GAAGM,QAAQ;QAC/EnX,cAAc,GAAGmX,QAAQ,CAAC1G,OAAO;QACjCrQ,SAAS,GAAGxC,QAAQ,CAACuZ,QAAQ,CAAC/W,SAAS,CAAC,GAAG+W,QAAQ,CAAC/W,SAAS,GAAGlB,uBAAuB,CAACkB,SAAS;QACjGC,YAAY,GAAGzC,QAAQ,CAACuZ,QAAQ,CAAC9W,YAAY,CAAC,GAAG8W,QAAQ,CAAC9W,YAAY,GAAGnB,uBAAuB,CAACmB,YAAY;QAC7G6U,gBAAgB,CAAC;UAACd,YAAY;UAAED;QAAW,CAAC,CAAC;QAC7C8C,gCAAgC,GAAG,CAAC;QACpCA,gCAAgC,GAAGnY,uBAAuB,CAACC,sBAAsB,EAAE,wBAAwB,EAAE4X,sBAAsB,CAAC7W,UAAU,CAACgG,GAAG,CAACsR,MAAA;UAAA,IAAC;YAAC/a;UAAM,CAAC,GAAA+a,MAAA;UAAA,OAAK/a,MAAM;QAAA,EAAC,EAAEwa,kBAAkB,CAAC,CAAC;QAC9LpB,gBAAgB,CAAC0B,QAAQ,CAAClX,UAAU,EAAEC,iBAAiB,CAAC;QACxDuM,YAAY,CAAC;UAAC7P,KAAK,EAAE;QAAI,CAAC,CAAC;QAC3B,MAAMya,mBAAmB,GAAGvX,UAAU,CAACmG,MAAM,CAACc,IAAI,IAAIA,IAAI,CAACkO,UAAU,CAAC;QACtE,IAAIoC,mBAAmB,CAAClT,MAAM,EAAE;UAC9BqM,cAAc,CAAC;YAACvE,cAAc,EAAEoL,mBAAmB,CAACvR,GAAG,CAACiB,IAAI,IAAIA,IAAI,CAAC7F,SAAS,CAACG,IAAI;UAAC,CAAC,CAAC;QACxF;MACF;IACF;EACF,CAAC,CAAC;EACF5E,cAAc,CAAC6a,eAAe,CAAC/B,KAAK,CAAC9H,aAAa,CAAC;;EAEnD;EACAlR,YAAY,CAAC,YAAY,EAAE+R,UAAU,CAAC;EACtC/R,YAAY,CAAC,kBAAkB,EAAEmQ,gBAAgB,CAAC;EAClDnQ,YAAY,CAAC,2BAA2B,EAAEia,gBAAgB,CAAC9H,yBAAyB,CAAC,CAAC;EACtFnS,YAAY,CAAC,uBAAuB,EAAE+S,qBAAqB,CAAC;EAC5D/S,YAAY,CAAC,gBAAgB,EAAEia,gBAAgB,CAAChG,cAAc,CAAC,CAAC;EAChEjU,YAAY,CAAC,iBAAiB,EAAEia,gBAAgB,CAACnJ,eAAe,CAAC,CAAC;EAClE9Q,YAAY,CAAC,yBAAyB,EAAEgS,uBAAuB,CAAC;AAClE;AAEA,OAAO,SAASgJ,YAAYA,CAAA,EAAG;EAC7Blb,MAAM,CAACmb,SAAS,CAAC;IAACL,QAAQ,EAAE,CAAC;EAAC,CAAC,CAAC;EAChCtO,IAAI,CAACxM,MAAM,CAAC;AACd;;AAEA;AACAwM,IAAI,CAACxM,MAAM,CAAC;AAEZM,MAAM,CAAC,QAAQ,EAAEyZ,cAAc,EAAE;EAAEqB,kBAAkB,EAAE;AAAK,CAAC,CAAC;AA7uC9Drb,IAAI,CAAC,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","names":[],"sourceRoot":"../../../..","sources":["modules/userId/spec.ts"],"sourcesContent":["import type {BidderCode, StorageDisclosure} from \"../../src/types/common\";\nimport {STORAGE_TYPE_COOKIES, STORAGE_TYPE_LOCALSTORAGE, type StorageType} from \"../../src/storageManager.ts\";\nimport type {AllConsentData} from \"../../src/consentHandler.ts\";\nimport type {Ext} from '../../src/types/ortb/common';\nimport type {ORTBRequest} from \"../../src/types/ortb/request\";\n\nexport type UserIdProvider = string;\n\nexport interface UserId {\n
|
|
1
|
+
{"version":3,"file":"spec.js","names":[],"sourceRoot":"../../../..","sources":["modules/userId/spec.ts"],"sourcesContent":["import type {BidderCode, StorageDisclosure} from \"../../src/types/common\";\nimport {STORAGE_TYPE_COOKIES, STORAGE_TYPE_LOCALSTORAGE, type StorageType} from \"../../src/storageManager.ts\";\nimport type {AllConsentData} from \"../../src/consentHandler.ts\";\nimport type {Ext} from '../../src/types/ortb/common';\nimport type {ORTBRequest} from \"../../src/types/ortb/request\";\n\nexport type UserIdProvider = string;\n\nexport interface UserId {\n [idName: string]: unknown;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProvidersToId {\n /**\n * Map from ID provider name to the key they provide in .userId.\n */\n}\n\nexport type UserIdKeyFor<P extends UserIdProvider> = P extends keyof ProvidersToId ? ProvidersToId[P] : unknown;\nexport type UserIdFor<P extends UserIdProvider> = P extends keyof ProvidersToId ? UserId[UserIdKeyFor<P>] : unknown;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ProviderParams {\n /**\n * Map from ID provider name to the type of their configuration params.\n */\n}\n\nexport interface UserIdConfig<P extends UserIdProvider> {\n /**\n * User ID provider name.\n */\n name: P;\n /**\n * Module specific configuration parameters.\n */\n params?: P extends keyof ProviderParams ? ProviderParams[P] : Record<string, unknown>;\n /**\n * An array of bidder codes to which this user ID may be sent.\n */\n bidders?: BidderCode[];\n /**\n * Where the user ID will be stored.\n */\n storage?: {\n /**\n * Storage method.\n */\n type: StorageType | `${typeof STORAGE_TYPE_COOKIES}&${typeof STORAGE_TYPE_LOCALSTORAGE}` | `${typeof STORAGE_TYPE_LOCALSTORAGE}&${typeof STORAGE_TYPE_COOKIES}`;\n /**\n * The name of the cookie or html5 local storage where the user ID will be stored.\n */\n name: string;\n /**\n * How long (in days) the user ID information will be stored. If this parameter isn’t specified,\n * session cookies are used in cookie-mode, and local storage mode will create new IDs on every page.\n */\n expires?: number;\n /**\n * The amount of time (in seconds) the user ID should be cached in storage before calling the provider again\n * to retrieve a potentially updated value for their user ID.\n * If set, this value should equate to a time period less than the number of days defined in storage.expires.\n * By default the ID will not be refreshed until it expires.\n */\n refreshInSeconds?: number;\n }\n /**\n * Used only if the page has a separate mechanism for storing a User ID.\n * The value is an object containing the values to be sent to the adapters.\n */\n value?: UserIdFor<P>;\n}\n\ntype SerializableId = string | Record<string, unknown>;\n\n/**\n * If your module can provide ID data synchronously it should set id directly; otherwise it should provide a callback that calls its first argument setId passing it ID data.\n *\n * In both cases ID data should be a string or a plain, serializable JS object;\n * this data is what may then get stored, passed to decode and, on later sessions, to getId or extendId as the storedId argument.\n */\nexport type ProviderResponse = {\n /**\n * Serializable ID data. Objects will be passed through JSON.stringify\n */\n id?: SerializableId;\n /**\n * If provided, will be invoked at a later point.\n */\n callback?: (setId: (id: SerializableId) => void, getStoredValue: () => SerializableId) => void;\n}\n\ntype DecodedId<P extends UserIdProvider> = P extends keyof ProvidersToId ? { [K in UserIdKeyFor<P>]: UserIdFor<P> } & Partial<UserId> : Partial<UserId>;\n\ntype IdValue<K extends keyof UserId> = UserId[K] extends any[] ? UserId[K][number] : UserId[K];\n\ntype EIDConfig<K extends keyof UserId> = {\n /**\n * Value for eid.source.\n * Required if getSource is not provided.\n */\n source?: string;\n /**\n * Returns a string to use for eid.source.\n * Required if source is not provided.\n */\n getSource?: (id: IdValue<K>) => string;\n /**\n * Returns an object to use for eid.ext\n */\n getEidExt?: (id: IdValue<K>) => Ext;\n /**\n * Returns a string to use for eid.uid.id.\n * If not provided, IDs returned by decode must be strings, and will be used as-is\n */\n getValue?: (id: IdValue<K>) => string;\n /**\n * Value for eid.uid.atype\n */\n atype?: string;\n /**\n * Returns an object to use for eids.uid.ext\n */\n getUidExt?: (id: IdValue<K>) => Ext;\n}\n\ntype EIDFn<K extends keyof UserId, P extends UserIdProvider> = (ids: IdValue<K>[], config: UserIdConfig<P>) => ORTBRequest['user']['eids'] | ORTBRequest['user']['eids'][number];\n\nexport type IdProviderSpec<P extends UserIdProvider> = StorageDisclosure & {\n /**\n * Name of your ID provider, used to match your module with the publisher’s userIds configuration\n */\n name: P;\n aliasName?: UserIdProvider;\n /**\n * GVL ID to use for TCF. If omitted your module may be excluded when TCF is in scope.\n */\n gvlid?: number;\n disclosureURL?: string;\n /**\n * Invoked when:\n * - Prebid.js did not previously store your ID, or\n * - your previously stored ID has expired (depending on the publisher’s expires and/or refreshInSecondsstorage configuration), or\n * - consent data has changed since the last time it was stored, or\n * - the publisher explicitly asked for a refresh using refreshUserIds.\n * @param config Configuration for your module as provided by the publisher\n * @param consentData available consent data (when the relevant modules are present)\n * @param storedId Your previously stored ID data, if any, as was returned by getId or extendId\n */\n getId: (config: UserIdConfig<P>, consentData: AllConsentData, storedId?: SerializableId) => ProviderResponse;\n /**\n * If provided, it’s invoked when getId is not; namely:\n *\n * - Prebid.js previously stored your ID, and\n * - the stored ID has not expired, and\n * - consent data has not changed since it was stored, and\n * - the publisher is not asking for a refresh.\n *\n * Takes the same arguments and should return an object in the same format as getId.\n */\n extendId?: IdProviderSpec<P>['getId'];\n /**\n * Decode ID data. Invoked every time data from your module is available, either from storage or getId / extendId.\n */\n decode: (id: SerializableId, config: UserIdConfig<P>) => DecodedId<P>;\n onDataDeletionRequest?: (config: UserIdConfig<P>, userId: UserId[P], ...cmpArgs: any[]) => void;\n /**\n * Domain to use for cookie storage.\n */\n domainOverride?: () => string;\n /**\n * Return the topmost parent of `fullDomain` (which defaults to the current page) that will allow cookie writes.\n * This method is attached by the base ID module on submodule registration.\n */\n findRootDomain?: (fullDomain?: string) => string;\n eids?: {\n [K in keyof UserId]?: K extends string ? EIDConfig<K> | EIDFn<K, P> : never;\n }\n}\n\ndeclare module '../../src/hook' {\n interface Submodules {\n userId: [IdProviderSpec<UserIdProvider>];\n }\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["registerModule","__r0","deepAccess","isEmpty","isNumber","logWarn","ORTB_MAP","submodule","getCoreStorageManager","STORAGE","optout","isEmptyData","data","check","getRequiredData","obj","required","parent","i","forEach","key","typeValidation","mapping","type","isFinite","Array","isArray","filterArrayData","arr","child","path","filter","index","Boolean","requiredCheck","reduce","result","value","typeBool","push","children","validObject","validateFpd","Object","keys","length","fpd","arguments","undefined","assign","invalid","modified","optoutApplies","childType","childisArray","runValidations","global","bidder","fromEntries","entries","map","_ref","conf","processFpd","fpdConf","cookiesAreEnabled","getCookie","hasLocalStorage","getDataFromLocalStorage","skipValidations","validationSubmodule","name","queue"],"sourceRoot":"../../../..","sources":["modules/validationFpdModule/index.ts"],"sourcesContent":["/**\n * This module sets default values and validates ortb2 first part data\n * @module modules/firstPartyData\n */\nimport {deepAccess, isEmpty, isNumber, logWarn} from '../../src/utils.js';\nimport {ORTB_MAP} from './config.js';\nimport {submodule} from '../../src/hook.js';\nimport {getCoreStorageManager} from '../../src/storageManager.js';\n\n// TODO: do FPD modules need their own namespace?\nconst STORAGE = getCoreStorageManager('FPDValidation');\nlet optout;\n\n/**\n * Check if data passed is empty\n * @param {*} data to test against\n * @returns {Boolean} is data empty\n */\nfunction isEmptyData(data) {\n let check = true;\n\n if (typeof data === 'object' && !isEmpty(data)) {\n check = false;\n } else if (typeof data !== 'object' && (isNumber(data) || data)) {\n check = false;\n }\n\n return check;\n}\n\n/**\n * Check if required keys exist in data object\n * @param {Object} obj data object\n * @param {Array} required array of required keys\n * @param {String} parent object path (for printing warning)\n * @param {Number} i index of object value in the data array (for printing warning)\n * @returns {Boolean} is requirements fulfilled\n */\nfunction getRequiredData(obj, required, parent, i) {\n let check = true;\n\n required.forEach(key => {\n if (!obj[key] || isEmptyData(obj[key])) {\n check = false;\n logWarn(`Filtered ${parent}[] value at index ${i} in ortb2 data: missing required property ${key}`);\n }\n });\n\n return check;\n}\n\n/**\n * Check if data type is valid\n * @param {*} data value to test against\n * @param {Object} mapping object containing type definition and if should be array bool\n * @returns {Boolean} is type fulfilled\n */\nfunction typeValidation(data, mapping) {\n let check = false;\n\n switch (mapping.type) {\n case 'string':\n if (typeof data === 'string') check = true;\n break;\n case 'number':\n if (typeof data === 'number' && isFinite(data)) check = true;\n break;\n case 'object':\n if (typeof data === 'object') {\n if ((Array.isArray(data) && mapping.isArray) || (!Array.isArray(data) && !mapping.isArray)) check = true;\n }\n break;\n }\n\n return check;\n}\n\n/**\n * Validates ortb2 data arrays and filters out invalid data\n * @param {Array} arr ortb2 data array\n * @param {Object} child object defining child type and if array\n * @param {String} path config path of data array\n * @param {String} parent parent path for logging warnings\n * @returns {Array} validated/filtered data\n */\nexport function filterArrayData(arr, child, path, parent) {\n arr = arr.filter((index, i) => {\n const check = typeValidation(index, {type: child.type, isArray: child.isArray});\n\n if (check && Array.isArray(index) === Boolean(child.isArray)) {\n return true;\n }\n\n logWarn(`Filtered ${parent}[] value at index ${i} in ortb2 data: expected type ${child.type}`);\n }).filter((index, i) => {\n let requiredCheck = true;\n const mapping = deepAccess(ORTB_MAP, path);\n\n if (mapping && mapping.required) requiredCheck = getRequiredData(index, mapping.required, parent, i);\n\n if (requiredCheck) return true;\n }).reduce((result, value, i) => {\n let typeBool = false;\n const mapping = deepAccess(ORTB_MAP, path);\n\n switch (child.type) {\n case 'string':\n result.push(value);\n typeBool = true;\n break;\n case 'object':\n if (mapping && mapping.children) {\n const validObject = validateFpd(value, path + '.children.', parent + '.');\n if (Object.keys(validObject).length) {\n const requiredCheck = getRequiredData(validObject, mapping.required, parent, i);\n\n if (requiredCheck) {\n result.push(validObject);\n typeBool = true;\n }\n }\n } else {\n result.push(value);\n typeBool = true;\n }\n break;\n }\n\n if (!typeBool) logWarn(`Filtered ${parent}[] value at index ${i} in ortb2 data: expected type ${child.type}`);\n\n return result;\n }, []);\n\n return arr;\n}\n\n/**\n * Validates ortb2 object and filters out invalid data\n * @param {Object} fpd ortb2 object\n * @param {String} path config path of data array\n * @param {String} parent parent path for logging warnings\n * @returns {Object} validated/filtered data\n */\nexport function validateFpd(fpd, path = '', parent = '') {\n if (!fpd) return {};\n\n // Filter out imp property if exists\n const validObject = Object.assign({}, Object.keys(fpd).filter(key => {\n const mapping = deepAccess(ORTB_MAP, path + key);\n\n if (!mapping || !mapping.invalid) return key;\n\n logWarn(`Filtered ${parent}${key} property in ortb2 data: invalid property`);\n }).filter(key => {\n const mapping = deepAccess(ORTB_MAP, path + key);\n // let typeBool = false;\n const typeBool = (mapping) ? typeValidation(fpd[key], {type: mapping.type, isArray: mapping.isArray}) : true;\n\n if (typeBool || !mapping) return key;\n\n logWarn(`Filtered ${parent}${key} property in ortb2 data: expected type ${(mapping.isArray) ? 'array' : mapping.type}`);\n }).reduce((result, key) => {\n const mapping = deepAccess(ORTB_MAP, path + key);\n let modified = {};\n\n if (mapping) {\n if (mapping.optoutApplies && optout) {\n logWarn(`Filtered ${parent}${key} data: pubcid optout found`);\n return result;\n }\n\n modified = (mapping.type === 'object' && !mapping.isArray)\n ? validateFpd(fpd[key], path + key + '.children.', parent + key + '.')\n : (mapping.isArray && mapping.childType)\n ? filterArrayData(fpd[key], { type: mapping.childType, isArray: mapping.childisArray }, path + key, parent + key) : fpd[key];\n\n // Check if modified data has data and return\n (!isEmptyData(modified)) ? result[key] = modified\n : logWarn(`Filtered ${parent}${key} property in ortb2 data: empty data found`);\n } else {\n result[key] = fpd[key];\n }\n\n return result;\n }, {}));\n\n // Return validated data\n return validObject;\n}\n\n/**\n * Run validation on global and bidder config data for ortb2\n * @param {Object} data global and bidder config data\n * @returns {Object} validated data\n */\nfunction runValidations(data) {\n return {\n global: validateFpd(data.global),\n bidder: Object.fromEntries(Object.entries(data.bidder).map(([bidder, conf]) => [bidder, validateFpd(conf)]))\n }\n}\n\ndeclare module '../../src/fpd/enrichment' {\n interface FirstPartyDataConfig {\n skipValidations?: boolean;\n }\n}\n\n/**\n * Sets default values to ortb2 if exists and adds currency and ortb2 setConfig callbacks on init\n * @param {Object} fpdConf configuration object\n * @param {Object} data ortb2 data\n * @returns {Object} processed data\n */\nexport function processFpd(fpdConf, data) {\n // Checks for existsnece of pubcid optout cookie/storage\n // if exists, filters user data out\n optout = (STORAGE.cookiesAreEnabled() && STORAGE.getCookie('_pubcid_optout')) ||\n (STORAGE.hasLocalStorage() && STORAGE.getDataFromLocalStorage('_pubcid_optout'));\n\n return (!fpdConf.skipValidations) ? runValidations(data) : data;\n}\n\n/** @type {{name: string, queue: number, processFpd: function}} */\nexport const validationSubmodule = {\n name: 'validation',\n queue: 1,\n processFpd\n}\n\nsubmodule('firstPartyData', validationSubmodule);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["registerModule","__r0","deepAccess","isEmpty","isNumber","logWarn","ORTB_MAP","submodule","getCoreStorageManager","STORAGE","optout","isEmptyData","data","check","getRequiredData","obj","required","parent","i","forEach","key","typeValidation","mapping","type","isFinite","Array","isArray","filterArrayData","arr","child","path","filter","index","Boolean","requiredCheck","reduce","result","value","typeBool","push","children","validObject","validateFpd","Object","keys","length","fpd","arguments","undefined","assign","invalid","modified","optoutApplies","childType","childisArray","runValidations","global","bidder","fromEntries","entries","map","_ref","conf","processFpd","fpdConf","cookiesAreEnabled","getCookie","hasLocalStorage","getDataFromLocalStorage","skipValidations","validationSubmodule","name","queue"],"sourceRoot":"../../../..","sources":["modules/validationFpdModule/index.ts"],"sourcesContent":["/**\n * This module sets default values and validates ortb2 first part data\n * @module modules/firstPartyData\n */\nimport {deepAccess, isEmpty, isNumber, logWarn} from '../../src/utils.js';\nimport {ORTB_MAP} from './config.js';\nimport {submodule} from '../../src/hook.js';\nimport {getCoreStorageManager} from '../../src/storageManager.js';\n\n// TODO: do FPD modules need their own namespace?\nconst STORAGE = getCoreStorageManager('FPDValidation');\nlet optout;\n\n/**\n * Check if data passed is empty\n * @param {*} data to test against\n * @returns {Boolean} is data empty\n */\nfunction isEmptyData(data) {\n let check = true;\n\n if (typeof data === 'object' && !isEmpty(data)) {\n check = false;\n } else if (typeof data !== 'object' && (isNumber(data) || data)) {\n check = false;\n }\n\n return check;\n}\n\n/**\n * Check if required keys exist in data object\n * @param {Object} obj data object\n * @param {Array} required array of required keys\n * @param {String} parent object path (for printing warning)\n * @param {Number} i index of object value in the data array (for printing warning)\n * @returns {Boolean} is requirements fulfilled\n */\nfunction getRequiredData(obj, required, parent, i) {\n let check = true;\n\n required.forEach(key => {\n if (!obj[key] || isEmptyData(obj[key])) {\n check = false;\n logWarn(`Filtered ${parent}[] value at index ${i} in ortb2 data: missing required property ${key}`);\n }\n });\n\n return check;\n}\n\n/**\n * Check if data type is valid\n * @param {*} data value to test against\n * @param {Object} mapping object containing type definition and if should be array bool\n * @returns {Boolean} is type fulfilled\n */\nfunction typeValidation(data, mapping) {\n let check = false;\n\n switch (mapping.type) {\n case 'string':\n if (typeof data === 'string') check = true;\n break;\n case 'number':\n if (typeof data === 'number' && isFinite(data)) check = true;\n break;\n case 'object':\n if (typeof data === 'object') {\n if ((Array.isArray(data) && mapping.isArray) || (!Array.isArray(data) && !mapping.isArray)) check = true;\n }\n break;\n }\n\n return check;\n}\n\n/**\n * Validates ortb2 data arrays and filters out invalid data\n * @param {Array} arr ortb2 data array\n * @param {Object} child object defining child type and if array\n * @param {String} path config path of data array\n * @param {String} parent parent path for logging warnings\n * @returns {Array} validated/filtered data\n */\nexport function filterArrayData(arr, child, path, parent) {\n arr = arr.filter((index, i) => {\n const check = typeValidation(index, {type: child.type, isArray: child.isArray});\n\n if (check && Array.isArray(index) === Boolean(child.isArray)) {\n return true;\n }\n\n logWarn(`Filtered ${parent}[] value at index ${i} in ortb2 data: expected type ${child.type}`);\n }).filter((index, i) => {\n let requiredCheck = true;\n const mapping = deepAccess(ORTB_MAP, path);\n\n if (mapping && mapping.required) requiredCheck = getRequiredData(index, mapping.required, parent, i);\n\n if (requiredCheck) return true;\n }).reduce((result, value, i) => {\n let typeBool = false;\n const mapping = deepAccess(ORTB_MAP, path);\n\n switch (child.type) {\n case 'string':\n result.push(value);\n typeBool = true;\n break;\n case 'object':\n if (mapping && mapping.children) {\n const validObject = validateFpd(value, path + '.children.', parent + '.');\n if (Object.keys(validObject).length) {\n const requiredCheck = getRequiredData(validObject, mapping.required, parent, i);\n\n if (requiredCheck) {\n result.push(validObject);\n typeBool = true;\n }\n }\n } else {\n result.push(value);\n typeBool = true;\n }\n break;\n }\n\n if (!typeBool) logWarn(`Filtered ${parent}[] value at index ${i} in ortb2 data: expected type ${child.type}`);\n\n return result;\n }, []);\n\n return arr;\n}\n\n/**\n * Validates ortb2 object and filters out invalid data\n * @param {Object} fpd ortb2 object\n * @param {String} path config path of data array\n * @param {String} parent parent path for logging warnings\n * @returns {Object} validated/filtered data\n */\nexport function validateFpd(fpd, path = '', parent = '') {\n if (!fpd) return {};\n\n // Filter out imp property if exists\n const validObject = Object.assign({}, Object.keys(fpd).filter(key => {\n const mapping = deepAccess(ORTB_MAP, path + key);\n\n if (!mapping || !mapping.invalid) return key;\n\n logWarn(`Filtered ${parent}${key} property in ortb2 data: invalid property`);\n }).filter(key => {\n const mapping = deepAccess(ORTB_MAP, path + key);\n // let typeBool = false;\n const typeBool = (mapping) ? typeValidation(fpd[key], {type: mapping.type, isArray: mapping.isArray}) : true;\n\n if (typeBool || !mapping) return key;\n\n logWarn(`Filtered ${parent}${key} property in ortb2 data: expected type ${(mapping.isArray) ? 'array' : mapping.type}`);\n }).reduce((result, key) => {\n const mapping = deepAccess(ORTB_MAP, path + key);\n let modified = {};\n\n if (mapping) {\n if (mapping.optoutApplies && optout) {\n logWarn(`Filtered ${parent}${key} data: pubcid optout found`);\n return result;\n }\n\n modified = (mapping.type === 'object' && !mapping.isArray)\n ? validateFpd(fpd[key], path + key + '.children.', parent + key + '.')\n : (mapping.isArray && mapping.childType)\n ? filterArrayData(fpd[key], { type: mapping.childType, isArray: mapping.childisArray }, path + key, parent + key) : fpd[key];\n\n // Check if modified data has data and return\n (!isEmptyData(modified)) ? result[key] = modified\n : logWarn(`Filtered ${parent}${key} property in ortb2 data: empty data found`);\n } else {\n result[key] = fpd[key];\n }\n\n return result;\n }, {}));\n\n // Return validated data\n return validObject;\n}\n\n/**\n * Run validation on global and bidder config data for ortb2\n * @param {Object} data global and bidder config data\n * @returns {Object} validated data\n */\nfunction runValidations(data) {\n return {\n global: validateFpd(data.global),\n bidder: Object.fromEntries(Object.entries(data.bidder).map(([bidder, conf]) => [bidder, validateFpd(conf)]))\n }\n}\n\ndeclare module '../../src/fpd/enrichment' {\n interface FirstPartyDataConfig {\n skipValidations?: boolean;\n }\n}\n\n/**\n * Sets default values to ortb2 if exists and adds currency and ortb2 setConfig callbacks on init\n * @param {Object} fpdConf configuration object\n * @param {Object} data ortb2 data\n * @returns {Object} processed data\n */\nexport function processFpd(fpdConf, data) {\n // Checks for existsnece of pubcid optout cookie/storage\n // if exists, filters user data out\n optout = (STORAGE.cookiesAreEnabled() && STORAGE.getCookie('_pubcid_optout')) ||\n (STORAGE.hasLocalStorage() && STORAGE.getDataFromLocalStorage('_pubcid_optout'));\n\n return (!fpdConf.skipValidations) ? runValidations(data) : data;\n}\n\n/** @type {{name: string, queue: number, processFpd: function}} */\nexport const validationSubmodule = {\n name: 'validation',\n queue: 1,\n processFpd\n}\n\nsubmodule('firstPartyData', validationSubmodule);\n"],"mappings":"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","ignoreList":[]}
|