MSN i.delete(e),has:e=>i.has(e)});const s=”__RequestDataInstance__”;class c{constructor(e,t){if(this.url=new URL(e.href),this.innerHeight=e.innerHeight,this.devicePixelRatio=e.devicePixelRatio,this.canUseCssGrid=e.canUseCssGrid,this.requestId=e.requestId,this.cookie=e.cookie,this.referer=e.referer,this.userAgent=e.userAgent,this.clientData=e.clientData,this.oneServiceHeaders=function(e){try{if(e)return JSON.parse(e)}catch(e){}}(e.oneServiceHeaders)||{},this.isPssrMode=t,t){const e=a(“OSATE”,this.cookie),t=!!e&&”1″===e,n=a(“OSAT”,this.cookie);if(t&&n||!e&&!n)return this.msalAuthReady=!0,void(n&&(this.oneServiceHeaders.Authorization=`Bearer ${n}`));this.msalAuthReady=!1,this.pssrRejectedReason=e&&!t?”interactiveLogin”:e&&!n?”missOSAT”:”missOSATE”}}static getInstance(){const e=r.get(s);return e||(n.g.TEST_ENV?d({href:”http://localhost:8080/”,innerHeight:768,devicePixelRatio:1,canUseCssGrid:!1,requestId:”0″,cookie:””,userAgent:””,referer:””,oneServiceHeaders:””}):d({href:”http://localhost:8080/”,innerHeight:0,devicePixelRatio:0,canUseCssGrid:!1,requestId:”0″,cookie:””,userAgent:””,referer:””,oneServiceHeaders:””}))}static resetInstance(e){const t=new c(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1]);return r.set(s,t),t}}function a(e,t){if(t&&e){const n=new RegExp(“\b”+e+”\s*=\s*([^;]*)”,”i”).exec(t);return n&&n.length>1?n[1]:null}return null}const d=c.resetInstance,l=()=>c.getInstance();function u(){return o()?window.location.search:l().url.search}var h,g;!function(e){e.Anon=”ANON”,e.AppAnon=”APP_ANON”,e.Unknown=””}(h||(h={})),function(e){e.AnonCookieExists=”ace”,e.AppAnonCookieExists=”aace”}(g||(g={}));const p=”child”;function m(e,t){if(e){const n=new RegExp(“\b”+t+”\s*=\s*([^;]*)”,”i”).exec(e);return n&&n.length>1?n[1]:null}return null}function w(e){try{if(e)return JSON.parse(e)}catch(e){}return null}const f=”prg-pr2-“,v=”prg-pw-“,b=”prg-“,y=”prg-1sw-“;function C(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b;const n=t.length,o=[];return e&&e.length&&(e.forEach((e=>{const i=e&&e.trim();i&&i.length>=n&&i.substring(0,n).toLowerCase()===t&&o.push(i.toLowerCase())})),o.sort()),o}function k(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:””,n=b;var o,i;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n=v:t.toLocaleLowerCase()===”windowsShell”.toLocaleLowerCase()||t.toLocaleLowerCase()===”windowsShellV2″.toLocaleLowerCase()?n=y:t.toLocaleLowerCase()!==”winWidgets”.toLocaleLowerCase()||(null===(o=window)||void 0===o||null===(o=o.location)||void 0===o||null===(o=o.search)||void 0===o?void 0:o.includes(“reqsrc=vp”))||null!==(i=window)&&void 0!==i&&null!==(i=i.location)&&void 0!==i&&null!==(i=i.search)&&void 0!==i&&i.includes(“vptest”)||(n=f),n}function S(e){var t;return document.head.dataset[e]||(null===(t=q())||void 0===t?void 0:t.dataset[e])}let I;function q(){return void 0===I&&(I=document.getElementsByClassName(“peregrine-widget-settings”)[0]||null),I}function A(e){var t;if(!e||!e.startsWith(“f:”))return;const n=(e.match(/f:s*([^;]+)/i)||[])[1];return n?null===(t=n.toLowerCase().split(“,”))||void 0===t?void 0:t.sort():[]}const L=”Authorization”;var E,x;!function(e){e.Presentation=”presentation”}(E||(E={})),function(e){e.Unknown=”Unknown”,e.Portrait=”Portrait”,e.Landscape=”Landscape”}(x||(x={}));var O,_;!function(e){e[e.Undefined=0]=”Undefined”,e[e.Basic=1]=”Basic”,e[e.Advanced=2]=”Advanced”,e[e.Premium=3]=”Premium”}(O||(O={})),function(e){e.Init=”init”,e.Config=”config”,e.Targeted=”targeted”,e.Sticky=”sticky”,e.NoSticky=”no_sticky”,e.Admin=”admin”,e.Forced=”forced”,e.Manual=”manual”}(_||(_={}));const T=new Set([“finance-app-win”,”weather-app-win”,”winpstoreapp”]),N=new Set([“hpmsn”]);new Set([“chromentpnews”]);function W(){var e;return o()?w(document.head.dataset.clientSettings||(null===(e=document.getElementsByClassName(“peregrine-widget-settings”)[0])||void 0===e?void 0:e.getAttribute(“data-client-settings”))):null}const R=”feed/personalize/settings”;function P(e,t){const n=t.replace(/[[]]/g,”\$&”),o=new RegExp(“[?&]”+n+”(=([^&#]*)|&|#|$)”).exec(e);if(!o)return null;const i=o[2];return decodeURIComponent(i.replace(/+/g,” “))||””}let M=new class{constructor(){o()?(this.isDebugEnabled=(P(window.location.href,”debug”)||””).toLowerCase()in{1:1,true:1}||”vp”===(P(window.location.href,”reqsrc”)||””).toLowerCase(),this.isDebugEnabled&&!n.g.TEST_ENV&&(window.webpackRequire=n)):this.isDebugEnabled=!1}getLoggingService(){return null}isDebug(){return this.isDebugEnabled}setDebug(e){this.isDebugEnabled=e}setTags(e){}log(e,t){this.isDebug()&&console.info(e)}logError(e){console.error(e)}logCallback(e){this.isDebug()&&console.info(e())}logObjects(){this.isDebug()&&console.log(…arguments)}logSingleObject(e,t){this.isDebug()&&console.log(e)}};class D{get supported(){return!!this.storage}constructor(e){this.storage=e}getItem(e){if(this.supported)return this.storage.getItem(e)}getObject(e,t){const n=this.getItem(e);if(null!=n){const e=w(n);if(null!=e)return e}return t}key(e){if(this.supported&&e>=0)return this.storage.key(e)}keys(){return this.supported?Object.keys(this.storage):[]}setObject(e,t){void 0!==t?this.setItem(e,JSON.stringify(t)):this.removeItem(e)}removeObject(e){const t=this.removeItem(e);if(null!=t)return w(t)}setItem(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.supported)try{if(!t)throw”Attempted to store null/undefined value: “+t;this.storage.setItem(e,t)}catch(e){if(!n)throw e;M.logError(e)}else if(!n)throw new Error(“WebStorage not supported”)}get length(){if(this.supported)return this.storage.length}removeItem(e){if(this.supported){const t=this.getItem(e);return this.storage.removeItem(e),t}}clear(){this.supported&&this.storage.clear()}removeSubstringKeys(e){if(!this.supported||!e)return;const t=[];for(let n=0;n!!z(Q)));function ee(){try{return localStorage}catch(e){return null}}const te=”__PageExperimentInstance__”;function ne(e){r.set(te,e)}function oe(e){if(!r.has(te)&&o()){var t;ne(ie(document.head.dataset.info||(null===(t=window.document.getElementsByClassName(“peregrine-widget-settings”)[0])||void 0===t||null===(t=t.dataset)||void 0===t?void 0:t.info)||””))}const n=r.get(te);return n&&n.has(e)}function ie(e){const t=(e||””).replace(/(^f:|;.*$)/g,””).split(“,”);return new Set(t)}const re=”uxlogin”,se=”uxlogout”,ce=”uxedit”,ae=”useRedirect”,de=”uxswitch”,le=X((()=>{const e=ee();return e&&”1″===e.getItem(re)||o()&&location.search&&location.search.includes(`${re}=1`)}));const ue=X((()=>{const e=function(){try{return sessionStorage}catch(e){return null}}();return e&&!!e.getItem(se)}));const he=X((()=>{const e=ee();return e&&”1″===e.getItem(ce)}));const ge=X((()=>{const e=ee(),t=!oe(“prg-noredirect”)&&e&&”1″===e.getItem(ae)&&function(){const e=document.head.dataset.clientSettings||””,{browser:t}=w(e)||{},{browserType:n=””}=t||{};return!!/safari/i.test(n)}();return t}));const pe=X((()=>{const e=ee();return e&&”1″===e.getItem(de)}));const me=”OnOOutlookMobile”,we=”OnOStartApp”,fe=”xmweather-“,ve=”launcherntp”,be=”launcherInterests”,ye=”swiftKey”,Ce=”superappdhp”,ke=”_ocidIsomorphicKey”,Se=()=>(r.get(ke)||r.set(ke,Fe(“ocid”).toLowerCase()),r.get(ke)),Ie=”_platformFlagKey”,qe=”_hostAppNameKey”,Ae=”_clientTypeKey”,Le=()=>(r.get(Ie)||r.set(Ie,Fe(“chpltfm”)),r.get(Ie)),Ee=()=>{if(!r.get(qe)){const e=Le();r.set(qe,e.toLowerCase().split(“-“)[0])}return r.get(qe)},xe=()=>{if(!r.get(Ae)){const e=Le();r.set(Ae,e.toLowerCase().split(“-“)[1])}return r.get(Ae)};function Oe(){if(!o()||Me())return!1;const e=window.sapphireWebViewBridge,t=window.webkit,n=e&&e.send,i=t&&t.messageHandlers&&t.messageHandlers.send&&t.messageHandlers.send.postMessage;return!(!n&&!i)}function _e(){return!!window._isCopilotBridge||”copilot”===Fe(“MBApp”)}function Te(){const e=Le()&&”outlook”===Ee()&&[“ios”,”android”,”ipados”].includes(xe()),t=Se()===me.toLowerCase();return e||t}function Ne(){return!(!o()||Me())&&(Oe()||Se()===we.toLowerCase()||Se()===Ce.toLowerCase())}function We(){const e=Fe(“edge”);return(“emmx”===Ee()||”1″===e)&&Ne()||”mmx”===Se()}function Re(){return”3rdp”===Ee()||Se().startsWith(fe)||Me()}function Pe(){return[ve.toLowerCase(),be.toLowerCase()].includes(Se())&&Ne()}function Me(){return Se().toLowerCase()===ye.toLowerCase()||”swiftkey”==Ee().toLowerCase()}const De=X((()=>Oe()||Te()||Ne()||Se()===”weather-app-win”.toLowerCase()||Se()===”finance-app-win”.toLowerCase()||We()||Re()||Pe()||Me()||-1!==window.location.href.indexOf(“metaos=true”)||_e()));function Fe(e){try{return new URL(location.href).searchParams.get(e)||””}catch(e){return””}}const Ue=W()||{};const $e={windowsNewsPlus:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,distribution:1,superApp:1,channelmobile:1,edgeMobile:1},Be={edgeChromium:1},He={winWidgets:1,webWidgets:1},je={edgeChromium:1,shopping:1,windowsNewsPlus:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,msn:1},Je={edgeChromium:1,channelmobile:1,cgHomePage:1,distribution:1,windowsNewsPlus:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,superApp:1,edgeMobile:1},Ve=X((()=>Ue&&Ue.apptype)),Ge=(X((()=>o()&&Ve()in He)),X((()=>o()&&!De()&&!(Ve()in $e)&&!Xe()&&!Qe()))),ze=X((()=>Ge()&&!(Ve()in Be)));X((()=>Ge()&&(!(Ve()in Be)||!Z()))),X((()=>Ge()&&!Ze()&&!et()));const Ke=X((()=>et()||Ze())),Xe=X((()=>!(Ve()in je)&&tt()&&function(){if(“homePage”==Ve())return!0;const e=new URLSearchParams(u()).get(“ocid”)||(null==Ue?void 0:Ue.ocid),t=null==e?void 0:e.toLowerCase();if(N.has(t)&&oe(“prg-msn-id”))return!0;const n=!N.has(t)&&!T.has(t);return n}()&&!function(){const e=”windows”==Ve()&&”windowshp”==(Ue&&Ue.pagetype)&&(o()?window.location.href:l().url.href).includes(`${R}`);return e}()));const Qe=()=>o()&&document&&document.body&&document.body.getElementsByClassName(“peregrine-widgets”).length>0;X((()=>Ve()in Je||Xe()));function Ye(){if(H)return H;const e=J();return e||void 0}function Ze(){return ze()&&le()||function(){const e=ze()&&!nt()&&!le()&&Y()&&(“expired”==function(){if(B=V(),!B)return”notAvailable”;const e=B.expiresOn,t=new Date(e),n=”expired”;return t.getTime()&&t>new Date?”valid”:n}()||he());return e}()||ue()||ge()}function et(){return ze()&&!Y()&&pe()}const tt=X((()=>{const{browser:e}=Ue,{browserType:t=””,detected:n={}}=e||{},{browserType:o=””}=n||{};return/edgeChromium/i.test(t)||/edgeAndroid/i.test(t)||/edgeiOS/i.test(t)||/edge/i.test(o)}));X((()=>ze()&&!Xe()));const nt=()=>{const e=Y();if(!e)return!1;let t;switch(e.account_type){case”MSA”:t=ze()?”ace”:”aace”;break;case”AAD”:t=ze()?”WID”:”APP_WID”;break;default:return!1}return!!z(t)};const ot=”__core_auth_authHeaderPromiseParts__”,it=()=>r.get(ot);let rt;function st(){return rt}!function(){let e;const t={promise:new Promise((t=>e=t)),resolver:e};r.set(ot,t)}();const ct=X((()=>w(z(“AL_STATE”,!0))));class at{constructor(){this.childCookieName=”child”,this.command=”command”,this.domInfo=document.head.dataset.info,this.canvasInfo=document.head.dataset.canvasInfo||””}init(e,t){this.clientSettings=e||W(),this.authCookieName=st()||window._authCookieName||””,this.bundle=window._webWorkerBundle||””,t=t||{};const n=this.buildWebWorkerUrl(this.clientSettings,t),o=window.webWorker=this.createWebWorkerInstance(n);o?this.initCore(o):console.warn(“Error while initializing the web worker.”)}initCore(e){const t=window.webWorkerMessages=[];e.onmessage=e=>{t.push(e.data)};const n=window.webWorkerErrors=[];e.onerror=e=>{n.push(e)},Ke()&&it().promise.then((t=>e.postMessage({id:”AuthHeaders”,type:this.command,payload:t||{}})))}createWebWorkerInstance(e){return new Worker(e,{name:”web-worker”})}shouldFetchAppAnonCookie(){return!0}getAudienceMode(e){ee();const t=z(this.authCookieName),n=z(this.childCookieName),{child:o}=t&&JSON.parse(t)||{};return t&&(1===o||n)?”kids”:e.audienceMode||”adult”}buildWebWorkerUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;return(this.bundle||””)+”#”+this.qsFromDocument()+this.qsFromCookies()+this.qsFromDataAttribute(e||this.clientSettings)+this.qsMisc(t)+this.qsAuth(e||this.clientSettings)+this.qsFromUrl()+this.qsFromServiceWorker()+this.qsSelectedPivot()+this.qsXboxXToken()}qs(e,t,n){return e?t+”=”+(n||e)+”&”:””}qsFromDocument(){var e;return this.qs(document.getElementsByTagName(“html”)[0].getAttribute(“lang”),”lang”)+this.qs(encodeURIComponent(window.location.href),”adsReferer”)+this.qs(null===(e=o()?window.devicePixelRatio:l().devicePixelRatio)||void 0===e?void 0:e.toString(),”devicePixelRatio”)}qsFromServiceWorker(){if(!navigator.serviceWorker||!navigator.serviceWorker.controller)return””;const e=navigator.serviceWorker.controller;if(“activated”!==e.state||!e.scriptURL)return””;if(e.scriptURL){const t=new URL(e.scriptURL).searchParams.toString();return t?”&”+t+”&”:””}return””}qsFromCookies(){return this.qs(K(this.authCookieName),”aace”,”1″)+this.qs(K(“muid”),”muid”)+this.qs(K(this.childCookieName),”child”)+this.qs(K(“cbypass”),”cbypass”)+this.qs(this.cookieBannerConsentRequired().toString(),”ccRequired”)+this.qs(K(“ecasession”),”ecasession”)+this.qs(K(“TOptOut”),”browserOptOut”)}qsFromDataAttributeHelper(e,t,n){var o;e&&e.featureFlags&&e.featureFlags.wpoEnabled&&t&&!t.includes(“remwpofltww”)&&(t=this.appendWpoFlightsToInfo(e,t));const i=(null===(o=e.modes)||void 0===o?void 0:o.uxMode)||void 0;return this.qs(e.pcsInfo&&e.pcsInfo.env||e.env,”env”)+this.qs(e.aid,”aid”)+this.qs(e.apptype,”apptype”)+this.qs(e.pagetype,”pagetype”)+this.qs(e.audienceMode,”audienceMode”)+this.qs(e.configIndexDocId,”configIndexDocId”)+this.qs(e.deviceFormFactor,”deviceFormFactor”)+this.qs(e.domain,”domain”)+this.qs(e.configRootUrl,”configRootUrl”)+this.qs(this.getHighestCbid(e.cbid,e.apptype),”cbid”)+this.qs(e.ocid,”ocid”)+this.qs(e.os,”os”)+this.qs(JSON.stringify(e.locale),”locale”)+this.qs(e.geo_lat,”lat”)+this.qs(e.geo_long,”long”)+this.qs(JSON.stringify(e.featureFlags),”featureFlags”)+this.qs(JSON.stringify(e.browser),”browser”)+this.qs(JSON.stringify(e.servicesEndpoints),”servicesEndpoints”)+this.qs(e.bundleInfo&&e.bundleInfo.v||””,”buildVersion”)+this.qs(t,”dataInfo”)+this.qs(n,”canvasInfo”)+this.qs(i,”uxMode”)}qsSelectedPivot(){const e=”selectedPivot”;let t;try{const n=ee();n&&(t=n.getItem(e))}catch(e){console.warn(“Error getting pivot id from…
Continue reading