@financial-times/cmp-client 6.11.2 → 6.11.4
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/dist/index.cjs
CHANGED
|
@@ -333,6 +333,7 @@ const INV_GLOBAL_BONDS_SUMMIT = {
|
|
|
333
333
|
accountId: 1906,
|
|
334
334
|
baseEndpoint: "https://consent-manager.ft.com",
|
|
335
335
|
propertyId: 41863,
|
|
336
|
+
propertyHref: "https://globalbondsummit.live.ft.com",
|
|
336
337
|
_clientOptions: {
|
|
337
338
|
rootDomain: "ft.com"
|
|
338
339
|
}
|
|
@@ -342,6 +343,7 @@ const LONGITUDE_FTDOTCOM = {
|
|
|
342
343
|
accountId: 1906,
|
|
343
344
|
baseEndpoint: "https://consent-manager.ft.com",
|
|
344
345
|
propertyId: 41922,
|
|
346
|
+
propertyHref: "https://longitude.ft.com",
|
|
345
347
|
_clientOptions: {
|
|
346
348
|
rootDomain: "ft.com"
|
|
347
349
|
}
|
|
@@ -1102,7 +1104,7 @@ function setupFTConsentCookieAuditStorage() {
|
|
|
1102
1104
|
localStorage.setItem("__lastFtc", ftConsentCookieValue);
|
|
1103
1105
|
});
|
|
1104
1106
|
}
|
|
1105
|
-
const version = "6.11.
|
|
1107
|
+
const version = "6.11.4";
|
|
1106
1108
|
async function initSourcepointCmp(options) {
|
|
1107
1109
|
const {
|
|
1108
1110
|
useFTSession = true,
|
package/dist/index.js
CHANGED
|
@@ -331,6 +331,7 @@ const INV_GLOBAL_BONDS_SUMMIT = {
|
|
|
331
331
|
accountId: 1906,
|
|
332
332
|
baseEndpoint: "https://consent-manager.ft.com",
|
|
333
333
|
propertyId: 41863,
|
|
334
|
+
propertyHref: "https://globalbondsummit.live.ft.com",
|
|
334
335
|
_clientOptions: {
|
|
335
336
|
rootDomain: "ft.com"
|
|
336
337
|
}
|
|
@@ -340,6 +341,7 @@ const LONGITUDE_FTDOTCOM = {
|
|
|
340
341
|
accountId: 1906,
|
|
341
342
|
baseEndpoint: "https://consent-manager.ft.com",
|
|
342
343
|
propertyId: 41922,
|
|
344
|
+
propertyHref: "https://longitude.ft.com",
|
|
343
345
|
_clientOptions: {
|
|
344
346
|
rootDomain: "ft.com"
|
|
345
347
|
}
|
|
@@ -1100,7 +1102,7 @@ function setupFTConsentCookieAuditStorage() {
|
|
|
1100
1102
|
localStorage.setItem("__lastFtc", ftConsentCookieValue);
|
|
1101
1103
|
});
|
|
1102
1104
|
}
|
|
1103
|
-
const version = "6.11.
|
|
1105
|
+
const version = "6.11.4";
|
|
1104
1106
|
async function initSourcepointCmp(options) {
|
|
1105
1107
|
const {
|
|
1106
1108
|
useFTSession = true,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(){"use strict";const V=(t,{credentials:e="omit"}={})=>fetch(`https://session-next.ft.com${t}`,{credentials:e,useCorsProxy:!0}).then(n=>n.ok?n.json():n.text().then(o=>{throw new Error(`Next session responded with "${o}" (${n.status})`)})).catch(n=>{document.body.dispatchEvent(new CustomEvent("oErrors.log",{bubbles:!0,detail:{error:n,info:{component:"next-session-client"}}}))});let I={};const h=(t,e)=>{if(typeof t=="object"){I=t;return}if(typeof t=="string"&&typeof e=="string"){I[t]=e;return}if(typeof t=="string"&&typeof e>"u")return I[t]||null;if(typeof t>"u"&&typeof e>"u")return I;throw new Error("Invalid arguments")};h.clear=()=>{I={}};const y={},x=()=>{const[,t]=/FTSession_s=([^;]+)/.exec(document.cookie)||[];return t},H=()=>{const t=h("uuid");if(t)return Promise.resolve({uuid:t});const e=x();return e?(y.uuid||(y.uuid=V(`/sessions/s/${e}`).then(({uuid:n}={})=>(delete y.uuid,n&&h("uuid",n),{uuid:n}))),y.uuid):Promise.resolve({uuid:void 0})},S="sourcepoint-cmp",j="FTPINK",G="FTConsent",B="sourcepointCmp/VngD.XycZut.595cp9fWdp5XYP9vlFvk",q=".ft.com",W="https://consent.ft.com",k={permutiveAds:{purposes:[2,4,8,9],iabVendors:[361],customVendors:[],specialFeatures:[]},demographicAds:{purposes:[7,9,10],iabVendors:[],customVendors:[],specialFeatures:[]},behaviouralAds:{purposes:[2,4,8,9],iabVendors:[],customVendors:[],specialFeatures:[]},programmaticAds:{purposes:[2,4,8,9],iabVendors:[],customVendors:[],specialFeatures:[]},personalisedMarketing:{purposes:[2,7,8,9,10],iabVendors:[],customVendors:[],specialFeatures:[]},cookies:{purposes:[1,2,3,4,7,8,9,10],iabVendors:[],customVendors:[],specialFeatures:[]}},b=Object.keys(k),r={joinHref:!0,gdpr:{}},T={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyHref:"https://local.ft.com",_clientOptions:{privacyManagerId:827767,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies",rootDomain:"ft.com",includeUsNat:!0}},v={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:31642,_clientOptions:{privacyManagerId:827767,usnatPrivacyManagerId:1143274,ccpaPrivacyManagerId:944882,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies",rootDomain:"ft.com",includeUsNat:!0}},$={...r,accountId:1906,baseEndpoint:"https://consent-manager.pwmnet.com",propertyId:33414,_clientOptions:{rootDomain:"pwmnet.com",includeUsNat:!0}},K={...r,accountId:1906,baseEndpoint:"https://consent-manager.fdiintelligence.com",propertyId:34061,_clientOptions:{rootDomain:"fdiintelligence.com",includeUsNat:!0}},J={...r,accountId:1906,baseEndpoint:"https://consent-manager.thebanker.com",propertyId:34060,_clientOptions:{rootDomain:"thebanker.com",includeUsNat:!0}},X={...r,accountId:1906,baseEndpoint:"https://consent-manager.bankingriskandregulation.com",propertyId:34059,_clientOptions:{rootDomain:"bankingriskandregulation.com",includeUsNat:!0}},Y={...r,accountId:1906,baseEndpoint:"https://consent-manager.sustainableviews.com",propertyId:34058,_clientOptions:{rootDomain:"sustainableviews.com",includeUsNat:!0}},z={...r,accountId:1906,baseEndpoint:"https://consent-manager.ftadviser.com",propertyId:33416,_clientOptions:{rootDomain:"ftadviser.com",includeUsNat:!0}},Z={...r,accountId:1906,baseEndpoint:"https://consent-manager.investorschronicle.co.uk",propertyId:33415,_clientOptions:{rootDomain:"investorschronicle.co.uk",includeUsNat:!0}},Q={...r,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33947,_clientOptions:{rootDomain:"ignitesasia.com"}},tt={...r,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33946,_clientOptions:{rootDomain:"igniteseurope.com"}},et={...r,accountId:1906,baseEndpoint:"https://consent-manager.mandatewire.com",propertyId:35490,_clientOptions:{rootDomain:"mandatewire.com",includeUsNat:!0}},nt={...r,accountId:1906,baseEndpoint:"https://consent-manager.ftlocations.com",propertyId:37407,_clientOptions:{rootDomain:"ftlocations.com",cookieDomain:".ftlocations.com",consentProxyHost:"https://consent.ftlocations.com",includeUsNat:!0}},ot={...r,accountId:1906,baseEndpoint:"https://consent-manager.financialadviserserviceawards.com",propertyId:38297,_clientOptions:{rootDomain:"financialadviserserviceawards.com",includeUsNat:!0}},st={...r,accountId:1906,baseEndpoint:"https://consent-manager.celebrationofinvestment.co.uk",propertyId:38296,_clientOptions:{rootDomain:"celebrationofinvestment.co.uk",includeUsNat:!0}},at={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalprivatebankingawards.com",propertyId:38295,_clientOptions:{rootDomain:"globalprivatebankingawards.com",includeUsNat:!0}},ct={...r,accountId:1906,baseEndpoint:"https://consent-manager.thenextweb.com",propertyId:37672,_clientOptions:{rootDomain:"thenextweb.com"}},it={...r,accountId:1906,baseEndpoint:"https://consent-manager.invisso.org",propertyId:38851,_clientOptions:{rootDomain:"invisso.org"}},rt={...r,accountId:1906,baseEndpoint:"https://consent-manager.abseast.com",propertyId:38888,_clientOptions:{rootDomain:"abseast.com"}},pt={...r,accountId:1906,baseEndpoint:"https://consent-manager.absasia.org",propertyId:38887,_clientOptions:{rootDomain:"absasia.org"}},ut={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalcoveredbonds.com",propertyId:38886,_clientOptions:{rootDomain:"globalcoveredbonds.com"}},dt={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalborrowers.com",propertyId:38885,_clientOptions:{rootDomain:"globalborrowers.com"}},lt={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalabs.org",propertyId:38884,_clientOptions:{rootDomain:"globalabs.org"}},ft={...r,accountId:1906,baseEndpoint:"https://consent-manager.creditrisk-transfer.com",propertyId:38883,_clientOptions:{rootDomain:"creditrisk-transfer.com"}},mt={...r,accountId:1906,baseEndpoint:"https://consent-manager.significantrisktransfer.com",propertyId:38882,_clientOptions:{rootDomain:"significantrisktransfer.com"}},gt={...r,accountId:1906,baseEndpoint:"https://consent-manager.theceeforum.com",propertyId:38882,_clientOptions:{rootDomain:"theceeforum.com"}},_t={...r,accountId:1906,baseEndpoint:"https://consent-manager.fdimarkets.com",propertyId:40508,_clientOptions:{rootDomain:"fdimarkets.com",cookieDomain:".fdimarkets.com",consentProxyHost:"https://consent.fdimarkets.com",includeUsNat:!0}},It={...r,accountId:1906,baseEndpoint:"https://consent-manager.fdibenchmark.com",propertyId:40509,_clientOptions:{rootDomain:"fdibenchmark.com",cookieDomain:".fdibenchmark.com",consentProxyHost:"https://consent.fdibenchmark.com",includeUsNat:!0}},yt={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:41863,_clientOptions:{rootDomain:"ft.com"}},bt={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:41922,_clientOptions:{rootDomain:"ft.com"}},vt=Object.freeze(Object.defineProperty({__proto__:null,FT_DOTCOM_PROD:v,FT_DOTCOM_TEST:T,INVISSO:it,INV_ABSASIA:pt,INV_ABSEAST:rt,INV_CEE_FORUM:gt,INV_CREDITRISK_TRANSFER:ft,INV_GLOBAL_ABS:lt,INV_GLOBAL_BONDS_SUMMIT:yt,INV_GLOBAL_BORROWERS:dt,INV_GLOBAL_COVERED_BONDS:ut,LONGITUDE_FTDOTCOM:bt,MM_IGNITES_ASIA:Q,MM_IGNITES_EUROPE:tt,SIGRISK_TRANSFER:mt,SP_BANKING_RR:X,SP_CELEBRATION_OF_INVESTMENT:st,SP_FDI_BENCHMARK:It,SP_FDI_INTELLIGENCE:K,SP_FDI_MARKETS:_t,SP_FTA_SERVICE_AWARDS:ot,SP_FT_ADVISER:z,SP_FT_LOCATIONS:nt,SP_GLOBAL_PRIVATE_BANKING_AWARDS:at,SP_INVESTORS_CHRONICLE:Z,SP_MANDATE_WIRE:et,SP_PWMNET:$,SP_SUSTAINABLE_VIEWS:Y,SP_THE_BANKER:J,TNW:ct},Symbol.toStringTag,{value:"Module"}));function A(t,e){const n=document.createElement("script");return n.dataset.cmpScript=t,n.innerHTML=e,n}function wt(t){const e=document.createElement("script");return e.src=t,e}const ht={cmpFrames:"https://consent-manager.ft.com/unified/wrapperMessagingWithoutDetection.js"},D={tcfStub:'"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title = "__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();',gppStub:`window.__gpp_addFrame=function(e){if(!window.frames[e])if(document.body){var t=document.createElement("iframe");t.style.cssText="display:none",t.name=e,document.body.appendChild(t)}else window.setTimeout(window.__gpp_addFrame,10,e)},window.__gpp_stub=function(){var e=arguments;if(__gpp.queue=__gpp.queue||[],__gpp.events=__gpp.events||[],!e.length||1==e.length&&"queue"==e[0])return __gpp.queue;if(1==e.length&&"events"==e[0])return __gpp.events;var t=e[0],p=e.length>1?e[1]:null,s=e.length>2?e[2]:null;if("ping"===t)p({gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}},!0);else if("addEventListener"===t){"lastId"in __gpp||(__gpp.lastId=0),__gpp.lastId++;var n=__gpp.lastId;__gpp.events.push({id:n,callback:p,parameter:s}),p({eventName:"listenerRegistered",listenerId:n,data:!0,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else if("removeEventListener"===t){for(var a=!1,i=0;i<__gpp.events.length;i++)if(__gpp.events[i].id==s){__gpp.events.splice(i,1),a=!0;break}p({eventName:"listenerRemoved",listenerId:s,data:a,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else"hasSection"===t?p(!1,!0):"getSection"===t||"getField"===t?p(null,!0):__gpp.queue.push([].slice.apply(e))},window.__gpp_msghandler=function(e){var t="string"==typeof e.data;try{var p=t?JSON.parse(e.data):e.data}catch(e){p=null}if("object"==typeof p&&null!==p&&"__gppCall"in p){var s=p.__gppCall;window.__gpp(s.command,(function(p,n){var a={__gppReturn:{returnValue:p,success:n,callId:s.callId}};e.source.postMessage(t?JSON.stringify(a):a,"*")}),"parameter"in s?s.parameter:null,"version"in s?s.version:"1.1")}},"__gpp"in window&&"function"==typeof window.__gpp||(window.__gpp=window.__gpp_stub,window.addEventListener("message",window.__gpp_msghandler,!1),window.__gpp_addFrame("__gppLocator"));
|
|
2
|
-
`};function St(t){const e=document.createDocumentFragment();return e.appendChild(A("tcf",D.tcfStub)),t.includeUsNat&&e.appendChild(A("gpp",D.gppStub)),e.appendChild(wt(ht.cmpFrames)),e}function Ct(t,e){const{userId:n,includeUsNat:o}=e;return n&&(t.authId=n),o&&(t.usnat=t.usnat||{}),t}function Ot(t,e){const{_clientOptions:n,...o}=t,s=Ct(o,e);window._sp_={config:s},window._sp_queue??(window._sp_queue=[]),document.head.appendChild(St(e))}function Et(t,e,n,{formOfWordsId:o,cookieDomain:s}){const c=Object.keys(t).reduce((u,i)=>(u[i]={onsite:{status:t[i],lbi:!1,source:S,fow:o}},i==="cookies"&&(u.cookies.userAccept={status:t[i],lbi:!1,source:S,fow:o}),u),{});return e?{setConsentCookie:!0,formOfWordsId:o,consentSource:S,cookieDomain:s,skipDuplicateUpdates:!n,data:c}:{data:c,cookieDomain:s}}const _={CALIFORNIA:"usca",US_NATIONAL:"usnat"},P={[_.CALIFORNIA]:{excludedCategories:{}},[_.US_NATIONAL]:{excludedCategories:{personalisedMarketing:!0}}};function Nt(t){const{applicableSections:e,supportedAPIs:n}=t,o=e[0];if(o===-1||typeof o>"u")return;const s=n.find(c=>c.startsWith(`${o}:`));return s==null?void 0:s.split(":")[1]}function kt(t){const{SaleOptOut:e,SharingOptOut:n,Gpc:o}=t,{excludedCategories:s}=P[_.CALIFORNIA],a=e!==1&&n!==1&&!o,c={};for(const u of b){if(u in s){c[u]=!0;continue}c[u]=a}return c}function Tt(t){const{SaleOptOut:e,SharingOptOut:n,TargetedAdvertisingOptOut:o}=t,{excludedCategories:s}=P[_.US_NATIONAL],a=JSON.parse(localStorage.getItem("ft_sp_marketing_optout")||"{}"),c=e!==1&&n!==1&&o!==1,u={};for(const i of b){if(i in s){u[i]=!0;continue}u[i]=c}if(a.usnat)for(const i of b)u[i]=!1;return u}const At={[_.CALIFORNIA]:kt,[_.US_NATIONAL]:Tt};async function L(){return new Promise((t,e)=>{try{window.__gpp?window.__gpp("ping",t):e(new Error("GPP API is not available on page"))}catch(n){e(n)}})}async function Dt(){const t=await L(),{parsedSections:e}=t,n=Nt(t);if(!n||!e[n])throw new Error("GPP parser was called without an applicable section");const o=e[n],s=At[n];if(!s||typeof s!="function")throw new Error(`No parser found for applicable GPP section: ${n}`);return s(o)}function Pt(t,{purpose:e,vendor:n,specialFeatureOptins:o={}}){const s=k[t],a=(e==null?void 0:e.consents)||{},c=(e==null?void 0:e.legitimateInterests)||{},u=(n==null?void 0:n.consents)||{},i=(n==null?void 0:n.legitimateInterests)||{},p=s.purposes.every(l=>a[l]||c[l]),f=s.iabVendors.every(l=>u[l]||i[l]),d=s.specialFeatures.every(l=>o[l]===!0),g=s.purposes.every(l=>a[l]===!0);return t==="cookies"?g&&f&&d:p&&f&&d}async function M(){return new Promise((t,e)=>{try{window.__tcfapi?window.__tcfapi("addEventListener",2,t):e(new Error("TCF API is not available on page"))}catch(n){e(n)}})}async function Lt(){const t=await M(),e={};for(const n of b)e[n]=Pt(n,t);return e}async function Mt(t){const n={gdpr:Lt,usnat:Dt}[t];if(!n)throw new Error("Unable to update user consent. Unsupported consent legislation.");return n()}function Ft(){const e=Object.fromEntries(document.cookie.split("; ").map(o=>o.split("=")))[G];if(!e)return{};const n=decodeURIComponent(e);return Object.fromEntries(n.split(",").map(o=>{const[s,a]=o.split(":");return[s,a==="on"]}))}function Rt(t,e){return Object.keys(t).some(o=>{const s=`${o.toLowerCase()}Onsite`;return t[o]!==e[s]})}function Ut({userId:t,useConsentStore:e}){return!!t&&e===!0}function Vt(t,e){return t?`${e.consentProxyHost}/__consent/consent-record/${j}/${e.userId}?updateFtConsentCookie=true`:`${e.consentProxyHost}/__consent/consent-record-cookie?cookieDomain=${e.cookieDomain}`}const F={gdpr:!1,usnat:!1},C=Object.assign({},F);function R(t){C[t]=!0}function xt(t){return C[t]}function Ht(){Object.assign(C,F)}async function jt(t){return xt(t)?t==="gdpr"?(await M()).eventStatus==="useractioncomplete":t==="usnat"?(await L()).cmpDisplayStatus==="hidden":!1:!1}function Gt(){window.__tcfapi&&window.__tcfapi("addEventListener",2,t=>{t.eventStatus==="cmpuishown"&&R("gdpr")}),window.__gpp&&window.__gpp("addEventListener",({pingData:t})=>{t.cmpDisplayStatus==="visible"&&R("usnat")})}async function Bt(t,e){try{const n=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"});n.ok||console.error("Unable to save consent preferences",n.status)}catch(n){console.error("An error occurred while saving consent",n)}finally{document.dispatchEvent(new CustomEvent("onCmpConsentSaveCompleted",{bubbles:!0}))}}const qt=()=>{document.dispatchEvent(new CustomEvent("onCmpConsentReady",{bubbles:!0}))};function Wt(t){return async function(n,o,s,a){if(qt(),t.disableFTCookies||!t.includeUsNat&&n==="usnat"||!a.applies||!s)return;let c;try{c=await Mt(n)}catch(g){console.error(g)}if(!c||!Rt(c,Ft()))return;window.dataLayer=(window==null?void 0:window.dataLayer)||[],window.dataLayer.push({event:"consentUpdate",consentUpdateBehaviouralAds:c.behaviouralAds,consentUpdateCookies:c.cookies});const i=await jt(n),p=Ut(t),f=Vt(p,t),d=Et(c,p,i,t);await Bt(f,d),i&&Ht(),document.dispatchEvent(new CustomEvent("oCookieMessage.act",{bubbles:!0}))}}const O="cookie-message",$t="manage-cookies";let E=Object.freeze({activeComponent:O,messageId:0,privacyManagerId:0});function Kt(t){return typeof t=="object"&&t!==null&&t.constructor===Object&&Object.prototype.toString.call(t)==="[object Object]"}const Jt=()=>({...E}),N=t=>{if(!Kt(t)){console.error("Invalid state changes");return}E={...E,...t}},Xt=["adsDisableInternalCMP","pwm.cmp"];function Yt(t,e){const n=zt(t.flags);window._sp_queue=window._sp_queue??[],window._sp_queue.push(()=>{var o,s;for(const[a,c]of Object.entries(Qt))(s=(o=window._sp_).addEventListener)==null||s.call(o,a,c({...t,flags:n}))}),te({...t,flags:n},e),ee()}function zt(t){const e={};return typeof t=="object"&&Xt.forEach(n=>{Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}),e}function Zt(t){if(!t)return;const e=document.body,n=new CustomEvent("oTracking.event",{bubbles:!0,cancelable:!0,detail:t.detail});e.dispatchEvent(n)}function w({trackingProps:t,action:e,triggerAction:n}){let o;const s=Jt(),{product:a,app:c,flags:u}=t;s.activeComponent===O?o=s.messageId:o=s.privacyManagerId;const i={detail:{component:{id:o,name:s.activeComponent,type:"overlay",subtype:"cmp"},category:"component",action:e,...n&&{trigger_action:n},...a&&{product:a},...c&&{app:c},custom:[{cookie_toggle_flag:u}],url:window.document.location.href||null}};Zt(i)}const Qt={onMessageChoiceSelect:t=>(e,n,o)=>{const a={11:"accept_all",12:"manage_cookies",13:"reject_all"}[o];a&&w({trackingProps:t,action:"click",triggerAction:a})},onMessageReady:t=>()=>{w({trackingProps:t,action:"view"})},onMessageReceiveData:()=>(t,e)=>{const{messageId:n}=e;n&&N({messageId:n})},onError:t=>(e,n)=>{w({trackingProps:t,action:"error",triggerAction:n})},onPMCancel:()=>()=>{N({activeComponent:O})}};function te(t,e){window.addEventListener("message",function(n){if(n.origin!==e)return;const o={1:"save_and_close",11:"accept_all",13:"reject_all"},{data:{fromPM:s,actionType:a,messageId:c="0"}={}}=n;s&&(+c&&N({activeComponent:$t,privacyManagerId:+c}),!(!a||!o[a])&&w({trackingProps:t,action:"click",triggerAction:o[a]}))},!1)}function ee(){document.addEventListener("onCmpConsentSaveCompleted",()=>{const t=document.cookie.match(/FTConsent=([^;]+)/);if(!t)return;const e=t[1];localStorage.setItem("__lastFtc",e)})}const ne="6.11.2";async function oe(t){const{useFTSession:e=!0,consentProxyHost:n=W,cookieDomain:o=q,formOfWordsId:s=B,useConsentStore:a=!0,trackingContext:c={},disableFTCookies:u=!1,includeUsNat:i=!1}=t||{};let{propertyConfig:p=v,userId:f}=t||{};if(typeof window>"u"){console.error("The CMP client can only be initialised in a browser context");return}if(window.FT_CMP_CLIENT_VERSION=ne,!f&&e)try{const d=await H();f=d==null?void 0:d.uuid}catch(d){console.error(d)}p=se(p),Ot(p,{userId:f,includeUsNat:i}),Gt(),window._sp_queue.push(()=>{var d,g;(g=(d=window._sp_)==null?void 0:d.addEventListener)==null||g.call(d,"onConsentReady",Wt({userId:f,consentProxyHost:n,cookieDomain:o,formOfWordsId:s,useConsentStore:a,disableFTCookies:u,includeUsNat:i}))}),Yt(c,p.baseEndpoint)}function se(t){if(!(t!=null&&t.accountId))throw new Error("Please pass a valid property config");return t.events&&(console.warn("[cmp-client] Passing an events map in the config is not supported and will be ignored. Please use window._sp_.addEventListener() to listen for events"),delete t.events),t}function U(t,e,n,o,s,a){const{text:c,onClick:u}=o[e],i=document.querySelectorAll(`a[href*="${a}"]`);for(const p of i)(n||t)&&(s.has(p)&&p.removeEventListener("click",s.get(p)),p.innerText=c,p.addEventListener("click",u),s.set(p,u))}function ae({_clientOptions:t}=v){const{privacyManagerId:e,ccpaPrivacyManagerId:n,usnatPrivacyManagerId:o,manageCookiesLinkOverride:s}=t??v._clientOptions,a={usnat:{text:"Do Not Sell My Personal Information",onClick:i=>{var p;i.preventDefault(),(p=window._sp_.usnat)==null||p.loadPrivacyManagerModal(o)}},ccpa:{text:"Do Not Sell My Personal Information",onClick:i=>{var p;i.preventDefault(),(p=window._sp_.ccpa)==null||p.loadPrivacyManagerModal(n)}},gdpr:{text:"Manage Cookies",onClick:i=>{var p;i.preventDefault(),(p=window._sp_.gdpr)==null||p.loadPrivacyManagerModal(e)}}},c=new Map,u=function(i,p,f,d){U(!1,i,d.applies,a,c,s),d.applies&&window._sp_queue.push(()=>{var g,l;(l=(g=window._sp_).removeEventListener)==null||l.call(g,"onConsentReady",u)})};U(!0,"gdpr",!1,a,c,s),window._sp_queue??(window._sp_queue=[]),window._sp_queue.push(()=>{var i,p;(p=(i=window._sp_).addEventListener)==null||p.call(i,"onConsentReady",u)})}function ce(t){return t._clientOptions??{}}const ie={"ft.com":ce};function re(t){return new Promise((e,n)=>{const{rootDomain:o}=t._clientOptions||{};if(!o)return e({});const s=ie[o];if(!s||typeof s!="function")return e({...t._clientOptions});const a=()=>{try{e(s(t))}catch(c){n(c)}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a()})}function pe(t,e){if(!e||Number.isFinite(parseFloat(e))||!t.endsWith(e))return!1;const n=t.indexOf(e),o=t[n-1];return o==="."||o===void 0}function ue(t){if(!t)throw new Error("Invalid hostname provided");let n=Object.values(vt).find(o=>{var a;if(o.propertyHref)return!1;const s=(a=o._clientOptions)==null?void 0:a.rootDomain;return s&&pe(t,s)});return n??(n=T),n}const de=new URL(window.location.href).hostname,m=ue(de);(async()=>{var t,e;try{const n=await re(m);oe({propertyConfig:m,...n}),(t=m==null?void 0:m._clientOptions)!=null&&t.privacyManagerId&&((e=m==null?void 0:m._clientOptions)!=null&&e.manageCookiesLinkOverride)&&ae(m)}catch(n){console.error("Error: CMP package configure + initialise Sourcepoint failed.",n)}})()})();
|
|
1
|
+
(function(){"use strict";const V=(t,{credentials:e="omit"}={})=>fetch(`https://session-next.ft.com${t}`,{credentials:e,useCorsProxy:!0}).then(n=>n.ok?n.json():n.text().then(o=>{throw new Error(`Next session responded with "${o}" (${n.status})`)})).catch(n=>{document.body.dispatchEvent(new CustomEvent("oErrors.log",{bubbles:!0,detail:{error:n,info:{component:"next-session-client"}}}))});let I={};const h=(t,e)=>{if(typeof t=="object"){I=t;return}if(typeof t=="string"&&typeof e=="string"){I[t]=e;return}if(typeof t=="string"&&typeof e>"u")return I[t]||null;if(typeof t>"u"&&typeof e>"u")return I;throw new Error("Invalid arguments")};h.clear=()=>{I={}};const y={},x=()=>{const[,t]=/FTSession_s=([^;]+)/.exec(document.cookie)||[];return t},H=()=>{const t=h("uuid");if(t)return Promise.resolve({uuid:t});const e=x();return e?(y.uuid||(y.uuid=V(`/sessions/s/${e}`).then(({uuid:n}={})=>(delete y.uuid,n&&h("uuid",n),{uuid:n}))),y.uuid):Promise.resolve({uuid:void 0})},S="sourcepoint-cmp",j="FTPINK",G="FTConsent",B="sourcepointCmp/VngD.XycZut.595cp9fWdp5XYP9vlFvk",q=".ft.com",W="https://consent.ft.com",k={permutiveAds:{purposes:[2,4,8,9],iabVendors:[361],customVendors:[],specialFeatures:[]},demographicAds:{purposes:[7,9,10],iabVendors:[],customVendors:[],specialFeatures:[]},behaviouralAds:{purposes:[2,4,8,9],iabVendors:[],customVendors:[],specialFeatures:[]},programmaticAds:{purposes:[2,4,8,9],iabVendors:[],customVendors:[],specialFeatures:[]},personalisedMarketing:{purposes:[2,7,8,9,10],iabVendors:[],customVendors:[],specialFeatures:[]},cookies:{purposes:[1,2,3,4,7,8,9,10],iabVendors:[],customVendors:[],specialFeatures:[]}},b=Object.keys(k),r={joinHref:!0,gdpr:{}},T={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyHref:"https://local.ft.com",_clientOptions:{privacyManagerId:827767,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies",rootDomain:"ft.com",includeUsNat:!0}},v={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:31642,_clientOptions:{privacyManagerId:827767,usnatPrivacyManagerId:1143274,ccpaPrivacyManagerId:944882,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies",rootDomain:"ft.com",includeUsNat:!0}},$={...r,accountId:1906,baseEndpoint:"https://consent-manager.pwmnet.com",propertyId:33414,_clientOptions:{rootDomain:"pwmnet.com",includeUsNat:!0}},K={...r,accountId:1906,baseEndpoint:"https://consent-manager.fdiintelligence.com",propertyId:34061,_clientOptions:{rootDomain:"fdiintelligence.com",includeUsNat:!0}},J={...r,accountId:1906,baseEndpoint:"https://consent-manager.thebanker.com",propertyId:34060,_clientOptions:{rootDomain:"thebanker.com",includeUsNat:!0}},X={...r,accountId:1906,baseEndpoint:"https://consent-manager.bankingriskandregulation.com",propertyId:34059,_clientOptions:{rootDomain:"bankingriskandregulation.com",includeUsNat:!0}},Y={...r,accountId:1906,baseEndpoint:"https://consent-manager.sustainableviews.com",propertyId:34058,_clientOptions:{rootDomain:"sustainableviews.com",includeUsNat:!0}},z={...r,accountId:1906,baseEndpoint:"https://consent-manager.ftadviser.com",propertyId:33416,_clientOptions:{rootDomain:"ftadviser.com",includeUsNat:!0}},Z={...r,accountId:1906,baseEndpoint:"https://consent-manager.investorschronicle.co.uk",propertyId:33415,_clientOptions:{rootDomain:"investorschronicle.co.uk",includeUsNat:!0}},Q={...r,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33947,_clientOptions:{rootDomain:"ignitesasia.com"}},tt={...r,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33946,_clientOptions:{rootDomain:"igniteseurope.com"}},et={...r,accountId:1906,baseEndpoint:"https://consent-manager.mandatewire.com",propertyId:35490,_clientOptions:{rootDomain:"mandatewire.com",includeUsNat:!0}},nt={...r,accountId:1906,baseEndpoint:"https://consent-manager.ftlocations.com",propertyId:37407,_clientOptions:{rootDomain:"ftlocations.com",cookieDomain:".ftlocations.com",consentProxyHost:"https://consent.ftlocations.com",includeUsNat:!0}},ot={...r,accountId:1906,baseEndpoint:"https://consent-manager.financialadviserserviceawards.com",propertyId:38297,_clientOptions:{rootDomain:"financialadviserserviceawards.com",includeUsNat:!0}},st={...r,accountId:1906,baseEndpoint:"https://consent-manager.celebrationofinvestment.co.uk",propertyId:38296,_clientOptions:{rootDomain:"celebrationofinvestment.co.uk",includeUsNat:!0}},at={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalprivatebankingawards.com",propertyId:38295,_clientOptions:{rootDomain:"globalprivatebankingawards.com",includeUsNat:!0}},ct={...r,accountId:1906,baseEndpoint:"https://consent-manager.thenextweb.com",propertyId:37672,_clientOptions:{rootDomain:"thenextweb.com"}},it={...r,accountId:1906,baseEndpoint:"https://consent-manager.invisso.org",propertyId:38851,_clientOptions:{rootDomain:"invisso.org"}},rt={...r,accountId:1906,baseEndpoint:"https://consent-manager.abseast.com",propertyId:38888,_clientOptions:{rootDomain:"abseast.com"}},pt={...r,accountId:1906,baseEndpoint:"https://consent-manager.absasia.org",propertyId:38887,_clientOptions:{rootDomain:"absasia.org"}},ut={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalcoveredbonds.com",propertyId:38886,_clientOptions:{rootDomain:"globalcoveredbonds.com"}},dt={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalborrowers.com",propertyId:38885,_clientOptions:{rootDomain:"globalborrowers.com"}},lt={...r,accountId:1906,baseEndpoint:"https://consent-manager.globalabs.org",propertyId:38884,_clientOptions:{rootDomain:"globalabs.org"}},ft={...r,accountId:1906,baseEndpoint:"https://consent-manager.creditrisk-transfer.com",propertyId:38883,_clientOptions:{rootDomain:"creditrisk-transfer.com"}},mt={...r,accountId:1906,baseEndpoint:"https://consent-manager.significantrisktransfer.com",propertyId:38882,_clientOptions:{rootDomain:"significantrisktransfer.com"}},gt={...r,accountId:1906,baseEndpoint:"https://consent-manager.theceeforum.com",propertyId:38882,_clientOptions:{rootDomain:"theceeforum.com"}},_t={...r,accountId:1906,baseEndpoint:"https://consent-manager.fdimarkets.com",propertyId:40508,_clientOptions:{rootDomain:"fdimarkets.com",cookieDomain:".fdimarkets.com",consentProxyHost:"https://consent.fdimarkets.com",includeUsNat:!0}},It={...r,accountId:1906,baseEndpoint:"https://consent-manager.fdibenchmark.com",propertyId:40509,_clientOptions:{rootDomain:"fdibenchmark.com",cookieDomain:".fdibenchmark.com",consentProxyHost:"https://consent.fdibenchmark.com",includeUsNat:!0}},yt={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:41863,propertyHref:"https://globalbondsummit.live.ft.com",_clientOptions:{rootDomain:"ft.com"}},bt={...r,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:41922,propertyHref:"https://longitude.ft.com",_clientOptions:{rootDomain:"ft.com"}},vt=Object.freeze(Object.defineProperty({__proto__:null,FT_DOTCOM_PROD:v,FT_DOTCOM_TEST:T,INVISSO:it,INV_ABSASIA:pt,INV_ABSEAST:rt,INV_CEE_FORUM:gt,INV_CREDITRISK_TRANSFER:ft,INV_GLOBAL_ABS:lt,INV_GLOBAL_BONDS_SUMMIT:yt,INV_GLOBAL_BORROWERS:dt,INV_GLOBAL_COVERED_BONDS:ut,LONGITUDE_FTDOTCOM:bt,MM_IGNITES_ASIA:Q,MM_IGNITES_EUROPE:tt,SIGRISK_TRANSFER:mt,SP_BANKING_RR:X,SP_CELEBRATION_OF_INVESTMENT:st,SP_FDI_BENCHMARK:It,SP_FDI_INTELLIGENCE:K,SP_FDI_MARKETS:_t,SP_FTA_SERVICE_AWARDS:ot,SP_FT_ADVISER:z,SP_FT_LOCATIONS:nt,SP_GLOBAL_PRIVATE_BANKING_AWARDS:at,SP_INVESTORS_CHRONICLE:Z,SP_MANDATE_WIRE:et,SP_PWMNET:$,SP_SUSTAINABLE_VIEWS:Y,SP_THE_BANKER:J,TNW:ct},Symbol.toStringTag,{value:"Module"}));function A(t,e){const n=document.createElement("script");return n.dataset.cmpScript=t,n.innerHTML=e,n}function wt(t){const e=document.createElement("script");return e.src=t,e}const ht={cmpFrames:"https://consent-manager.ft.com/unified/wrapperMessagingWithoutDetection.js"},D={tcfStub:'"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title = "__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();',gppStub:`window.__gpp_addFrame=function(e){if(!window.frames[e])if(document.body){var t=document.createElement("iframe");t.style.cssText="display:none",t.name=e,document.body.appendChild(t)}else window.setTimeout(window.__gpp_addFrame,10,e)},window.__gpp_stub=function(){var e=arguments;if(__gpp.queue=__gpp.queue||[],__gpp.events=__gpp.events||[],!e.length||1==e.length&&"queue"==e[0])return __gpp.queue;if(1==e.length&&"events"==e[0])return __gpp.events;var t=e[0],p=e.length>1?e[1]:null,s=e.length>2?e[2]:null;if("ping"===t)p({gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}},!0);else if("addEventListener"===t){"lastId"in __gpp||(__gpp.lastId=0),__gpp.lastId++;var n=__gpp.lastId;__gpp.events.push({id:n,callback:p,parameter:s}),p({eventName:"listenerRegistered",listenerId:n,data:!0,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else if("removeEventListener"===t){for(var a=!1,i=0;i<__gpp.events.length;i++)if(__gpp.events[i].id==s){__gpp.events.splice(i,1),a=!0;break}p({eventName:"listenerRemoved",listenerId:s,data:a,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else"hasSection"===t?p(!1,!0):"getSection"===t||"getField"===t?p(null,!0):__gpp.queue.push([].slice.apply(e))},window.__gpp_msghandler=function(e){var t="string"==typeof e.data;try{var p=t?JSON.parse(e.data):e.data}catch(e){p=null}if("object"==typeof p&&null!==p&&"__gppCall"in p){var s=p.__gppCall;window.__gpp(s.command,(function(p,n){var a={__gppReturn:{returnValue:p,success:n,callId:s.callId}};e.source.postMessage(t?JSON.stringify(a):a,"*")}),"parameter"in s?s.parameter:null,"version"in s?s.version:"1.1")}},"__gpp"in window&&"function"==typeof window.__gpp||(window.__gpp=window.__gpp_stub,window.addEventListener("message",window.__gpp_msghandler,!1),window.__gpp_addFrame("__gppLocator"));
|
|
2
|
+
`};function St(t){const e=document.createDocumentFragment();return e.appendChild(A("tcf",D.tcfStub)),t.includeUsNat&&e.appendChild(A("gpp",D.gppStub)),e.appendChild(wt(ht.cmpFrames)),e}function Ct(t,e){const{userId:n,includeUsNat:o}=e;return n&&(t.authId=n),o&&(t.usnat=t.usnat||{}),t}function Ot(t,e){const{_clientOptions:n,...o}=t,s=Ct(o,e);window._sp_={config:s},window._sp_queue??(window._sp_queue=[]),document.head.appendChild(St(e))}function Et(t,e,n,{formOfWordsId:o,cookieDomain:s}){const c=Object.keys(t).reduce((u,i)=>(u[i]={onsite:{status:t[i],lbi:!1,source:S,fow:o}},i==="cookies"&&(u.cookies.userAccept={status:t[i],lbi:!1,source:S,fow:o}),u),{});return e?{setConsentCookie:!0,formOfWordsId:o,consentSource:S,cookieDomain:s,skipDuplicateUpdates:!n,data:c}:{data:c,cookieDomain:s}}const _={CALIFORNIA:"usca",US_NATIONAL:"usnat"},P={[_.CALIFORNIA]:{excludedCategories:{}},[_.US_NATIONAL]:{excludedCategories:{personalisedMarketing:!0}}};function Nt(t){const{applicableSections:e,supportedAPIs:n}=t,o=e[0];if(o===-1||typeof o>"u")return;const s=n.find(c=>c.startsWith(`${o}:`));return s==null?void 0:s.split(":")[1]}function kt(t){const{SaleOptOut:e,SharingOptOut:n,Gpc:o}=t,{excludedCategories:s}=P[_.CALIFORNIA],a=e!==1&&n!==1&&!o,c={};for(const u of b){if(u in s){c[u]=!0;continue}c[u]=a}return c}function Tt(t){const{SaleOptOut:e,SharingOptOut:n,TargetedAdvertisingOptOut:o}=t,{excludedCategories:s}=P[_.US_NATIONAL],a=JSON.parse(localStorage.getItem("ft_sp_marketing_optout")||"{}"),c=e!==1&&n!==1&&o!==1,u={};for(const i of b){if(i in s){u[i]=!0;continue}u[i]=c}if(a.usnat)for(const i of b)u[i]=!1;return u}const At={[_.CALIFORNIA]:kt,[_.US_NATIONAL]:Tt};async function L(){return new Promise((t,e)=>{try{window.__gpp?window.__gpp("ping",t):e(new Error("GPP API is not available on page"))}catch(n){e(n)}})}async function Dt(){const t=await L(),{parsedSections:e}=t,n=Nt(t);if(!n||!e[n])throw new Error("GPP parser was called without an applicable section");const o=e[n],s=At[n];if(!s||typeof s!="function")throw new Error(`No parser found for applicable GPP section: ${n}`);return s(o)}function Pt(t,{purpose:e,vendor:n,specialFeatureOptins:o={}}){const s=k[t],a=(e==null?void 0:e.consents)||{},c=(e==null?void 0:e.legitimateInterests)||{},u=(n==null?void 0:n.consents)||{},i=(n==null?void 0:n.legitimateInterests)||{},p=s.purposes.every(l=>a[l]||c[l]),f=s.iabVendors.every(l=>u[l]||i[l]),d=s.specialFeatures.every(l=>o[l]===!0),g=s.purposes.every(l=>a[l]===!0);return t==="cookies"?g&&f&&d:p&&f&&d}async function M(){return new Promise((t,e)=>{try{window.__tcfapi?window.__tcfapi("addEventListener",2,t):e(new Error("TCF API is not available on page"))}catch(n){e(n)}})}async function Lt(){const t=await M(),e={};for(const n of b)e[n]=Pt(n,t);return e}async function Mt(t){const n={gdpr:Lt,usnat:Dt}[t];if(!n)throw new Error("Unable to update user consent. Unsupported consent legislation.");return n()}function Ft(){const e=Object.fromEntries(document.cookie.split("; ").map(o=>o.split("=")))[G];if(!e)return{};const n=decodeURIComponent(e);return Object.fromEntries(n.split(",").map(o=>{const[s,a]=o.split(":");return[s,a==="on"]}))}function Rt(t,e){return Object.keys(t).some(o=>{const s=`${o.toLowerCase()}Onsite`;return t[o]!==e[s]})}function Ut({userId:t,useConsentStore:e}){return!!t&&e===!0}function Vt(t,e){return t?`${e.consentProxyHost}/__consent/consent-record/${j}/${e.userId}?updateFtConsentCookie=true`:`${e.consentProxyHost}/__consent/consent-record-cookie?cookieDomain=${e.cookieDomain}`}const F={gdpr:!1,usnat:!1},C=Object.assign({},F);function R(t){C[t]=!0}function xt(t){return C[t]}function Ht(){Object.assign(C,F)}async function jt(t){return xt(t)?t==="gdpr"?(await M()).eventStatus==="useractioncomplete":t==="usnat"?(await L()).cmpDisplayStatus==="hidden":!1:!1}function Gt(){window.__tcfapi&&window.__tcfapi("addEventListener",2,t=>{t.eventStatus==="cmpuishown"&&R("gdpr")}),window.__gpp&&window.__gpp("addEventListener",({pingData:t})=>{t.cmpDisplayStatus==="visible"&&R("usnat")})}async function Bt(t,e){try{const n=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"});n.ok||console.error("Unable to save consent preferences",n.status)}catch(n){console.error("An error occurred while saving consent",n)}finally{document.dispatchEvent(new CustomEvent("onCmpConsentSaveCompleted",{bubbles:!0}))}}const qt=()=>{document.dispatchEvent(new CustomEvent("onCmpConsentReady",{bubbles:!0}))};function Wt(t){return async function(n,o,s,a){if(qt(),t.disableFTCookies||!t.includeUsNat&&n==="usnat"||!a.applies||!s)return;let c;try{c=await Mt(n)}catch(g){console.error(g)}if(!c||!Rt(c,Ft()))return;window.dataLayer=(window==null?void 0:window.dataLayer)||[],window.dataLayer.push({event:"consentUpdate",consentUpdateBehaviouralAds:c.behaviouralAds,consentUpdateCookies:c.cookies});const i=await jt(n),p=Ut(t),f=Vt(p,t),d=Et(c,p,i,t);await Bt(f,d),i&&Ht(),document.dispatchEvent(new CustomEvent("oCookieMessage.act",{bubbles:!0}))}}const O="cookie-message",$t="manage-cookies";let E=Object.freeze({activeComponent:O,messageId:0,privacyManagerId:0});function Kt(t){return typeof t=="object"&&t!==null&&t.constructor===Object&&Object.prototype.toString.call(t)==="[object Object]"}const Jt=()=>({...E}),N=t=>{if(!Kt(t)){console.error("Invalid state changes");return}E={...E,...t}},Xt=["adsDisableInternalCMP","pwm.cmp"];function Yt(t,e){const n=zt(t.flags);window._sp_queue=window._sp_queue??[],window._sp_queue.push(()=>{var o,s;for(const[a,c]of Object.entries(Qt))(s=(o=window._sp_).addEventListener)==null||s.call(o,a,c({...t,flags:n}))}),te({...t,flags:n},e),ee()}function zt(t){const e={};return typeof t=="object"&&Xt.forEach(n=>{Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}),e}function Zt(t){if(!t)return;const e=document.body,n=new CustomEvent("oTracking.event",{bubbles:!0,cancelable:!0,detail:t.detail});e.dispatchEvent(n)}function w({trackingProps:t,action:e,triggerAction:n}){let o;const s=Jt(),{product:a,app:c,flags:u}=t;s.activeComponent===O?o=s.messageId:o=s.privacyManagerId;const i={detail:{component:{id:o,name:s.activeComponent,type:"overlay",subtype:"cmp"},category:"component",action:e,...n&&{trigger_action:n},...a&&{product:a},...c&&{app:c},custom:[{cookie_toggle_flag:u}],url:window.document.location.href||null}};Zt(i)}const Qt={onMessageChoiceSelect:t=>(e,n,o)=>{const a={11:"accept_all",12:"manage_cookies",13:"reject_all"}[o];a&&w({trackingProps:t,action:"click",triggerAction:a})},onMessageReady:t=>()=>{w({trackingProps:t,action:"view"})},onMessageReceiveData:()=>(t,e)=>{const{messageId:n}=e;n&&N({messageId:n})},onError:t=>(e,n)=>{w({trackingProps:t,action:"error",triggerAction:n})},onPMCancel:()=>()=>{N({activeComponent:O})}};function te(t,e){window.addEventListener("message",function(n){if(n.origin!==e)return;const o={1:"save_and_close",11:"accept_all",13:"reject_all"},{data:{fromPM:s,actionType:a,messageId:c="0"}={}}=n;s&&(+c&&N({activeComponent:$t,privacyManagerId:+c}),!(!a||!o[a])&&w({trackingProps:t,action:"click",triggerAction:o[a]}))},!1)}function ee(){document.addEventListener("onCmpConsentSaveCompleted",()=>{const t=document.cookie.match(/FTConsent=([^;]+)/);if(!t)return;const e=t[1];localStorage.setItem("__lastFtc",e)})}const ne="6.11.4";async function oe(t){const{useFTSession:e=!0,consentProxyHost:n=W,cookieDomain:o=q,formOfWordsId:s=B,useConsentStore:a=!0,trackingContext:c={},disableFTCookies:u=!1,includeUsNat:i=!1}=t||{};let{propertyConfig:p=v,userId:f}=t||{};if(typeof window>"u"){console.error("The CMP client can only be initialised in a browser context");return}if(window.FT_CMP_CLIENT_VERSION=ne,!f&&e)try{const d=await H();f=d==null?void 0:d.uuid}catch(d){console.error(d)}p=se(p),Ot(p,{userId:f,includeUsNat:i}),Gt(),window._sp_queue.push(()=>{var d,g;(g=(d=window._sp_)==null?void 0:d.addEventListener)==null||g.call(d,"onConsentReady",Wt({userId:f,consentProxyHost:n,cookieDomain:o,formOfWordsId:s,useConsentStore:a,disableFTCookies:u,includeUsNat:i}))}),Yt(c,p.baseEndpoint)}function se(t){if(!(t!=null&&t.accountId))throw new Error("Please pass a valid property config");return t.events&&(console.warn("[cmp-client] Passing an events map in the config is not supported and will be ignored. Please use window._sp_.addEventListener() to listen for events"),delete t.events),t}function U(t,e,n,o,s,a){const{text:c,onClick:u}=o[e],i=document.querySelectorAll(`a[href*="${a}"]`);for(const p of i)(n||t)&&(s.has(p)&&p.removeEventListener("click",s.get(p)),p.innerText=c,p.addEventListener("click",u),s.set(p,u))}function ae({_clientOptions:t}=v){const{privacyManagerId:e,ccpaPrivacyManagerId:n,usnatPrivacyManagerId:o,manageCookiesLinkOverride:s}=t??v._clientOptions,a={usnat:{text:"Do Not Sell My Personal Information",onClick:i=>{var p;i.preventDefault(),(p=window._sp_.usnat)==null||p.loadPrivacyManagerModal(o)}},ccpa:{text:"Do Not Sell My Personal Information",onClick:i=>{var p;i.preventDefault(),(p=window._sp_.ccpa)==null||p.loadPrivacyManagerModal(n)}},gdpr:{text:"Manage Cookies",onClick:i=>{var p;i.preventDefault(),(p=window._sp_.gdpr)==null||p.loadPrivacyManagerModal(e)}}},c=new Map,u=function(i,p,f,d){U(!1,i,d.applies,a,c,s),d.applies&&window._sp_queue.push(()=>{var g,l;(l=(g=window._sp_).removeEventListener)==null||l.call(g,"onConsentReady",u)})};U(!0,"gdpr",!1,a,c,s),window._sp_queue??(window._sp_queue=[]),window._sp_queue.push(()=>{var i,p;(p=(i=window._sp_).addEventListener)==null||p.call(i,"onConsentReady",u)})}function ce(t){return t._clientOptions??{}}const ie={"ft.com":ce};function re(t){return new Promise((e,n)=>{const{rootDomain:o}=t._clientOptions||{};if(!o)return e({});const s=ie[o];if(!s||typeof s!="function")return e({...t._clientOptions});const a=()=>{try{e(s(t))}catch(c){n(c)}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a()})}function pe(t,e){if(!e||Number.isFinite(parseFloat(e))||!t.endsWith(e))return!1;const n=t.indexOf(e),o=t[n-1];return o==="."||o===void 0}function ue(t){if(!t)throw new Error("Invalid hostname provided");let n=Object.values(vt).find(o=>{var a;if(o.propertyHref)return!1;const s=(a=o._clientOptions)==null?void 0:a.rootDomain;return s&&pe(t,s)});return n??(n=T),n}const de=new URL(window.location.href).hostname,m=ue(de);(async()=>{var t,e;try{const n=await re(m);oe({propertyConfig:m,...n}),(t=m==null?void 0:m._clientOptions)!=null&&t.privacyManagerId&&((e=m==null?void 0:m._clientOptions)!=null&&e.manageCookiesLinkOverride)&&ae(m)}catch(n){console.error("Error: CMP package configure + initialise Sourcepoint failed.",n)}})()})();
|
|
@@ -315,6 +315,7 @@ export declare const INV_GLOBAL_BONDS_SUMMIT: {
|
|
|
315
315
|
accountId: number;
|
|
316
316
|
baseEndpoint: string;
|
|
317
317
|
propertyId: number;
|
|
318
|
+
propertyHref: string;
|
|
318
319
|
_clientOptions: {
|
|
319
320
|
rootDomain: string;
|
|
320
321
|
};
|
|
@@ -325,6 +326,7 @@ export declare const LONGITUDE_FTDOTCOM: {
|
|
|
325
326
|
accountId: number;
|
|
326
327
|
baseEndpoint: string;
|
|
327
328
|
propertyId: number;
|
|
329
|
+
propertyHref: string;
|
|
328
330
|
_clientOptions: {
|
|
329
331
|
rootDomain: string;
|
|
330
332
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/lib/properties.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;CAW1B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAa1B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;CASrB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;CAS/B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CASzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CASzB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;CAShC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CASzB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;CASlC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;CAQ3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;CAQ7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAS3B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;CAW3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;CASjC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;CASxC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;CAS5C,CAAC;AAEF,eAAO,MAAM,GAAG;;;;;;;;;CAQf,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;CAQnB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;CAQvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;CAQvB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;CAQpC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;CAQhC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;CAQ1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;CAQnC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;CAQ5B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;CAQzB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;CAW1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAW5B,CAAC;AAEF,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/lib/properties.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;CAW1B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAa1B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;CASrB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;CAS/B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CASzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CASzB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;CAShC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;CASzB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;CASlC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;CAQ3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;CAQ7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAS3B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;CAW3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;CASjC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;CASxC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;CAS5C,CAAC;AAEF,eAAO,MAAM,GAAG;;;;;;;;;CAQf,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;CAQnB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;CAQvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;CAQvB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;CAQpC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;CAQhC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;CAQ1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;CAQnC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;CAQ5B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;CAQzB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;CAW1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAW5B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;CASnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;CAS9B,CAAC"}
|
package/dist/src/utils/url.d.ts
CHANGED
|
@@ -293,6 +293,7 @@ export declare function getPropertyConfigByHostname(hostname: string): {
|
|
|
293
293
|
accountId: number;
|
|
294
294
|
baseEndpoint: string;
|
|
295
295
|
propertyId: number;
|
|
296
|
+
propertyHref: string;
|
|
296
297
|
_clientOptions: {
|
|
297
298
|
rootDomain: string;
|
|
298
299
|
};
|
|
@@ -302,6 +303,7 @@ export declare function getPropertyConfigByHostname(hostname: string): {
|
|
|
302
303
|
accountId: number;
|
|
303
304
|
baseEndpoint: string;
|
|
304
305
|
propertyId: number;
|
|
306
|
+
propertyHref: string;
|
|
305
307
|
_clientOptions: {
|
|
306
308
|
rootDomain: string;
|
|
307
309
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAWtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAWtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3D"}
|