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.vpCetoToken=e.vpCetoToken,this.oneServiceHeaders=l(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:””,vpCetoToken:””}):d({href:”http://localhost:8080/”,innerHeight:0,devicePixelRatio:0,canUseCssGrid:!1,requestId:”0″,cookie:””,userAgent:””,referer:””,oneServiceHeaders:””,vpCetoToken:””}))}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}function l(e){try{if(e)return JSON.parse(e)}catch(e){}}const d=c.resetInstance,u=()=>c.getInstance();function h(){return o()?window.location.search:u().url.search}var g,p;!function(e){e.Anon=”ANON”,e.AppAnon=”APP_ANON”,e.Unknown=””}(g||(g={})),function(e){e.AnonCookieExists=”ace”,e.AppAnonCookieExists=”aace”}(p||(p={}));const m=”child”;function w(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 f(e){try{if(e)return JSON.parse(e)}catch(e){}return null}const v=”prg-pr2-“,b=”prg-pw-“,y=”prg-“,C=”prg-1sw-“;function k(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y;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 S(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:””,n=y;var o,i;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n=b:t.toLocaleLowerCase()===”windowsShell”.toLocaleLowerCase()||t.toLocaleLowerCase()===”windowsShellV2″.toLocaleLowerCase()?n=C: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=v),n}function I(e){var t;return document.head.dataset[e]||(null===(t=A())||void 0===t?void 0:t.dataset[e])}let q;function A(){return void 0===q&&(q=document.getElementsByClassName(“peregrine-widget-settings”)[0]||null),q}function L(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 x=”Authorization”;var E,_;!function(e){e.Presentation=”presentation”}(E||(E={})),function(e){e.Unknown=”Unknown”,e.Portrait=”Portrait”,e.Landscape=”Landscape”}(_||(_={}));var O,T;!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”}(T||(T={}));const N=new Set([“finance-app-win”,”weather-app-win”,”winpstoreapp”]),R=new Set([“hpmsn”]);new Set([“chromentpnews”]);function W(){var e;return o()?(window._clientSettings=window._clientSettings||f(document.head.dataset.clientSettings||(null===(e=document.getElementsByClassName(“peregrine-widget-settings”)[0])||void 0===e?void 0:e.getAttribute(“data-client-settings”))),window._clientSettings):null}const P=”feed/personalize/settings”;function M(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 D=new class{constructor(){o()?(this.isDebugEnabled=(M(window.location.href,”debug”)||””).toLowerCase()in{1:1,true:1}||”vp”===(M(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 F{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=f(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 f(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;D.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!!K(Y)));function te(){try{return localStorage}catch(e){return null}}const ne=”__PageExperimentInstance__”;function oe(e){r.set(ne,e)}function ie(e){if(!r.has(ne)&&o()){var t;oe(re(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(ne);return n&&n.has(e)}function re(e){const t=(e||””).replace(/(^f:|;.*$)/g,””).split(“,”);return new Set(t)}const se=”uxlogin”,ce=”uxlogout”,ae=”uxedit”,le=”useRedirect”,de=”uxswitch”,ue=Q((()=>{const e=te();return e&&”1″===e.getItem(se)||o()&&location.search&&location.search.includes(`${se}=1`)}));const he=Q((()=>{const e=function(){try{return sessionStorage}catch(e){return null}}();return e&&!!e.getItem(ce)}));const ge=Q((()=>{const e=te();return e&&”1″===e.getItem(ae)}));const pe=Q((()=>{const e=te();return!ie(“prg-noredirect”)&&e&&”1″===e.getItem(le)&&function(){const{browser:e}=window._clientSettings||{},{browserType:t=””}=e||{};return!!/safari/i.test(t)}()}));const me=Q((()=>{const e=te();return e&&”1″===e.getItem(de)}));const we=”OnOOutlookMobile”,fe=”OnOStartApp”,ve=”xmweather-“,be=”launcherntp”,ye=”launcherInterests”,Ce=”swiftKey”,ke=”superappdhp”,Se=”_ocidIsomorphicKey”,Ie=()=>(r.get(Se)||r.set(Se,Ue(“ocid”).toLowerCase()),r.get(Se)),qe=”_platformFlagKey”,Ae=”_hostAppNameKey”,Le=”_clientTypeKey”,xe=()=>(r.get(qe)||r.set(qe,Ue(“chpltfm”)),r.get(qe)),Ee=()=>{if(!r.get(Ae)){const e=xe();r.set(Ae,e.toLowerCase().split(“-“)[0])}return r.get(Ae)},_e=()=>{if(!r.get(Le)){const e=xe();r.set(Le,e.toLowerCase().split(“-“)[1])}return r.get(Le)};function Oe(){if(!o()||De())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 Te(){return!!window._isCopilotBridge||”copilot”===Ue(“MBApp”)}function Ne(){const e=xe()&&”outlook”===Ee()&&[“ios”,”android”,”ipados”].includes(_e()),t=Ie()===we.toLowerCase();return e||t}function Re(){return!(!o()||De())&&(Oe()||Ie()===fe.toLowerCase()||Ie()===ke.toLowerCase())}function We(){const e=Ue(“edge”);return(“emmx”===Ee()||”1″===e)&&Re()||”mmx”===Ie()}function Pe(){return”3rdp”===Ee()||Ie().startsWith(ve)||De()}function Me(){return[be.toLowerCase(),ye.toLowerCase()].includes(Ie())&&Re()}function De(){return Ie().toLowerCase()===Ce.toLowerCase()||”swiftkey”==Ee().toLowerCase()}const Fe=Q((()=>Oe()||Ne()||Re()||Ie()===”weather-app-win”.toLowerCase()||Ie()===”finance-app-win”.toLowerCase()||We()||Pe()||Me()||De()||-1!==window.location.href.indexOf(“metaos=true”)||Te()));function Ue(e){try{return new URL(location.href).searchParams.get(e)||””}catch(e){return””}}const $e=W()||{};const Be={windowsNewsPlus:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,distribution:1,superApp:1,channelmobile:1,edgeMobile:1},He={edgeChromium:1},je={winWidgets:1,webWidgets:1},Je={edgeChromium:1,shopping:1,windowsNewsPlus:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,msn:1},Ve={edgeChromium:1,channelmobile:1,cgHomePage:1,distribution:1,windowsNewsPlus:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,superApp:1,edgeMobile:1},Ge=Q((()=>$e&&$e.apptype)),ze=(Q((()=>o()&&Ge()in je)),Q((()=>o()&&!Fe()&&!(Ge()in Be)&&!Qe()&&!Ye()))),Ke=Q((()=>ze()&&!(Ge()in He)));Q((()=>ze()&&(!(Ge()in He)||!ee()))),Q((()=>ze()&&!et()&&!tt()));const Xe=Q((()=>tt()||et())),Qe=Q((()=>!(Ge()in Je)&&nt()&&function(){if(“homePage”==Ge())return!0;const e=new URLSearchParams(h()).get(“ocid”)||(null==$e?void 0:$e.ocid),t=null==e?void 0:e.toLowerCase();if(R.has(t)&&ie(“prg-msn-id”))return!0;const n=!R.has(t)&&!N.has(t);return n}()&&!function(){const e=”windows”==Ge()&&”windowshp”==($e&&$e.pagetype)&&(o()?window.location.href:u().url.href).includes(`${P}`);return e}()));const Ye=()=>o()&&document&&document.body&&document.body.getElementsByClassName(“peregrine-widgets”).length>0;Q((()=>Ge()in Ve||Qe()));function Ze(){if(j)return j;const e=V();return e||void 0}function et(){return Ke()&&ue()||function(){const e=Ke()&&!ot()&&!ue()&&Z()&&(“expired”==function(){if(H=G(),!H)return”notAvailable”;const e=H.expiresOn,t=new Date(e),n=”expired”;return t.getTime()&&t>new Date?”valid”:n}()||ge());return e}()||he()||pe()}function tt(){return Ke()&&!Z()&&me()}const nt=Q((()=>{const{browser:e}=$e,{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)}));Q((()=>Ke()&&!Qe()));const ot=()=>{const e=Z();if(!e)return!1;let t;switch(e.account_type){case”MSA”:t=Ke()?”ace”:”aace”;break;case”AAD”:t=Ke()?”WID”:”APP_WID”;break;default:return!1}return!!K(t)};const it=”__core_auth_authHeaderPromiseParts__”,rt=()=>r.get(it);let st;function ct(){return st}!function(){let e;const t={promise:new Promise((t=>e=t)),resolver:e};r.set(it,t)}();const at=Q((()=>f(K(“AL_STATE”,!0))));class lt{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=ct()||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)},Xe()&&rt().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){const t=K(this.authCookieName),n=K(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:u().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(X(this.authCookieName),”aace”,”1″)+this.qs(X(“muid”),”muid”)+this.qs(X(this.childCookieName),”child”)+this.qs(X(“cbypass”),”cbypass”)+this.qs(this.cookieBannerConsentRequired().toString(),”ccRequired”)+this.qs(X(“ecasession”),”ecasession”)+this.qs(X(“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=te();n&&(t=n.getItem(e))}catch(e){console.warn(“Error getting pivot id from local…
Continue reading