; (()=>{var e={1034(){!function(e){"use strict";var t,o;window.CTRY_CURRENCY_LIST={AD:{code:"EUR",symbol:"€",flip:!1},AR:{code:"ARS",symbol:"ARS",flip:!0},AT:{code:"EUR",symbol:"€",flip:!1},AU:{code:"AUD",symbol:"A$",flip:!1},BE:{code:"EUR",symbol:"€",flip:!1},BL:{code:"EUR",symbol:"€",flip:!1},BR:{code:"BRL",symbol:"R$",flip:!1},CA:{code:"CAD",symbol:"CAD $",flip:!1},CH:{code:"CHF",symbol:"CHF ",flip:!1},CY:{code:"EUR",symbol:"€",flip:!1},DE:{code:"EUR",symbol:"€",flip:!0},DK:{code:"DKK",symbol:"kr",flip:!0},EE:{code:"EUR",symbol:"€",flip:!1},ES:{code:"EUR",symbol:"€",flip:!1},FI:{code:"EUR",symbol:"€",flip:!1},FR:{code:"EUR",symbol:"€",flip:!1},GB:{code:"GBP",symbol:"£",flip:!1},GR:{code:"EUR",symbol:"€",flip:!1},ID:{code:"IDR",symbol:"Rp",flip:!0},IE:{code:"EUR",symbol:"€",flip:!1},IN:{code:"INR",symbol:"₹",flip:!0},IT:{code:"EUR",symbol:"€",flip:!1},JP:{code:"JPY",symbol:"¥",flip:!1},LT:{code:"EUR",symbol:"€",flip:!1},LU:{code:"EUR",symbol:"€",flip:!1},LV:{code:"EUR",symbol:"€",flip:!1},MC:{code:"EUR",symbol:"€",flip:!1},MF:{code:"EUR",symbol:"€",flip:!1},MT:{code:"EUR",symbol:"€",flip:!1},MX:{code:"MXN",symbol:"MXN",flip:!0},NL:{code:"EUR",symbol:"€",flip:!1},NO:{code:"NOK",symbol:"kr",flip:!0},NZ:{code:"NZD",symbol:"NZ $",flip:!1},PH:{code:"PHP",symbol:"₱",flip:!0},PL:{code:"PLN",symbol:"zł",flip:!0},PM:{code:"EUR",symbol:"€",flip:!1},PT:{code:"EUR",symbol:"€",flip:!1},RU:{code:"RUB",symbol:"руб",flip:!0},SE:{code:"SEK",symbol:"kr",flip:!0},SI:{code:"EUR",symbol:"€",flip:!1},SK:{code:"EUR",symbol:"€",flip:!1},SM:{code:"EUR",symbol:"€",flip:!1},TF:{code:"EUR",symbol:"€",flip:!1},TH:{code:"THB",symbol:"฿",flip:!0},TR:{code:"TRY",symbol:"₺",flip:!0},UA:{code:"UAH",symbol:"₴",flip:!0},US:{code:"USD",symbol:"$",flip:!1},VA:{code:"EUR",symbol:"€",flip:!1},ZA:{code:"ZAR",symbol:"R",flip:!1}},window,t=function(e){let t={};if(e.length)switch(t={isMac:!1,isiPhone:!1,isiPad:!1,isWindows:!1,isAndroid:!1,isChromeOS:!1},e){case"windows":t.name="windows",t.isWindows=!0;break;case"mac":t.name="mac",t.isMac=!0;break;case"android":t.name="android",t.isAndroid=!0;break;case"ios":t.name="ios",t.isiPhone=!0;break;case"chromebook":t.name="chromebook",t.isChromeOS=!0;break;default:t.name="",t.isWindows=!0}else{const e=navigator.userAgentData&&navigator.userAgentData.platform||navigator.userAgent;t={isMac:!(!navigator.platform.match(/(Mac)/i)||0!==navigator.maxTouchPoints),isiPhone:!!e.match(/(iPhone)/i),isiPad:!!("iPad"===e||e.match(/(iPad)/i)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1),isWindows:!!e.match(/(Windows)/i),isAndroid:!!e.match(/(Android)/i),isChromeOS:navigator.userAgentData&&navigator.userAgentData.brands.some(function(e){return/Chrome OS/i.test(e.brand)})||/\bCrOS\b/.test(e)},t.name,t.name=t.name||t.isWindows&&"windows",t.name=t.name||t.isMac&&"mac",t.name=t.name||t.isAndroid&&"android",t.name=t.name||(t.isiPad||t.isiPhone)&&"ios",t.name=t.name||t.isChromeOS&&"chromebook"}return t.name||(t.isWindows=!0,t.name="windows"),t},o=function(){const e={},t=window.location.search.substring(1).split("&");if(""!=t[0])for(let o=0;o-1?document.location.href.substring(e.indexOf("?")+1):""},1==e.url.get("mwbqa")&&(e.isBeingTested=!0,"false"===e.url.get("geo")&&(e.isGeoDetecting=!1),e.country=e.url.get("ctry")||e.country),e.isGeoDetecting&&(e.geoData=function(){const e=window.SegmentationApiDataStorage?.getSync();return{ip:e?.ip?.value||"",ipHash:e?.ipHash?.value||"",classC:e?.classC?.value||"",location:{city:e?.locationCity?.value||"",country:e?.locationCountry?.value||"",countryCode:e?.locationCountryCode?.value||"",state:e?.locationState?.value||"",stateCode:e?.locationStateCode?.value||"",zipcode:e?.locationZipCode?.value||"",latitude:e?.locationLatitude?.value||"",longitude:e?.locationLongitude?.value||"",continentCode:e?.locationContinentCode?.value||""},connectionDetails:{isp:e?.connectionDetailsIsp?.value||"",connectionType:e?.connectionDetailsConnectionType?.value||"",autonomousSystemNumber:e?.connectionDetailsAsn?.value||"",autonomousSystemOrg:e?.connectionDetailsAsOrg?.value||""}}}(),void 0!==e.geoData.location?((!e.isBeingTested||e.isBeingTested&&null===e.url.get("ctry"))&&(e.country=e.geoData.location.countryCode),e.continent=e.geoData.location.continentCode,e.hsh=e.geoData.ipHash,e.countryError=null):void 0!==e.geoData.error&&(e.countryError=e.geoData.error.errorCode)),void 0===e.country&&(e.country="US"),window.country=e.country,window.hsh=e.hsh,window.countryError=e.countryError,e.currency=window.CTRY_CURRENCY_LIST.US.code,e.currencySymbol=window.CTRY_CURRENCY_LIST.US.symbol,e.currencyPostionFlip=window.CTRY_CURRENCY_LIST.US.flip,void 0!==window.CTRY_CURRENCY_LIST[e.country]?(e.currency=window.CTRY_CURRENCY_LIST[e.country].code,e.currencySymbol=window.CTRY_CURRENCY_LIST[e.country].symbol,e.currencyPostionFlip=window.CTRY_CURRENCY_LIST[e.country].flip):e.currencySymbol="US$",e.device=t(e.url.get("device")),e.device.isMobile=e.device.isiPhone||e.device.isiPad||e.device.isAndroid,e.device.isDesktop=!e.device.isMobile,e.res={},e.res.width=window.innerWidth,e.res.height=window.innerHeight,e.res.isDevice=function(t){let o=!1;switch(e.res.updateResolution(),t){case"small-phone":e.res.width<400&&(o=!0);break;case"phone":e.res.width>=400&&e.res.width<600&&(o=!0);break;case"tablet":e.res.width>=600&&e.res.width<900&&(o=!0);break;case"laptop":e.res.width>=900&&e.res.width<1200&&(o=!0);break;case"desktop":e.res.width>=1200&&e.res.width<1800&&(o=!0);break;case"large-desktop":e.res.width>=1800&&(o=!0)}return o},e.res.updateResolution=function(){e.res.width=window.innerWidth,e.res.height=window.innerHeight}},global_variables.user=window.MESS,e(document).ready(function(){jQuery('a[href^="#"]').not(".tech-specs-v2__menu-link, .main-navigation a, .malwarebytes-left-sidebar a").on("click",function(e){const t=this.getAttribute("href").replace("#","");if(document.getElementById(t)&&""!==this.getAttribute("href")&&null!==this.getAttribute("href")&&"#"!==this.getAttribute("href")){const t=jQuery(this.getAttribute("href"));t.length&&(e.preventDefault(),jQuery("html, body").stop().animate({scrollTop:t.offset().top-150},300))}}),e("[data-tooltip]").each(function(){const t=e(this);t.attr("title")||(t.css("cursor","pointer"),t.addClass("has-tooltip"))});const t=document.querySelectorAll(".animate");if(t.length){function o(){t.forEach((t,o)=>{e(t).hasClass("active")||t.getBoundingClientRect().top<.85*window.innerHeight&&setTimeout(()=>{e(t).addClass("active")},150*o)})}window.addEventListener("scroll",o),o()}})}(jQuery),function(){const e=document.documentElement,t=document.querySelectorAll(".apps-container .apps-moving");if(!t||!t.length)return;const o=getComputedStyle(e).getPropertyValue("--marquee-elements-displayed");e.style.setProperty("--marquee-elements",t[0].children.length),e.style.setProperty("--marquee-elements-short",t[1].children.length),Array.from(t).forEach(e=>{for(let t=0;t'),e(document).on("click",".main-navigation ul.primary-menu > li > a, ul.secondary-menu > li > a",function(t){if(e(this).parent().hasClass("menu-item-has-megamenu"))return t.preventDefault(),!1}),e(document).on("click",".site-header ul.secondary-menu > li > a",function(t){if(e(this).parent().hasClass("menu-item-has-children"))return t.preventDefault(),!1}),e(".site-header__nav ul.secondary-menu > li > a").each(function(){const t=e(this).text(),o=e('
  • ').text("< "+t);e(this).next("ul").prepend(o)}),e(document).on("click",".main-navigation ul.primary-menu > li > a, .site-header ul.secondary-menu > li > a",function(){e(this).parent().siblings().removeClass("active"),e(this).parent().toggleClass("active"),e(this).parent().hasClass("active")?e(this).parents(".site-header__nav").addClass("submenu-open"):e(this).parents(".site-header__nav").removeClass("submenu-open")}),e(document).on("click",".main-navigation ul.primary-menu > li .wp-block-heading, .site-header ul.secondary-menu > li .backtitle",function(){e(this).parents("li").removeClass("active"),e(this).parents(".site-header__nav").removeClass("submenu-open")}),e(document).on("click",".site-header-searchbox > .searchbox-nav, .site-header-searchbox > .searchbox-nav-mobile",function(){e(this).parent().toggleClass("active")}),e(document).on("click",".lang-select",function(){e(this).siblings(".lang-modal").addClass("active"),e(this).parents(".site-header").addClass("lang-modal-open")}),e(document).on("click",".lagn-closer",function(){e(this).parent().removeClass("active"),e(this).parents(".site-header").removeClass("lang-modal-open")}),e(document).mouseup(function(t){0===e(t.target).closest(".site-header ul.secondary-menu > li").length&&e(".site-header ul.secondary-menu > li").removeClass("active")}),e(document).mouseup(function(t){0===e(t.target).closest(".wp-block-malware-bytes-menu-links").length&&e(".main-navigation ul.primary-menu li").removeClass("active")}),e(document).mouseup(function(t){"searchbox-nav"!==e(t.target).attr("class")&&0===e(t.target).closest(".site-header-searchbox .search-modal").length&&e(".site-header-searchbox").removeClass("active")})}),window.addEventListener("scroll",function(){const e=document.querySelector(".site-header__actions > .is-style-download-cta");e&&e.classList.toggle("is-style-download-cta--scrolled",window.scrollY>=1)});const t=".site-header.mb-header-cyrus";e(t)&&window.addEventListener("scroll",function(){window.scrollY>=100?e(t).addClass("sticky"):e(t).removeClass("sticky")})}(jQuery)},4384(){const e="mwb:datagrail:load:error";new class{constructor(){this.talkableScriptSelector='script[data-mwb-talkable="true"][data-consent-id][type="text/plain"]',this.dataGrailErrorHandler=null,this.setupHooks()}setupHooks(){this.hasTalkableScript()&&(window.__mwb__dataGrailLoaded||(window.__mwb__dataGrailLoadFailed?this.activateTalkableScript():(this.dataGrailErrorHandler=()=>{this.cleanup(),this.activateTalkableScript()},window.addEventListener(e,this.dataGrailErrorHandler))))}cleanup(){this.dataGrailErrorHandler&&(window.removeEventListener(e,this.dataGrailErrorHandler),this.dataGrailErrorHandler=null)}hasTalkableScript(){return!!document.querySelector(this.talkableScriptSelector)}activateTalkableScript(){const e=document.querySelector(this.talkableScriptSelector);if(!e)return;const t=document.createElement("script");Array.from(e.attributes).forEach(e=>{"type"!==e.name&&t.setAttribute(e.name,e.value)}),t.async=!0,e.remove(),document.head.appendChild(t)}}},4709(){document.body.classList.contains("wp-admin")||void 0===global_variables?.user.country||"US"!==global_variables.user.country&&"CA"!==global_variables.user.country||(document.querySelector(".site-footer .address-text.address-usa-ca").classList.remove("hidden"),document.querySelector(".site-footer .address-text.address-global").classList.add("hidden"))}},t={};function o(i){var n=t[i];if(void 0!==n)return n.exports;var a=t[i]={exports:{}};return e[i](a,a.exports,o),a.exports}(()=>{"use strict";o(958),o(1034),o(4384);const e=".js-privacy-choices-link a";function t(){const e=window.DG_BANNER_API;return e&&"function"==typeof e.showConsentBanner?e:void 0}function i(){const o=document.querySelectorAll(e);o.length&&o.forEach(e=>{e.closest("li")?.classList.add("is-visible"),e.addEventListener("click",e=>{e.preventDefault(),t()?.showConsentBanner()})})}function n(){if(!document.querySelector(e))return;if(t())return void i();const o=window.setInterval(()=>{t()&&(window.clearInterval(o),i())},200);window.setTimeout(()=>window.clearInterval(o),1e4)}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n):n(),o(4709)})()})();; (()=>{"use strict";class t{static MULLVAD_ENDPOINT="https://am.i.mullvad.net/json";static HOLOCRON_QUERY="\n\t\tquery {\n\t\t\tvpnNetworkDetails {\n\t\t\t\tvpnEnabled\n\t\t\t\tgeo {\n\t\t\t\t\tcountry\n\t\t\t\t\tcity\n\t\t\t\t}\n\t\t\t\tip\n\t\t\t}\n\t\t}\n\t";static MAX_SEGMENTATION_RETRIES=300;static get HOLOCRON_ENDPOINT(){return`${vpnBannerConfig.holocronEndpoint}/graphql`}constructor(){this.banner=document.getElementById("vpn-top-banner"),this.ipElement=document.getElementById("vpn-ip"),this.cityElement=document.getElementById("vpn-city"),this.unprotectedElement=document.getElementById("vpn-unprotected"),this.protectedElement=document.getElementById("vpn-protected")}init(){this.banner&&this.checkVpnStatus()}async checkVpnStatus(){try{const t=await this.fetchHolocron();if(t?.vpnEnabled)return void this.updateContent(!0,t.city,t.country,t.ip);if(await this.fetchMullvad())return void this.waitForSegmentationApi(!0);this.waitForSegmentationApi(!1)}catch{this.waitForSegmentationApi(!1)}}async fetchHolocron(){try{const e=await fetch(t.HOLOCRON_ENDPOINT,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:t.HOLOCRON_QUERY})});if(!e.ok)return null;const n=await e.json(),i=n?.data?.vpnNetworkDetails;return i?{vpnEnabled:i.vpnEnabled,country:i.geo?.country,city:i.geo?.city,ip:i.ip}:null}catch{return null}}async fetchMullvad(){try{const e=await fetch(t.MULLVAD_ENDPOINT);return!!e.ok&&((await e.json()).mullvad_exit_ip??!1)}catch{return!1}}waitForSegmentationApi(e,n=0){if(void 0===window.SegmentationApiDataStorage)return n>=t.MAX_SEGMENTATION_RETRIES?(console.error("Segmentation API not available after max retries"),void this.show()):void requestAnimationFrame(()=>this.waitForSegmentationApi(e,n+1));window.SegmentationApiDataStorage.waitUntilReady().then(()=>{this.updateContentFromSegmentation(e)}).catch(t=>{console.error("Segmentation API waitUntilReady failed:",t),this.show()})}updateContentFromSegmentation(t){const e=window.SegmentationApiDataStorage?.getValue("ip")||"",n=window.SegmentationApiDataStorage?.getValue("locationCity")||"",i=window.SegmentationApiDataStorage?.getValue("locationState")||"",a=window.SegmentationApiDataStorage?.getValue("locationCountry")||"",o=window.SegmentationApiDataStorage?.getValue("locationIsUnitedStates"),s=o?[n,i].filter(Boolean).join(", "):[n,a].filter(Boolean).join(", ");this.ipElement&&(this.ipElement.textContent=e),this.cityElement&&(this.cityElement.textContent=s),this.updateContent(t)}updateContent(t,e,n,i){if(this.banner){if(e&&this.cityElement){const t="United States"===n?e:[e,n].filter(Boolean).join(", ");this.cityElement.textContent=t}i&&this.ipElement&&(this.ipElement.textContent=i),t?(this.banner.classList.add("vpn-banner--vpn-enabled"),this.unprotectedElement&&(this.unprotectedElement.style.display="none"),this.protectedElement&&(this.protectedElement.style.display="flex")):this.banner.classList.add("vpn-banner--vpn-disabled"),this.show()}}show(){document.body.classList.add("has-vpn"),this.banner?.classList.add("vpn-banner--visible")}}(new t).init()})();;