{"version":3,"sources":["Feature.Klaro.js"],"names":["getKlaroCookie","name","match","document","cookie","RegExp","replace","decodeURI","setKlaroCookie","consent","service","expires","cdate","Date","value","setTime","getTime","setHours","toUTCString","encodeURI","DoKlaroConsent","console","log","$","ajax","type","url","data","consentStatus","appName","pagePath","window","location","href","userAgent","navigator","consentText","content","error","success","DoKlaroCallback","countryCode","klaroConfig","EU_countries","isGDPR","includes","default","hideDeclineAll","hideLearnMore","services","optOut","callback","script","createElement","setAttribute","src","body","appendChild","DoKlaroInit","clientIP","jQuery","headers","cf-connecting-ip","response","keyValue","lines","split","shouldSkip","forEach","line","decodeURIComponent"],"mappings":"AAAA,SAASA,eAAeC,GAEpB,IAAIC,EAAQC,SAASC,OAAOF,MAAMG,OAAO,cAAuBJ,EADlCK,QAAQ,4BAA6B,QACK,aACxE,OAAOJ,EAAQK,UAAUL,EAAM,IAAM,GAEzC,SAASM,eAAeP,EAAMQ,EAASC,GACnC,IAAIC,EACAC,EAAQ,IAAIC,KACZC,EAAQ,KAAOJ,EAAU,KAAOD,EAAU,IAC1CA,EACAG,EAAMG,QAAQH,EAAMI,UAAY,SAEhCJ,EAAMK,SAAS,GAAI,EAAG,EAAG,GAE7BN,EAAU,aAAeC,EAAMM,cAC/Bf,SAASC,OAASH,EAAO,KAAOkB,UAAUL,IAAU,IAAMH,EAAU,WAExE,SAASS,eAAeX,EAASC,GAC7BW,QAAQC,IAAI,kCAAoCZ,EAAQT,KAAO,aAAeQ,GAC9E,IAAIK,EAAQd,eAAe,sBACtBS,EAKY,gBAATK,GACAN,eAAe,qBAAsBC,EAASC,EAAQT,MAL7C,IAATa,GAAwB,gBAATA,GACfN,eAAe,qBAAsBC,EAASC,EAAQT,MAQ9DsB,EAAEC,KAAK,CACHC,KAAM,OACNC,IAAK,gDACLC,KAAM,CACFC,cAAenB,EACfoB,QAASnB,EACToB,SAAUC,OAAOC,SAASC,KAC1BC,UAAWC,UAAUD,UACrBE,YATU,2OAWdC,QAAS,OACTC,MAAO,WACHjB,QAAQC,IAAI,qDAEhBiB,QAAS,WACLlB,QAAQC,IAAI,kCAAoCb,MAK5D,SAAS+B,gBAAgBC,EAAaC,EAAaC,GAC/CtB,QAAQC,IAAI,wBAA0BmB,GACtC,IAAIG,GAAS,EACTD,EAAaE,SAASJ,KACtBG,GAAS,GAEbvB,QAAQC,IAAI,kBAAoBsB,GAE5BA,GACAF,EAAYI,SAAU,EACtBJ,EAAYK,gBAAiB,EAC7BL,EAAYM,eAAgB,EAC5BN,EAAYO,SAAS,GAAGH,SAAU,EAClCJ,EAAYO,SAAS,GAAGC,QAAS,IAEjCR,EAAYI,SAAU,EACtBJ,EAAYK,gBAAiB,EAC7BL,EAAYM,eAAgB,EAC5BN,EAAYO,SAAS,GAAGH,SAAU,EAClCJ,EAAYO,SAAS,GAAGC,QAAS,GAErCR,EAAYS,SAAW/B,eACvB,IAAIgC,EAASjD,SAASkD,cAAc,UACpCD,EAAOE,aAAa,cAAe,eACnCF,EAAO3B,KAAO,kBACd2B,EAAOG,IAAM,gCACbpD,SAASqD,KAAKC,YAAYL,GAG9B,SAASM,YAAYhB,EAAaC,EAAcgB,GAC5CC,OAAOpC,KAAK,CACRE,IAAK,iBACLmC,QAAS,CAAEC,mBAAoBH,GAC/BpB,QAAS,SAAUwB,GACf,IAEIC,EAFAC,EAAQF,EAASG,MAAM,MACvBC,GAAa,EAEjBF,EAAMG,QAAQ,SAAUC,GAChBF,GAIe,QADnBH,EAAWK,EAAKH,MAAM,MACT,KACTC,GAAa,KAGrB1B,YAAc6B,mBAAmBN,EAAS,IAAM,IAChDxB,gBAAgBC,YAAaC,EAAaC,IAE9CL,MAAO,WACHG,YAAc,KACdD,gBAAgBC,YAAaC,EAAaC","file":"Feature.Klaro.min.js","sourcesContent":["function getKlaroCookie(name) {\n function escape(s) { return s.replace(/([.*+?\\^$(){}|\\[\\]\\/\\\\])/g, '\\\\$1'); }\n var match = document.cookie.match(RegExp('(?:^|;\\\\s*)' + escape(name) + '=([^;]*)'));\n return match ? decodeURI(match[1]) : '';\n}\nfunction setKlaroCookie(name, consent, service) {\n var expires = \"\";\n var cdate = new Date();\n var value = '{\"' + service + '\":' + consent + '}';\n if (consent) {\n cdate.setTime(cdate.getTime() + (1095 * 1440 * 60 * 1000));\n } else {\n cdate.setHours(24, 0, 0, 0);\n }\n expires = \"; expires=\" + cdate.toUTCString();\n document.cookie = name + \"=\" + (encodeURI(value) || \"\") + expires + \"; path=/\";\n}\nfunction DoKlaroConsent(consent, service) {\n console.log('Klaro: DoKlaroConsent service: ' + service.name + ' consent: ' + consent);\n var value = getKlaroCookie('SprayCookieConsent');\n if (!consent) {\n if (value != '' && value != '{\"GTM\":true}') {\n setKlaroCookie('SprayCookieConsent', consent, service.name);\n }\n } else {\n if (value != '{\"GTM\":true}') {\n setKlaroCookie('SprayCookieConsent', consent, service.name);\n }\n }\n var consentText = \"This website uses cookies. By continuing to browse or by clicking 'Accept' you agree to the storing of first and third party cookies on your device to enhance site navigation, analyze site usage and assist in our marketing efforts.\";\n $.ajax({\n type: \"POST\",\n url: \"/api/spray/PageContent/UpdateCookieAcceptance\",\n data: {\n consentStatus: consent,\n appName: service,\n pagePath: window.location.href,\n userAgent: navigator.userAgent,\n consentText: consentText\n },\n content: \"html\",\n error: function () {\n console.log('Klaro: Failed to update cookie consent on server');\n },\n success: function () {\n console.log('Klaro: Cookie consent updated: ' + consent);\n }\n });\n}\n\nfunction DoKlaroCallback(countryCode, klaroConfig, EU_countries) {\n console.log(\"Klaro: Country code: \" + countryCode);\n var isGDPR = false;\n if (EU_countries.includes(countryCode)) {\n isGDPR = true;\n }\n console.log(\"Klaro: isGDPR: \" + isGDPR);\n\n if (isGDPR) {\n klaroConfig.default = false;\n klaroConfig.hideDeclineAll = false;\n klaroConfig.hideLearnMore = false;\n klaroConfig.services[0].default = false;\n klaroConfig.services[0].optOut = false;\n } else {\n klaroConfig.default = true;\n klaroConfig.hideDeclineAll = true;\n klaroConfig.hideLearnMore = true;\n klaroConfig.services[0].default = true;\n klaroConfig.services[0].optOut = true;\n }\n klaroConfig.callback = DoKlaroConsent;\n var script = document.createElement('script');\n script.setAttribute(\"data-config\", \"klaroConfig\");\n script.type = 'text/javascript';\n script.src = '/scripts/klaro-v0.7.18.min.js';\n document.body.appendChild(script);\n}\n\nfunction DoKlaroInit(klaroConfig, EU_countries, clientIP) {\n jQuery.ajax({\n url: \"/cdn-cgi/trace\",\n headers: { 'cf-connecting-ip': clientIP },\n success: function (response) {\n var lines = response.split(\"\\n\");\n var shouldSkip = false;\n var keyValue;\n lines.forEach(function (line) {\n if (shouldSkip) {\n return;\n }\n keyValue = line.split(\"=\");\n if (keyValue[0] == \"loc\") {\n shouldSkip = true;\n }\n });\n countryCode = decodeURIComponent(keyValue[1] || \"\");\n DoKlaroCallback(countryCode, klaroConfig, EU_countries);\n },\n error: function () {\n countryCode = \"US\";\n DoKlaroCallback(countryCode, klaroConfig, EU_countries);\n }\n });\n}"]}