1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1706],{855:(e,t,r)=>{"use strict";r.d(t,{B:()=>i,_:()=>o});var n=r(23696);let i=/^\d{5}(?:[-\s]\d{4})?$/,o={inputMaskConfiguration:{patterns:["00000","00000-0000"]},maxCharacterLimit:10,validationSchema:n.Ay.object({zipCode:n.Ay.string().regex(i)})}},2298:e=>{"use strict";function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,n){var i=n&&n.stringify||t;if("object"==typeof e&&null!==e){var o=r.length+1;if(1===o)return e;var a=Array(o);a[0]=i(e);for(var s=1;s<o;s++)a[s]=i(r[s]);return a.join(" ")}if("string"!=typeof e)return e;var c=r.length;if(0===c)return e;for(var l="",u=0,d=-1,h=e&&e.length||0,g=0;g<h;){if(37===e.charCodeAt(g)&&g+1<h){switch(d=d>-1?d:0,e.charCodeAt(g+1)){case 100:case 102:if(u>=c||null==r[u])break;d<g&&(l+=e.slice(d,g)),l+=Number(r[u]),d=g+2,g++;break;case 105:if(u>=c||null==r[u])break;d<g&&(l+=e.slice(d,g)),l+=Math.floor(Number(r[u])),d=g+2,g++;break;case 79:case 111:case 106:if(u>=c||void 0===r[u])break;d<g&&(l+=e.slice(d,g));var p=typeof r[u];if("string"===p){l+="'"+r[u]+"'",d=g+2,g++;break}if("function"===p){l+=r[u].name||"<anonymous>",d=g+2,g++;break}l+=i(r[u]),d=g+2,g++;break;case 115:if(u>=c)break;d<g&&(l+=e.slice(d,g)),l+=String(r[u]),d=g+2,g++;break;case 37:d<g&&(l+=e.slice(d,g)),l+="%",d=g+2,g++,u--}++u}++g}return -1===d?e:(d<h&&(l+=e.slice(d)),l)}},3821:(e,t,r)=>{"use strict";r.d(t,{KY:()=>c});var n=r(98349),i=r(50122);let o=n.createInstance({description:"Costco Wholesale User Preferences",driver:[n.INDEXEDDB,n.LOCALSTORAGE],name:"CW_user_preferences",storeName:"cache",version:1});async function a(e){try{let t=await o.getItem(e);if(t)return JSON.parse(t)}catch(e){console.error(`User Preference Read Error: ${e}`)}}async function s(e,t){try{await o.setItem(e,JSON.stringify(t))}catch(e){console.error(`User Preference Write Error: ${e}`)}}let c={read:async()=>await a(i.dv),write:async e=>{await s(i.dv,e)}}},3974:(e,t,r)=>{"use strict";r.d(t,{M:()=>c});var n=r(12115),i=r(60519);let o=(e,t)=>{var r;let n="object"==typeof t?JSON.stringify(t):t;null==(r=window.localStorage)||r.setItem(e,n)},a=e=>{var t;return null==(t=window.localStorage)?void 0:t.getItem(e)},s=()=>null;function c(e,t){(0,i.c)();let r=(0,n.useSyncExternalStore)((0,i.Q)("localStorage",e),()=>a(e),s),c=(0,n.useCallback)(t=>{try{let i=t;if("function"==typeof t)try{i=t(JSON.parse(r||""))}catch(e){console.warn(e),i=t(r||"")}if(null==i){var n;null==(n=window.localStorage)||n.removeItem(e)}else o(e,i)}catch(e){console.warn(e)}},[e,r]);(0,n.useEffect)(()=>{try{null===a(e)&&void 0!==t&&o(e,t)}catch(e){console.warn(`useLocalStorage useEffect error: ${e}`)}},[e,t]);let l=(0,n.useMemo)(()=>{try{let e=r?JSON.parse(r):t;return e=null!=e&&"object"!=typeof e?`${e}`:e}catch(e){return r||t}},[r,t]);try{return[l,c]}catch(e){return console.error(`useLocalStorage error: ${e}`),[t,c]}}},4255:(e,t,r)=>{"use strict";r.d(t,{C:()=>c,H:()=>a});var n=r(5233),i=r(82849),o=r(12698);function a(){"u">typeof window&&(null==sessionStorage||sessionStorage.removeItem("selectedMembership"),null==sessionStorage||sessionStorage.removeItem("lastName"),null==sessionStorage||sessionStorage.removeItem("postalCode"),null==sessionStorage||sessionStorage.removeItem("pendingError"),null==sessionStorage||sessionStorage.removeItem("membershipCountryCode"),null==localStorage||localStorage.removeItem("azure_token"),null==localStorage||localStorage.removeItem("idToken"),null==localStorage||localStorage.removeItem(n.np))}let s={filterItems:function(e,t){return e.filter(function(e){return e.toLowerCase()!==t.toLowerCase()})},logoutSso:function(e,t,r){try{if(sessionStorage.removeItem("SelectedPatientIndex"),this.removeCookie("PrescriptionCount"),sessionStorage.removeItem(`${o.h0}_${i.A.get("hashedUserId")}`),sessionStorage.removeItem(o.mO),a(),"u">typeof Android||"u">typeof webkit)return void this.performMobileLogout();this.performSsoLogout(e,t,r)}catch(e){console.error("Error during logout:",e)}},performMobileLogout:function(){try{console.log("Performing mobile app logout"),"u">typeof Android?Android.onSignOut():"u">typeof webkit&&webkit.messageHandlers.onSignOut.postMessage(""),console.log("Mobile app logout completed")}catch(e){console.error("Error during mobile app logout:",e)}},performSsoLogout:function(e,t,r){try{if(!e||!e.length)return void console.log("No logout URLs provided. Performing default logout.");let n=this.filterItems(e,window.location.origin);
1if(!n.length)return void console.log("No valid logout URLs found. Performing default logout.");let i="/security/v1/users/session/ssologoff",o=n[0]+i+"?a="+n[1]+i+"&b="+n[2]+i+"&c="+n[3]+"/Account/Logout",a=window.open(o,"_blank");setTimeout(function(){let e=`${window.location.origin}/Logoff?usrClk=${r||"true"}${t?`&URL=${encodeURIComponent(t)}`:""}`;null==a||a.close(),window.location.href=e},3800)}catch(e){console.error("Error during server logout:",e)}},removeCookie:function(e){document.cookie=e+"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;"}};async function c(e,t){s.logoutSso("https://www.costco.com,https://www.costco.ca,https://www.costcobusinessdelivery.com,https://www.costcobusinesscentre.ca,https://glasses.costco.com".split(",")||[],e,t)}},4565:(e,t,r)=>{"use strict";r.d(t,{e:()=>n});let n=e=>new URLSearchParams(Object.fromEntries(Object.entries(e).filter(([e,t])=>null!=t))).toString()},5233:(e,t,r)=>{"use strict";r.d(t,{ce:()=>i,np:()=>o,rx:()=>n});let n="hmDl",i="prWh",o="userPref_expiresAt"},8039:(e,t,r)=>{"use strict";e.exports=r(65538)},10455:(e,t,r)=>{"use strict";r.d(t,{o:()=>D,ContextProviderClient:()=>q});var n,i=r(95155),o=r(56224),a=r(5233),s=r(82849),c=r(70591),l=r(24871),u=r(51563),d=r(34462),h=r(12115),g=r(65769),p=r(36360),m=r(16002),f=r(94571),y=r(87358);let v={isEnabled:!1,isLoading:!1,isResolved:!0},w=(e,t)=>{if("true"===y.env.DEBUG_PROFILE_LOCATION){if(t)return void d.v.info(t,`[ProfileLocation Debug] ${e}`);d.v.info(`[ProfileLocation Debug] ${e}`)}},C=e=>{var t,r;let n=!!(null==(t=null==e?void 0:e.custom_properties)?void 0:t.profileProperty),i=!!(null==(r=null==e?void 0:e.custom_properties)?void 0:r.profileZip),o=n||i,a=n&&!(0,f.$t)(),s=i&&!(0,f.zq)();return w("Computed fetch state",{expirations:(0,f.r1)(),hasProfileAttributeConfig:!!e,isDeliveryLocationEnabled:i,isEnabled:o,isPreferredWarehouseEnabled:n,shouldFetchDeliveryLocation:s,shouldFetchPreferredWarehouse:a}),{isEnabled:o,needsProfileLocationFetch:a||s,shouldFetchDeliveryLocation:s,shouldFetchPreferredWarehouse:a}},_=async({deliveryLocation:e,getToken:t,isUserSignedIn:r,persistDeliveryLocation:n,persistWarehouse:i,profileAttributeConfig:o,userLocation:a,warehouse:s})=>{var c,l,u;let d=C(o),h={deliveryLocation:e,userLocation:a,warehouse:s};if(w("Starting profile location snapshot resolution",{currentSnapshot:h,fetchState:d}),!d.isEnabled||!d.needsProfileLocationFetch||!o)return w("Skipping profile location snapshot resolution before auth",{fetchState:d,hasProfileAttributeConfig:!!o}),{...h,profileLocation:d.isEnabled?{isEnabled:!0,isLoading:!1,isResolved:!0}:v};let g=await r();if(w("Resolved signed-in state for profile location",{isSignedIn:g}),!g)return w("Skipping profile location fetch because user is not signed in"),{...h,profileLocation:{isEnabled:!0,isLoading:!1,isResolved:!0}};let p=await t(!0);if(w("Resolved token for profile location",{hasToken:!!p}),!p)return w("Skipping profile location fetch because token is unavailable"),{...h,profileLocation:{isEnabled:!0,isLoading:!1,isResolved:!0}};let[y,_]=await Promise.all([d.shouldFetchPreferredWarehouse?(0,f.Ey)(o,p):Promise.resolve(void 0),d.shouldFetchDeliveryLocation?(0,f.$q)(o,p):Promise.resolve(void 0)]);w("Fetched profile location values",{deliveryLocationFromProfile:_,preferredWarehouseFromProfile:y}),d.shouldFetchPreferredWarehouse&&(0,f.D9)({whExpiresAt:new Date(Date.now()+(0,f.Xx)(o)).toISOString()}),d.shouldFetchDeliveryLocation&&(0,f.D9)({zipExpiresAt:new Date(Date.now()+(0,f.Xx)(o)).toISOString()});let I=_&&e.zipCode!==_?{...e,zipCode:_}:e;_&&e.zipCode!==_&&(w("Persisting profile delivery location",{currentZip:e.zipCode,nextZip:_}),null==n||n(_));let b=s;if(y){let e=(0,f.SM)(y,a.zip,{isFromProfileApi:!0});w("Persisting profile warehouse object",{currentCatalog:null==(c=s.nearestWarehouse)?void 0:c.catalog,storedWarehouseObject:e}),null==i||i(e);let t=(0,m.OT)(e.id),r=(0,m.OT)(null==(l=s.nearestWarehouse)?void 0:l.catalog);t&&t!==r&&(b={...s,nearestWarehouse:{...s.nearestWarehouse??{},catalog:e.id||(null==(u=s.nearestWarehouse)?void 0:u.catalog)||""}})}return{deliveryLocation:I,profileLocation:{isEnabled:!0,isLoading:!1,isResolved:!0},userLocation:a,warehouse:b}};var I=r(39007);let b=["SaleOfInfo"],T=["AlwaysBlock","DoNotProcess","DoNotSell","DoNotShare","Minor"],S=["Functional","Analytics"],A=()=>({isTargetingEnabled:(()=>{let e=!1;if("u"<typeof window||void 0===window.airgap||"function"!=typeof window.airgap.isConsented||"function"!=typeof window.airgap.getRegimePurposes)return e;try{let t=window.airgap.getRegimePurposes();if(!t||0===t.size)return e;let r=Array.from(t).reduce((e,t)=>
1{if(S.includes(t))return e;let r=window.airgap.isConsented(new Set([t]));return b.includes(t)?{enabled:e.enabled&&r,hasKnownPurpose:!0}:T.includes(t)?{enabled:e.enabled&&!r,hasKnownPurpose:!0}:e},{enabled:!0,hasKnownPurpose:!1});return e=r.hasKnownPurpose&&r.enabled}catch(t){return e}})()});var k=r(50122),E=r(67787),R=r(75699),O=r(3821),M=((n=M||{}).setIsInitialized="setIsInitialized",n.setDeliveryLocationState="setDeliveryLocationState",n.setWcMemberState="setWcMemberState",n.setUserLocation=" setUserLocation",n.setSelectedWarehouse="setSelectedWarehouse",n.setUserPreferences="setUserPreferences",n.setCriteoUserCookie="setCriteoUserCookie",n.setThirdPartyInfo="setThirdPartyInfo",n.setWcCartOrder="setWcCartOrder",n.setMiniBannerDetails="setMiniBannerDetails",n.setStwInfo="setStwInfo",n),P=r(87358);let N={isEnabled:!1,isLoading:!1,isResolved:!0},x=(e,t)=>{if("true"===P.env.DEBUG_PROFILE_LOCATION){if(t)return void d.v.info(t,`[BrowseContext Profile Debug] ${e}`);d.v.info(`[BrowseContext Profile Debug] ${e}`)}};function L(e,t){var r;if("u"<typeof window)return;let n="object"==typeof t?JSON.stringify(t):String(t);null==(r=window.localStorage)||r.setItem(e,n)}function U(e,t){switch(t.type){case M.setCriteoUserCookie:return{...e,criteoUserCookie:t.payload};case M.setDeliveryLocationState:return{...e,deliveryLocationState:{...e.deliveryLocationState,...t.payload}};case M.setIsInitialized:return{...e,isInitialized:t.payload};case M.setSelectedWarehouse:return{...e,selectedWarehouseState:{...e.selectedWarehouseState,...t.payload}};case M.setThirdPartyInfo:return{...e,thirdPartyInfo:{...e.thirdPartyInfo,...t.payload}};case M.setUserLocation:return{...e,userLocation:{...e.userLocation,...t.payload}};case M.setUserPreferences:return{...e,userPreferences:{...e.userPreferences,...t.payload}};case M.setWcMemberState:return{...e,wcMemeberState:t.payload};case M.setWcCartOrder:return{...e,wcCartOrder:t.payload};case M.setMiniBannerDetails:return{...e,miniBannerDetails:t.payload};default:return e}}let D=(0,h.createContext)(null),q=({children:e,initialValues:t,locale:r,profileAttributeConfig:n,isTranscendEnabled:d=!1})=>{var m,f,y;let{getToken:v,isLoading:w,isUserSignedIn:b}=(0,g.A)(),[T,S]=(0,I.F)(k.xY,null),[q,H]=(0,h.useState)(N),B=(0,h.useRef)(!1),F="true"===P.env.NEXT_PUBLIC_AD_TARGET_DEBUG,K=(0,h.useMemo)(()=>{try{return(0,u.Lo)("string"==typeof T?T:null)}catch(e){return console.error("Failed to decode MiniBannerResponse from session storage:",e),null}},[T]),$=(0,h.useCallback)(e=>{null==e?S(null):S((0,u.UC)(e))},[S]),[j,z]=(0,h.useReducer)(U,{criteoUserCookie:"",deliveryLocationState:{city:"",state:"",zipCode:"",...null==t?void 0:t.deliveryLocation},isInitialized:!1,selectedWarehouseState:{distributionCenters:[],groceryCenters:[],...null==t?void 0:t.warehouse},thirdPartyInfo:{isCookiesFullyLoaded:!1,...(0,E.BK)(d),...null==t?void 0:t.thirdPartyInfo},userLocation:{city:"",zip:"",...null==t?void 0:t.userLocation},userPreferences:{currency:"",locale:"",...null==t?void 0:t.userPreferences},miniBannerDetails:K??void 0,wcCartOrder:0,wcMemeberState:""}),{isInitialized:G,deliveryLocationState:Y,wcMemeberState:W,userLocation:Z,selectedWarehouseState:V,userPreferences:Q,criteoUserCookie:J,thirdPartyInfo:X,wcCartOrder:ee,miniBannerDetails:et}=j,er=(0,h.useRef)(!1),en=(0,h.useCallback)(e=>{let t=e?{...e,deliverySurcharge:Number(e.deliverySurcharge),freeDeliveryOrderAmount:Number(e.freeDeliveryOrderAmount)}:e;$(t),z({payload:t,type:M.setMiniBannerDetails})},[z,$]),ei=(0,h.useCallback)(e=>{R.Sz.write(e),z({payload:e,type:M.setDeliveryLocationState})},[z]),eo=(0,h.useCallback)(e=>{R.mV.write(e),z({payload:e,type:M.setWcMemberState})},[z]),ea=(0,h.useCallback)(e=>{ee!==e&&(R.lr.write(e),z({payload:e,type:M.setWcCartOrder}))},[z,ee]),es=(0,h.useCallback)(e=>{let t={...Z,...e};R.Fy.write(t),z({payload:t,type:M.setUserLocation}),window.sessionStorage.setItem(k.yu,"true")},[z,Z]),ec=(0,h.useRef)(V);ec.current=V;let el=(0,h.useRef)(Y);el.current=Y;let eu=(0,h.useRef)(Z);eu.current=Z;let ed=(0,h.useRef)(!1),eh=(0,h.useCallback)(e=>{let t={...ec.current,...e};R.uC.write(t),z({payload:t,type:M.setSelectedWarehouse}),window.sessionStorage.setItem(k.m_,"true")},[z]),eg=(0,h.useCallback)(async e=>{let t={...Q,...e};z({payload:t,type:M.setUserPreferences}),await O.KY.write(t)},[z,Q]),ep=(0,h.useCallback)(e=>{z({payload:{...X,...e},type:M.setThirdPartyInfo})},[z,X]),em=(0,h.useCallback)(()=>
1{if(ed.current)return;let e=C(n);e.isEnabled&&e.needsProfileLocationFetch&&(ed.current=!0,(async()=>{try{if(!await b())return;let e=await v(!0);if(!e)return;let t=await _({deliveryLocation:el.current,getToken:async()=>e,isUserSignedIn:async()=>!0,persistDeliveryLocation:e=>L(a.rx,e),persistWarehouse:e=>L(a.ce,e),profileAttributeConfig:n,userLocation:eu.current,warehouse:ec.current});z({payload:t.deliveryLocation,type:M.setDeliveryLocationState}),z({payload:t.userLocation,type:M.setUserLocation}),z({payload:t.warehouse,type:M.setSelectedWarehouse}),H(t.profileLocation)}finally{ed.current=!1}})().catch(e=>{x("Profile location refresh failed",{error:e})}))},[n,b,v,z]);(0,h.useEffect)(()=>{if(B.current||"u"<typeof window)return void x("Skipping provider initialization effect",{hasInitialized:B.current,hasWindow:"u">typeof window});let e=C(n);(x("Computed provider profile fetch state",{initialValues:t,isAuthLoading:w,profileAttributeConfig:n,profileLocationFetchState:e}),e.isEnabled&&e.needsProfileLocationFetch?H({isEnabled:!0,isLoading:!0,isResolved:!1}):H(e.isEnabled?{isEnabled:!0,isLoading:!1,isResolved:!0}:N),e.needsProfileLocationFetch&&w)?x("Deferring provider initialization until auth loading finishes"):(async()=>{if("u">typeof window){let e={...(0,E.Z9)(),...null==t?void 0:t.deliveryLocation},r={...(0,E.OT)(),...null==t?void 0:t.userLocation},i={...(0,E.TL)(),...null==t?void 0:t.warehouse},o={...await (0,E.D7)(),...null==t?void 0:t.userPreferences};x("Loaded provider initial state before profile resolution",{initialDeliveryLocationState:e,initialUserLocationState:r,initialUserPreferencesState:o,initialWarehouseState:i});let s=await _({deliveryLocation:e,getToken:async e=>await v(e)??null,isUserSignedIn:b,persistDeliveryLocation:e=>L(a.rx,e),persistWarehouse:e=>L(a.ce,e),profileAttributeConfig:n,userLocation:r,warehouse:i});x("Resolved provider profile location snapshot",{resolvedProfileLocationSnapshot:s}),z({payload:s.deliveryLocation,type:M.setDeliveryLocationState}),z({payload:(0,E.Gp)(),type:M.setWcMemberState}),z({payload:s.userLocation,type:M.setUserLocation}),z({payload:s.warehouse,type:M.setSelectedWarehouse}),z({payload:o,type:M.setUserPreferences}),H(s.profileLocation),z({payload:!0,type:M.setIsInitialized}),z({payload:(0,E.gF)(),type:M.setWcCartOrder}),B.current=!0,x("Completed provider initialization with resolved profile state",{profileLocation:s.profileLocation})}})()},[v,t,w,b,n]),(0,h.useEffect)(()=>{if(!d||er.current)return;let e=()=>{F&&console.info(A(),"Transcend sync completed event received. Updating consent management state in BrowseContext."),er.current||(ep({consentManagement:A()}),er.current=!0)};return window.transcendSyncCompleted?void e():(window.addEventListener("transcendSyncCompleted",e,{once:!0}),()=>{window.removeEventListener("transcendSyncCompleted",e)})},[d,ep,F]),(0,h.useEffect)(()=>{let e=!1,t=setInterval(()=>{if(!d&&!e){let t=s.A.get(k.hf);(null==t?void 0:t.includes("groups"))&&(z({payload:{isCookiesFullyLoaded:!0,consentManagement:R.dz.read()},type:M.setThirdPartyInfo}),e=!0)}},100);return()=>clearInterval(t)},[d]),(0,h.useEffect)(()=>{let e=()=>{let e=X.consentManagement,t=R.dz.read();e.isTargetingEnabled!==t.isTargetingEnabled&&window.location.reload()};return window.addEventListener("OneTrustGroupsUpdated",e),()=>{window.removeEventListener("OneTrustGroupsUpdated",e)}},[X.consentManagement]),(0,h.useEffect)(()=>{var e;"u">typeof window&&(d||(null==X?void 0:X.isCookiesFullyLoaded))&&(null==(e=null==X?void 0:X.consentManagement)?void 0:e.isTargetingEnabled)&&z({payload:s.A.get(c.Ex)||(0,l.Wm)(),type:M.setCriteoUserCookie})}
1,[d,null==(m=null==X?void 0:X.consentManagement)?void 0:m.isTargetingEnabled,null==X?void 0:X.isCookiesFullyLoaded]);let[ef,ey]=(0,p.G)(k.EN,k.us),ev=null==(f=null==t?void 0:t.bdDeliveryLocation)?void 0:f.zipCode,[ew,eC]=(0,p.G)(k.Fp,ev),e_=null==(y=null==t?void 0:t.preferredTerritory)?void 0:y.value,[eI,eb]=(0,h.useState)(()=>{var e;return s.A.get(o.eV)??(null==(e=null==t?void 0:t.bdDeliveryLocation)?void 0:e.bdLocation)}),[eT,eS]=(0,p.G)(o.JM,e_),eA=(0,h.useCallback)(e=>{if(!e||e.length<4)return;let t=new Date;t.setDate(t.getDate()+o.mG),eS(e,{expires:t})},[eS]),ek=(0,h.useMemo)(()=>({setMiniBannerDetails:en,values:et}),[et,en]),eE=(0,h.useMemo)(()=>({updateBdWarehouseNumber:ey,value:ef||""}),[ef,ey]),eR=(0,h.useCallback)(({zipCode:e})=>{eC(e);let t=s.A.get(o.eV);eb(e=>e===t?e:t)},[eC]),eO=(0,h.useMemo)(()=>({updateDeliveryLocation:eR,zipCode:ew??"",bdLocation:eI??""}),[ew,eR,eI]),eM=(0,h.useMemo)(()=>({city:null==Y?void 0:Y.city,state:null==Y?void 0:Y.state,updateDeliveryLocation:ei,zipCode:null==Y?void 0:Y.zipCode}),[null==Y?void 0:Y.city,null==Y?void 0:Y.state,null==Y?void 0:Y.zipCode,ei]),eP=(0,h.useMemo)(()=>({...X,updateThirdPartyInfo:ep}),[X,ep]),eN=(0,h.useMemo)(()=>({...Z,storeLocCookieExpResetFlag:R.Fy.storeLocCookieExpResetFlag,updateUserLocation:es}),[Z,es]),ex=(0,h.useMemo)(()=>({...Q,updateUserPreferences:eg}),[Q,eg]),eL=(0,h.useMemo)(()=>({...V,updateWarehouse:eh,warehouseCookieExpResetFlag:R.uC.warehouseCookieExpResetFlag}),[V,eh]),eU=(0,h.useMemo)(()=>({updateWcMember:eo,value:W}),[eo,W]),eD=(0,h.useMemo)(()=>({updateWcCartOrder:ea,value:ee}),[ea,ee]),eq=(0,h.useMemo)(()=>({value:eT,updatePreferredTerritory:eA}),[eT,eA]),eH=(0,h.useMemo)(()=>({...q}),[q]),eB=(0,h.useMemo)(()=>({miniBannerDetails:ek,bdWarehouseNumber:eE,bdDeliveryLocation:eO,criteoUserCookie:J,deliveryLocation:eM,isInitialized:G,locale:r,thirdPartyInfo:eP,userLocation:eN,userPreferences:ex,warehouse:eL,wcMember:eU,wcCartOrder:eD,preferredTerritory:eq,profileLocation:eH,onUserActivity:em}),[ek,eE,eO,J,eM,G,r,eP,eN,ex,eL,eU,eD,eq,eH,em]);return(0,i.jsx)(D.Provider,{value:eB,children:e})};D.displayName="BrowseContext",q.displayName="ContextProviderClient"},12698:(e,t,r)=>{"use strict";r.d(t,{P5:()=>c,ec:()=>o,fr:()=>s,h0:()=>n,mO:()=>i,vp:()=>a});let n="authToken",i="getTokenFailureCount",o=4,a="getKmsiFailureCount",s=2,c=30},14898:(e,t,r)=>{"use strict";r.d(t,{G:()=>i});var n=r(78229);let i=async(e,t,r=5e3,i)=>{let o=t,a=i||new AbortController,{signal:s}=a,c=new Promise((e,t)=>setTimeout(()=>{a.abort(),t(Error(`Request timed out after ${r} ms`))},r));o={...t,signal:s};try{let t=await Promise.race([fetch(e,o),c]);if(!t.ok){let e;try{e=await t.json()}catch{let r=`Network error: ${t.status} ${t.statusText}`;try{e=await t.text()||r}catch{e=r}}throw new n.j(t.status,t.statusText,e)}return await t.json()}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)throw Error(`Request aborted: ${e.message}`);throw e}}},16002:(e,t,r)=>{"use strict";r.d(t,{$i:()=>l,Bs:()=>y,FQ:()=>a,Gb:()=>u,Hu:()=>c,O3:()=>s,OT:()=>I,Oc:()=>g,R1:()=>d,Se:()=>i,XL:()=>w,Zr:()=>_,cU:()=>v,d9:()=>m,eS:()=>C,fU:()=>o,ic:()=>h,kQ:()=>p,r$:()=>f,vt:()=>b});var n=r(46759);let i=(e,t)=>{let r=e;return"R"===t?r=r.replace("-ND",""):"S"===t&&(r=r.replace(/^(100|10)/,"")),r},o=(e,t="en-us",r=!1,n=!1)=>{if(e){let[i,o]=e.split(":").map(Number),a=new Date;if(a.setHours(i,o,0,0),"fr-ca"===t)return new Intl.DateTimeFormat(t,{hour:"numeric",hour12:!1,minute:0!==o?"2-digit":void 0}).format(a);let s=new Intl.DateTimeFormat(t,{hour:"numeric",hour12:!0,minute:0===o&&r?void 0:"2-digit"}).format(a).replace(/(am|pm)/i,i>=12?"PM":"AM");return n&&(s=s.replace(" ","")),s}return e},a=e=>{try{let t=encodeURIComponent(["Costco"].concat(null==e?void 0:e.address.line1.split(" ")).concat(null==e?void 0:e.address.city.split(" ")).concat(null==e?void 0:e.address.territory.split(" ")).concat(null==e?void 0:e.address.countryName.split(" ")).join(" ")),r="https";return"u">typeof window&&(r=window.location.protocol),`${r}//maps.google.com?saddr=Current+Location&daddr=${t}`}catch(e){console.error(`Error in getDirections: ${e}`);return}},s=e=>{var t,r;return(null==(t=null==e?void 0:e.gasPrices)?void 0:t.premium)!==null&&(null==(r=null==e?void 0:e.gasPrices)?void 0:r.premium)!==void 0},c=e=>{var t,r;return(null==(t=null==e?void 0:e.gasPrices)?void 0:t.regular)!==null&&(null==(r=null==e?void 0:e.gasPrices)?void 0:r.regular)!==void 0},l=e=>{var t,r;return(null==(t=null==e?void 0:e.gasPrices)?void 0:t.diesel)!==null&&(null==(r=null==e?void 0:e.gasPrices)?void 0:r.diesel)!==void 0},u=e=>{var t,r;return(null==(t=null==e?void 0:e.gasPrices)?void 0:t.clear)!==null&&(null==(r=null==e?void 0:e.gasPrices)?void 0:r.clear)!==void 0},d=e=>h(e)||g(e)||p(e)||w(e)||m(e)||f(e)||y(e)||v(e),h=(e,t=!1)=>{var r,n;return!!t&&(null==(r=e.subType)?void 0:r.code)==="Standalone Gas Station"||(null==(n=null==e?void 0:e.services)?void 0:n.some(e=>"gas"===e.code))},g=e=>{var t;return null==(t=null==e?void 0:e.services)?void 0:t.some(e=>
1"carwash"===e.code)},p=e=>{var t;return null==(t=null==e?void 0:e.services)?void 0:t.some(e=>"auto"===e.code)},m=e=>{var t;return null==(t=null==e?void 0:e.services)?void 0:t.some(e=>"food"===e.code)},f=e=>{var t;return null==(t=null==e?void 0:e.services)?void 0:t.some(e=>"hearing"===e.code)},y=e=>{var t;return null==(t=null==e?void 0:e.services)?void 0:t.some(e=>"optical"===e.code)},v=e=>{var t;return null==(t=null==e?void 0:e.services)?void 0:t.some(e=>"pharmacy"===e.code)},w=e=>{var t;return(null==(t=null==e?void 0:e.subType)?void 0:t.code)==="Business Center"},C=e=>(1.60934*e).toFixed(2),_=e=>(null==e?void 0:e.toLowerCase().charAt(0).toUpperCase())+(null==e?void 0:e.slice(1).toLowerCase()),I=e=>e?"string"!=typeof e?((null==e?void 0:e.warehouseId)||"").replace(n.Kc,""):e.replace(n.Kc,""):"",b=e=>{let t,r,n,i,o,a,s,c,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u=0;for(e=e.replace(/[^A-Za-z0-9+/=]/g,"");u<e.length;)o=l.indexOf(e.charAt(u++)),a=l.indexOf(e.charAt(u++)),s=l.indexOf(e.charAt(u++)),c=l.indexOf(e.charAt(u++)),r=o<<2|a>>4,n=(15&a)<<4|s>>2,i=(3&s)<<6|c,t+=String.fromCharCode(r),64!==s&&(t+=String.fromCharCode(n)),64!==c&&(t+=String.fromCharCode(i));return JSON.parse(t=(e=>{let t;if(!e)return"";let r="",n=0,i=t=0;for(;n<e.length;)(i=e.charCodeAt(n))<128?(r+=String.fromCharCode(i),n++):i>191&&i<224?(r+=String.fromCharCode((31&i)<<6|63&(t=e.charCodeAt(n+1))),n+=2):(r+=String.fromCharCode((15&i)<<12|(63&(t=e.charCodeAt(n+1)))<<6|63&e.charCodeAt(n+2)),n+=3);return r})(null==t?void 0:t.replace("undefined","")))}},19253:(e,t,r)=>{"use strict";r.d(t,{s:()=>i});class n extends Error{}function i(e,t){let r;if("string"!=typeof e)throw new n("Invalid token specified: must be a string");t||(t={});let i=+(!0!==t.header),o=e.split(".")[i];if("string"!=typeof o)throw new n(`Invalid token specified: missing part #${i+1}`);try{r=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("base64 string is not of the correct length")}try{var r;
1return r=t,decodeURIComponent(atob(r).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}catch(e){return atob(t)}}(o)}catch(e){throw new n(`Invalid token specified: invalid base64 for part #${i+1} (${e.message})`)}try{return JSON.parse(r)}catch(e){throw new n(`Invalid token specified: invalid json for part #${i+1} (${e.message})`)}}n.prototype.name="InvalidTokenError"},20974:(e,t,r)=>{"use strict";r.d(t,{x:()=>a});var n=r(23696),i=r(855);let o={inputMaskConfiguration:{patterns:["a0a 0a0"],prepare:e=>e.toUpperCase()},maxCharacterLimit:7,validationSchema:n.Ay.object({zipCode:n.Ay.string().regex(/^[ABCEGHJ-NPRSTVXY][0-9][ABCEGHJ-NPRSTV-Z](?:[ -]?[0-9][ABCEGHJ-NPRSTV-Z][0-9])?$/i)})},a={"en-ca":o,"en-us":i._,"fr-ca":o}},23696:(e,t,r)=>{"use strict";let n;r.d(t,{Ay:()=>e9,G:()=>s,z:()=>e9}),(e0=e6||(e6={})).assertEqual=e=>e,e0.assertIs=function(e){},e0.assertNever=function(e){throw Error()},e0.arrayToEnum=e=>{let t={};for(let r of e)t[r]=r;return t},e0.getValidEnumValues=e=>{let t=e0.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),r={};for(let n of t)r[n]=e[n];return e0.objectValues(r)},e0.objectValues=e=>e0.objectKeys(e).map(function(t){return e[t]}),e0.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e0.find=(e,t)=>{for(let r of e)if(t(r))return r},e0.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e0.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e0.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(e4||(e4={})).mergeShapes=(e,t)=>({...e,...t});let i=e6.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),o=e=>{switch(typeof e){case"undefined":return i.undefined;case"string":return i.string;case"number":return isNaN(e)?i.nan:i.number;case"boolean":return i.boolean;case"function":return i.function;case"bigint":return i.bigint;case"symbol":return i.symbol;case"object":if(Array.isArray(e))return i.array;if(null===e)return i.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return i.promise;if("u">typeof Map&&e instanceof Map)return i.map;if("u">typeof Set&&e instanceof Set)return i.set;if("u">typeof Date&&e instanceof Date)return i.date;return i.object;default:return i.unknown}}
1,a=e6.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class s extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){let t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(let i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)r._errors.push(t(i));else{let e=r,n=0;for(;n<i.path.length;){let r=i.path[n];n===i.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(t(i))):e[r]=e[r]||{_errors:[]},e=e[r],n++}}};return n(this),r}toString(){return this.message}get message(){return JSON.stringify(this.issues,e6.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){let t={},r=[];for(let n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}s.create=e=>new s(e);let c=(e,t)=>{let r;switch(e.code){case a.invalid_type:r=e.received===i.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case a.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,e6.jsonStringifyReplacer)}`;break;case a.unrecognized_keys:r=`Unrecognized key(s) in object: ${e6.joinValues(e.keys,", ")}`;break;case a.invalid_union:r="Invalid input";break;case a.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${e6.joinValues(e.options)}`;break;case a.invalid_enum_value:r=`Invalid enum value. Expected ${e6.joinValues(e.options)}, received '${e.received}'`;break;case a.invalid_arguments:r="Invalid function arguments";break;case a.invalid_return_type:r="Invalid function return type";break;case a.invalid_date:r="Invalid date";break;case a.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:e6.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case a.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case a.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case a.custom:r="Invalid input";break;case a.invalid_intersection_types:r="Intersection results could not be merged";break;case a.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case a.not_finite:r="Number must be finite";break;default:r=t.defaultError,e6.assertNever(e)}return{message:r}},l=c;function u(){return l}let d=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o},s="";for(let e of n.filter(e=>!!e).slice().reverse())s=e(a,{data:t,defaultError:s}).message;return{...i,path:o,message:i.message||s}};function h(e,t){let r=d({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,u(),c].filter(e=>!!e)});e.common.issues.push(r)}class g{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let r=[];for(let n of t){if("aborted"===n.status)return p;"dirty"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){let r=[];for(let e of t)r.push({key:await e.key,value:await e.value});return g.mergeObjectSync(e,r)}static mergeObjectSync(e,t){let r={};for(let n of t){let{key:t,value:i}=n;if("aborted"===t.status||"aborted"===i.status)return p;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==i.value||n.alwaysSet)&&(r[t.value]=i.value)}return{status:e.value,value:r}}}let p=Object.freeze({status:"aborted"}),m=e=>({status:"dirty",value:e}),f=e=>
1({status:"valid",value:e}),y=e=>"aborted"===e.status,v=e=>"dirty"===e.status,w=e=>"valid"===e.status,C=e=>"u">typeof Promise&&e instanceof Promise;(e1=e3||(e3={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},e1.toString=e=>"string"==typeof e?e:null==e?void 0:e.message;class _{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let I=(e,t)=>{if(w(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new s(e.common.issues);return this._error=t,this._error}}};function b(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(e,t)=>"invalid_type"!==e.code?{message:t.defaultError}:void 0===t.data?{message:null!=n?n:t.defaultError}:{message:null!=r?r:t.defaultError},description:i}}class T{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return o(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:o(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new g,ctx:{common:e.parent.common,data:e.data,parsedType:o(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(C(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;let n={common:{issues:[],async:null!=(r=null==t?void 0:t.async)&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:o(e)},i=this._parseSync({data:e,path:n.path,parent:n});return I(n,i)}async parseAsync(e,t){let r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){let r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:o(e)},n=this._parse({data:e,path:r.path,parent:r});return I(r,await (C(n)?n:Promise.resolve(n)))}refine(e,t){return this._refinement((r,n)=>{let i=e(r),o=()=>n.addIssue({code:a.custom,..."string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(r):t});return"u">typeof Promise&&i instanceof Promise?i.then(e=>!!e||(o(),!1)):!!i||(o(),!1)})}refinement(e,t){return this._refinement((r,n)=>!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1))}_refinement(e){return new ec({schema:this,typeName:e5.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return el.create(this,this._def)}nullable(){return eu.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return z.create(this,this._def)}promise(){return es.create(this,this._def)}or(e){return Y.create([this,e],this._def)}and(e){return V.create(this,e,this._def)}transform(e){return new ec({...b(this._def),schema:this,typeName:e5.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new ed({...b(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:e5.ZodDefault})}brand(){return new em({typeName:e5.ZodBranded,type:this,...b(this._def)})}catch(e){return new eh({...b(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:e5.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return ef.create(this,e)}readonly(){return ey.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let S=/^c[^\s-]{8,}
1$/i,A=/^[a-z][a-z0-9]*$/,k=/^[0-9A-HJKMNP-TV-Z]{26}$/,E=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,R=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,O=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,M=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,P=e=>{if(e.precision)if(e.offset)return RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`);else return RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`);if(0===e.precision)if(e.offset)return RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$");else return RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$");return e.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$")};class N extends T{_parse(e){let t;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==i.string){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.string,received:t.parsedType}),p}let r=new g;for(let i of this._def.checks)if("min"===i.kind)e.data.length<i.value&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if("max"===i.kind)e.data.length>i.value&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if("length"===i.kind){let n=e.data.length>i.value,o=e.data.length<i.value;(n||o)&&(t=this._getOrReturnCtx(e,t),n?h(t,{code:a.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):o&&h(t,{code:a.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if("email"===i.kind)R.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"email",code:a.invalid_string,message:i.message}),r.dirty());else if("emoji"===i.kind)n||(n=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),n.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"emoji",code:a.invalid_string,message:i.message}),r.dirty());else if("uuid"===i.kind)E.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"uuid",code:a.invalid_string,message:i.message}),r.dirty());else if("cuid"===i.kind)S.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"cuid",code:a.invalid_string,message:i.message}),r.dirty());else if("cuid2"===i.kind)A.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"cuid2",code:a.invalid_string,message:i.message}),r.dirty());else if("ulid"===i.kind)k.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"ulid",code:a.invalid_string,message:i.message}),r.dirty());else if("url"===i.kind)try{new URL(e.data)}catch(n){h(t=this._getOrReturnCtx(e,t),{validation:"url",code:a.invalid_string,message:i.message}),r.dirty()}else if("regex"===i.kind)i.regex.lastIndex=0,i.regex.test(e.data)||(h(t=this._getOrReturnCtx(e,t),{validation:"regex",code:a.invalid_string,message:i.message}),r.dirty());else if("trim"===i.kind)e.data=e.data.trim();else if("includes"===i.kind)e.data.includes(i.value,i.position)||(h(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty());else if("toLowerCase"===i.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===i.kind)e.data=e.data.toUpperCase();else if("startsWith"===i.kind)e.data.startsWith(i.value)||(h(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty());else if("endsWith"===i.kind)e.data.endsWith(i.value)||(h(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty());else if("datetime"===i.kind)P(i).test(e.data)||(h(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:"datetime",message:i.message}),r.dirty());else if("ip"===i.kind){var o,s;o=e.data,!(("v4"===(s=i.version)||!s)&&O.test(o)||("v6"===s||!s)&&M.test(o))&&1&&(h(t=this._getOrReturnCtx(e,t),{validation:"ip",code:a.invalid_string,message:i.message}),r.dirty())}else e6.assertNever(i);return{status:r.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:a.invalid_string,...e3.errToObj(r)})}_addCheck(e){return new N({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...e3.errToObj(e)})}url(e){return this._addCheck({kind:"url",...e3.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...e3.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...e3.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...e3.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...e3.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...e3.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...e3.errToObj(e)})}datetime(e){var t;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!=(t=null==e?void 0:e.offset)&&t,...e3.errToObj(null==e?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...e3.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...e3.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...e3.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...e3.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...e3.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...e3.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...e3.errToObj(t)})}nonempty(e){return this.min(1,e3.errToObj(e))}trim(){return new N({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new N({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new N({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}
1get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}N.create=e=>{var t;return new N({checks:[],typeName:e5.ZodString,coerce:null!=(t=null==e?void 0:e.coerce)&&t,...b(e)})};class x extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==i.number){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.number,received:t.parsedType}),p}let r=new g;for(let n of this._def.checks)"int"===n.kind?e6.isInteger(e.data)||(h(t=this._getOrReturnCtx(e,t),{code:a.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"multipleOf"===n.kind?0!==function(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}(e.data,n.value)&&(h(t=this._getOrReturnCtx(e,t),{code:a.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(h(t=this._getOrReturnCtx(e,t),{code:a.not_finite,message:n.message}),r.dirty()):e6.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,e3.toString(t))}gt(e,t){return this.setLimit("min",e,!1,e3.toString(t))}lte(e,t){return this.setLimit("max",e,!0,e3.toString(t))}lt(e,t){return this.setLimit("max",e,!1,e3.toString(t))}setLimit(e,t,r,n){return new x({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:e3.toString(n)}]})}_addCheck(e){return new x({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:e3.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e3.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e3.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e3.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e3.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:e3.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:e3.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e3.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e3.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&e6.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let r of this._def.checks)if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;else"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.value<e)&&(e=r.value);return Number.isFinite(t)&&Number.isFinite(e)}}x.create=e=>new x({checks:[],typeName:e5.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...b(e)});class L extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==i.bigint){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.bigint,received:t.parsedType}),p}let r=new g;for(let n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(h(t=this._getOrReturnCtx(e,t),{code:a.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):e6.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,e3.toString(t))}gt(e,t){return this.setLimit("min",e,!1,e3.toString(t))}lte(e,t){return this.setLimit("max",e,!0,e3.toString(t))}lt(e,t){return this.setLimit("max",e,!1,e3.toString(t))}setLimit(e,t,r,n){return new L({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:e3.toString(n)}]})}_addCheck(e){return new L({...this._def,checks:[...this._def.checks,e]})}
1positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e3.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e3.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e3.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e3.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:e3.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}L.create=e=>{var t;return new L({checks:[],typeName:e5.ZodBigInt,coerce:null!=(t=null==e?void 0:e.coerce)&&t,...b(e)})};class U extends T{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==i.boolean){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.boolean,received:t.parsedType}),p}return f(e.data)}}U.create=e=>new U({typeName:e5.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...b(e)});class D extends T{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==i.date){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.date,received:t.parsedType}),p}if(isNaN(e.data.getTime()))return h(this._getOrReturnCtx(e),{code:a.invalid_date}),p;let r=new g;for(let n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),r.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(h(t=this._getOrReturnCtx(e,t),{code:a.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):e6.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new D({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:e3.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:e3.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}D.create=e=>new D({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:e5.ZodDate,...b(e)});class q extends T{_parse(e){if(this._getType(e)!==i.symbol){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.symbol,received:t.parsedType}),p}return f(e.data)}}q.create=e=>new q({typeName:e5.ZodSymbol,...b(e)});class H extends T{_parse(e){if(this._getType(e)!==i.undefined){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.undefined,received:t.parsedType}),p}return f(e.data)}}H.create=e=>new H({typeName:e5.ZodUndefined,...b(e)});class B extends T{_parse(e){if(this._getType(e)!==i.null){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.null,received:t.parsedType}),p}return f(e.data)}}B.create=e=>new B({typeName:e5.ZodNull,...b(e)});class F extends T{constructor(){super(...arguments),this._any=!0}_parse(e){return f(e.data)}}F.create=e=>new F({typeName:e5.ZodAny,...b(e)});class K extends T{constructor(){super(...arguments),this._unknown=!0}_parse(e){return f(e.data)}}K.create=e=>new K({typeName:e5.ZodUnknown,...b(e)});class $ extends T{_parse(e){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.never,received:t.parsedType}),p}}$.create=e=>new $({typeName:e5.ZodNever,...b(e)});class j extends T{_parse(e){if(this._getType(e)!==i.undefined){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.void,received:t.parsedType}),p}return f(e.data)}}j.create=e=>new j({typeName:e5.ZodVoid,...b(e)});class z extends T{_parse(e){let{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==i.array)return h(t,{code:a.invalid_type,expected:i.array,received:t.parsedType}),p;if(null!==n.exactLength){let e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(h(t,{code:e?a.too_big:a.too_small,minimum:i?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(null!==n.minLength&&t.data.length<n.minLength.value&&(h(t,{code:a.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),null!==n.maxLength&&t.data.length>n.maxLength.value&&(h(t,{code:a.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((e,r)=>n.type._parseAsync(new _(t,e,t.path,r)))).then(e=>g.mergeArray(r,e));let o=[...t.data].map((e,r)=>n.type._parseSync(new _(t,e,t.path,r)));return g.mergeArray(r,o)}
1get element(){return this._def.type}min(e,t){return new z({...this._def,minLength:{value:e,message:e3.toString(t)}})}max(e,t){return new z({...this._def,maxLength:{value:e,message:e3.toString(t)}})}length(e,t){return new z({...this._def,exactLength:{value:e,message:e3.toString(t)}})}nonempty(e){return this.min(1,e)}}z.create=(e,t)=>new z({type:e,minLength:null,maxLength:null,exactLength:null,typeName:e5.ZodArray,...b(t)});class G extends T{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=e6.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==i.object){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.object,received:t.parsedType}),p}let{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof $&&"strip"===this._def.unknownKeys))for(let e in r.data)o.includes(e)||s.push(e);let c=[];for(let e of o){let t=n[e],i=r.data[e];c.push({key:{status:"valid",value:e},value:t._parse(new _(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof $){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of s)c.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)s.length>0&&(h(r,{code:a.unrecognized_keys,keys:s}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of s){let n=r.data[t];c.push({key:{status:"valid",value:t},value:e._parse(new _(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of c){let r=await t.key;e.push({key:r,value:await t.value,alwaysSet:t.alwaysSet})}return e}).then(e=>g.mergeObjectSync(t,e)):g.mergeObjectSync(t,c)}get shape(){return this._def.shape()}strict(e){return e3.errToObj,new G({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,r)=>{var n,i,o,a;let s=null!=(o=null==(i=(n=this._def).errorMap)?void 0:i.call(n,t,r).message)?o:r.defaultError;return"unrecognized_keys"===t.code?{message:null!=(a=e3.errToObj(e).message)?a:s}:{message:s}}}:{}})}strip(){return new G({...this._def,unknownKeys:"strip"})}passthrough(){return new G({...this._def,unknownKeys:"passthrough"})}extend(e){return new G({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new G({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:e5.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new G({...this._def,catchall:e})}pick(e){let t={};return e6.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])}),new G({...this._def,shape:()=>t})}omit(e){let t={};return e6.objectKeys(this.shape).forEach(r=>{e[r]||(t[r]=this.shape[r])}),new G({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof G){let r={};for(let n in t.shape){let i=t.shape[n];r[n]=el.create(e(i))}return new G({...t._def,shape:()=>r})}if(t instanceof z)return new z({...t._def,type:e(t.element)});if(t instanceof el)return el.create(e(t.unwrap()));if(t instanceof eu)return eu.create(e(t.unwrap()));if(t instanceof Q)return Q.create(t.items.map(t=>e(t)));else return t}(this)}partial(e){let t={};return e6.objectKeys(this.shape).forEach(r=>{let n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}),new G({...this._def,shape:()=>t})}required(e){let t={};return e6.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof el;)e=e._def.innerType;t[r]=e}}),new G({...this._def,shape:()=>t})}keyof(){return ei(e6.objectKeys(this.shape))}}G.create=(e,t)=>new G({shape:()=>e,unknownKeys:"strip",catchall:$.create(),typeName:e5.ZodObject,...b(t)}),G.strictCreate=(e,t)=>new G({shape:()=>e,unknownKeys:"strict",catchall:$.create(),typeName:e5.ZodObject,...b(t)}),G.lazycreate=(e,t)=>new G({shape:e,unknownKeys:"strip",catchall:$.create(),typeName:e5.ZodObject,...b(t)});class Y extends T{_parse(e){let{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map(async e=>{let r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;let r=e.map(e=>new s(e.ctx.common.issues));return h(t,{code:a.invalid_union,unionErrors:r}),p});{let e,n=[];for(let i of r){let r={...t,common:{...t.common,issues:[]},parent:null},o=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===o.status)return o;"dirty"!==o.status||e||(e={result:o,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=n.map(e=>new s(e));return h(t,{code:a.invalid_union,unionErrors:i}),p}}get options(){return this._def.options}}Y.create=(e,t)=>
1new Y({options:e,typeName:e5.ZodUnion,...b(t)});let W=e=>{if(e instanceof er)return W(e.schema);if(e instanceof ec)return W(e.innerType());if(e instanceof en)return[e.value];if(e instanceof eo)return e.options;if(e instanceof ea)return Object.keys(e.enum);else if(e instanceof ed)return W(e._def.innerType);else if(e instanceof H)return[void 0];else if(e instanceof B)return[null];else return null};class Z extends T{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==i.object)return h(t,{code:a.invalid_type,expected:i.object,received:t.parsedType}),p;let r=this.discriminator,n=t.data[r],o=this.optionsMap.get(n);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(h(t,{code:a.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),p)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){let n=new Map;for(let r of t){let t=W(r.shape[e]);if(!t)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of t){if(n.has(i))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);n.set(i,r)}}return new Z({typeName:e5.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...b(r)})}}class V extends T{_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if(y(e)||y(n))return p;let s=function e(t,r){let n=o(t),a=o(r);if(t===r)return{valid:!0,data:t};if(n===i.object&&a===i.object){let n=e6.objectKeys(r),i=e6.objectKeys(t).filter(e=>-1!==n.indexOf(e)),o={...t,...r};for(let n of i){let i=e(t[n],r[n]);if(!i.valid)return{valid:!1};o[n]=i.data}return{valid:!0,data:o}}if(n===i.array&&a===i.array){if(t.length!==r.length)return{valid:!1};let n=[];for(let i=0;i<t.length;i++){let o=e(t[i],r[i]);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}if(n===i.date&&a===i.date&&+t==+r)return{valid:!0,data:t};return{valid:!1}}(e.value,n.value);return s.valid?((v(e)||v(n))&&t.dirty(),{status:t.value,value:s.data}):(h(r,{code:a.invalid_intersection_types}),p)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([e,t])=>n(e,t)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}V.create=(e,t,r)=>new V({left:e,right:t,typeName:e5.ZodIntersection,...b(r)});class Q extends T{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.array)return h(r,{code:a.invalid_type,expected:i.array,received:r.parsedType}),p;if(r.data.length<this._def.items.length)return h(r,{code:a.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),p;!this._def.rest&&r.data.length>this._def.items.length&&(h(r,{code:a.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let n=[...r.data].map((e,t)=>{let n=this._def.items[t]||this._def.rest;return n?n._parse(new _(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>g.mergeArray(t,e)):g.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new Q({...this._def,rest:e})}}Q.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Q({items:e,typeName:e5.ZodTuple,rest:null,...b(t)})};class J extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.object)return h(r,{code:a.invalid_type,expected:i.object,received:r.parsedType}),p;let n=[],o=this._def.keyType,s=this._def.valueType;for(let e in r.data)n.push({key:o._parse(new _(r,e,r.path,e)),value:s._parse(new _(r,r.data[e],r.path,e))});return r.common.async?g.mergeObjectAsync(t,n):g.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new J(t instanceof T?{keyType:e,valueType:t,typeName:e5.ZodRecord,...b(r)}:{keyType:N.create(),valueType:e,typeName:e5.ZodRecord,...b(t)})}}class X extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.map)return h(r,{code:a.invalid_type,expected:i.map,received:r.parsedType}),p;let n=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([e,t],i)=>({key:n._parse(new _(r,e,r.path,[i,"key"])),value:o._parse(new _(r,t,r.path,[i,"value"]))}));if(r.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let r of s){let n=await r.key,i=await r.value;if("aborted"===n.status||"aborted"===i.status)return p;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let r of s){let n=r.key,i=r.value;if("aborted"===n.status||"aborted"===i.status)return p;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}X.create=(e,t,r)=>new X({valueType:t,keyType:e,typeName:e5.ZodMap,...b(r)});class ee extends T{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.set)return h(r,{code:a.invalid_type,expected:i.set,received:r.parsedType}),p;let n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(h(r,{code:a.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),null!==n.maxSize&&r.data.size>n.maxSize.value&&(h(r,{code:a.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());let o=this._def.valueType;function s(e){let r=new Set;for(let n of e){if("aborted"===n.status)return p;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}let c=[...r.data.values()].map((e,t)=>o._parse(new _(r,e,r.path,t)));return r.common.async?Promise.all(c).then(e=>s(e)):s(c)}min(e,t){return new ee({...this._def,minSize:{value:e,message:e3.toString(t)}})}max(e,t){return new ee({...this._def,maxSize:{value:e,message:e3.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}ee.create=(e,t)=>
1new ee({valueType:e,minSize:null,maxSize:null,typeName:e5.ZodSet,...b(t)});class et extends T{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==i.function)return h(t,{code:a.invalid_type,expected:i.function,received:t.parsedType}),p;function r(e,r){return d({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,u(),c].filter(e=>!!e),issueData:{code:a.invalid_arguments,argumentsError:r}})}function n(e,r){return d({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,u(),c].filter(e=>!!e),issueData:{code:a.invalid_return_type,returnTypeError:r}})}let o={errorMap:t.common.contextualErrorMap},l=t.data;if(this._def.returns instanceof es){let e=this;return f(async function(...t){let i=new s([]),a=await e._def.args.parseAsync(t,o).catch(e=>{throw i.addIssue(r(t,e)),i}),c=await Reflect.apply(l,this,a);return await e._def.returns._def.type.parseAsync(c,o).catch(e=>{throw i.addIssue(n(c,e)),i})})}{let e=this;return f(function(...t){let i=e._def.args.safeParse(t,o);if(!i.success)throw new s([r(t,i.error)]);let a=Reflect.apply(l,this,i.data),c=e._def.returns.safeParse(a,o);if(!c.success)throw new s([n(a,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new et({...this._def,args:Q.create(e).rest(K.create())})}returns(e){return new et({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new et({args:e||Q.create([]).rest(K.create()),returns:t||K.create(),typeName:e5.ZodFunction,...b(r)})}}class er extends T{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}er.create=(e,t)=>new er({getter:e,typeName:e5.ZodLazy,...b(t)});class en extends T{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return h(t,{received:t.data,code:a.invalid_literal,expected:this._def.value}),p}return{status:"valid",value:e.data}}get value(){return this._def.value}}function ei(e,t){return new eo({values:e,typeName:e5.ZodEnum,...b(t)})}en.create=(e,t)=>new en({value:e,typeName:e5.ZodLiteral,...b(t)});class eo extends T{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),r=this._def.values;return h(t,{expected:e6.joinValues(r),received:t.parsedType,code:a.invalid_type}),p}if(-1===this._def.values.indexOf(e.data)){let t=this._getOrReturnCtx(e),r=this._def.values;return h(t,{received:t.data,code:a.invalid_enum_value,options:r}),p}return f(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e){return eo.create(e)}exclude(e){return eo.create(this.options.filter(t=>!e.includes(t)))}}eo.create=ei;class ea extends T{_parse(e){let t=e6.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==i.string&&r.parsedType!==i.number){let e=e6.objectValues(t);return h(r,{expected:e6.joinValues(e),received:r.parsedType,code:a.invalid_type}),p}if(-1===t.indexOf(e.data)){let e=e6.objectValues(t);return h(r,{received:r.data,code:a.invalid_enum_value,options:e}),p}return f(e.data)}get enum(){return this._def.values}}ea.create=(e,t)=>new ea({values:e,typeName:e5.ZodNativeEnum,...b(t)});class es extends T{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==i.promise&&!1===t.common.async?(h(t,{code:a.invalid_type,expected:i.promise,received:t.parsedType}),p):f((t.parsedType===i.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}es.create=(e,t)=>new es({type:e,typeName:e5.ZodPromise,...b(t)});class ec extends T{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===e5.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{h(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){let e=n.transform(r.data,i);return r.common.issues.length?{status:"dirty",value:r.data}:r.common.async?Promise.resolve(e).then(e=>this._def.schema._parseAsync({data:e,path:r.path,parent:r})):this._def.schema._parseSync({data:e,path:r.path,parent:r})}if("refinement"===n.type){let e=e=>{let t=n.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(r=>"aborted"===r.status?p:("dirty"===r.status&&t.dirty(),e(r.value).then(()=>({status:t.value,value:r.value}))));{let n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===n.status?p:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}}if("transform"===n.type)if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>w(e)?Promise.resolve(n.transform(e.value,i)).then(e=>({status:t.value,value:e})):e);else{let e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!w(e))return e;let o=n.transform(e.value,i);if(o instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}e6.assertNever(n)}}ec.create=(e,t,r)=>new ec({schema:e,typeName:e5.ZodEffects,effect:t,...b(r)}),ec.createWithPreprocess=(e,t,r)=>new ec({schema:t,effect:{type:"preprocess",transform:e},typeName:e5.ZodEffects,...b(r)});class el extends T{_parse(e){return this._getType(e)===i.undefined?f(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}el.create=(e,t)=>
1new el({innerType:e,typeName:e5.ZodOptional,...b(t)});class eu extends T{_parse(e){return this._getType(e)===i.null?f(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eu.create=(e,t)=>new eu({innerType:e,typeName:e5.ZodNullable,...b(t)});class ed extends T{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return t.parsedType===i.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ed.create=(e,t)=>new ed({innerType:e,typeName:e5.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...b(t)});class eh extends T{_parse(e){let{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return C(n)?n.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new s(r.common.issues)},input:r.data})})):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new s(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}eh.create=(e,t)=>new eh({innerType:e,typeName:e5.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...b(t)});class eg extends T{_parse(e){if(this._getType(e)!==i.nan){let t=this._getOrReturnCtx(e);return h(t,{code:a.invalid_type,expected:i.nan,received:t.parsedType}),p}return{status:"valid",value:e.data}}}eg.create=e=>new eg({typeName:e5.ZodNaN,...b(e)});let ep=Symbol("zod_brand");class em extends T{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class ef extends T{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?p:"dirty"===e.status?(t.dirty(),m(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})();{let e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?p:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new ef({in:e,out:t,typeName:e5.ZodPipeline})}}class ey extends T{_parse(e){let t=this._def.innerType._parse(e);return w(t)&&(t.value=Object.freeze(t.value)),t}}ey.create=(e,t)=>new ey({innerType:e,typeName:e5.ZodReadonly,...b(t)});let ev=(e,t={},r)=>e?F.create().superRefine((n,i)=>{var o,a;if(!e(n)){let e="function"==typeof t?t(n):"string"==typeof t?{message:t}:t,s=null==(a=null!=(o=e.fatal)?o:r)||a,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}}):F.create(),ew={object:G.lazycreate};(e2=e5||(e5={})).ZodString="ZodString",e2.ZodNumber="ZodNumber",e2.ZodNaN="ZodNaN",e2.ZodBigInt="ZodBigInt",e2.ZodBoolean="ZodBoolean",e2.ZodDate="ZodDate",e2.ZodSymbol="ZodSymbol",e2.ZodUndefined="ZodUndefined",e2.ZodNull="ZodNull",e2.ZodAny="ZodAny",e2.ZodUnknown="ZodUnknown",e2.ZodNever="ZodNever",e2.ZodVoid="ZodVoid",e2.ZodArray="ZodArray",e2.ZodObject="ZodObject",e2.ZodUnion="ZodUnion",e2.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e2.ZodIntersection="ZodIntersection",e2.ZodTuple="ZodTuple",e2.ZodRecord="ZodRecord",e2.ZodMap="ZodMap",e2.ZodSet="ZodSet",e2.ZodFunction="ZodFunction",e2.ZodLazy="ZodLazy",e2.ZodLiteral="ZodLiteral",e2.ZodEnum="ZodEnum",e2.ZodEffects="ZodEffects",e2.ZodNativeEnum="ZodNativeEnum",e2.ZodOptional="ZodOptional",e2.ZodNullable="ZodNullable",e2.ZodDefault="ZodDefault",e2.ZodCatch="ZodCatch",e2.ZodPromise="ZodPromise",e2.ZodBranded="ZodBranded",e2.ZodPipeline="ZodPipeline",e2.ZodReadonly="ZodReadonly";let eC=N.create,e_=x.create,eI=eg.create,eb=L.create,eT=U.create,eS=D.create,eA=q.create,ek=H.create,eE=B.create,eR=F.create,eO=K.create,eM=$.create,eP=j.create,eN=z.create,ex=G.create,eL=G.strictCreate,eU=Y.create,eD=Z.create,eq=V.create,eH=Q.create,eB=J.create,eF=X.create,eK=ee.create,e$=et.create,ej=er.create,ez=en.create,eG=eo.create,eY=ea.create,eW=es.create,eZ=ec.create,eV=el.create,eQ=eu.create,eJ=ec.createWithPreprocess,eX=ef.create;var e0,e1,e2,e6,e4,e3,e5,e9=Object.freeze({__proto__:null,defaultErrorMap:c,setErrorMap:function(e){l=e},getErrorMap:u,makeIssue:d,EMPTY_PATH:[],addIssueToContext:h,ParseStatus:g,INVALID:p,DIRTY:m,OK:f,isAborted:y,isDirty:v,isValid:w,isA
1sync:C,get util(){return e6},get objectUtil(){return e4},ZodParsedType:i,getParsedType:o,ZodType:T,ZodString:N,ZodNumber:x,ZodBigInt:L,ZodBoolean:U,ZodDate:D,ZodSymbol:q,ZodUndefined:H,ZodNull:B,ZodAny:F,ZodUnknown:K,ZodNever:$,ZodVoid:j,ZodArray:z,ZodObject:G,ZodUnion:Y,ZodDiscriminatedUnion:Z,ZodIntersection:V,ZodTuple:Q,ZodRecord:J,ZodMap:X,ZodSet:ee,ZodFunction:et,ZodLazy:er,ZodLiteral:en,ZodEnum:eo,ZodNativeEnum:ea,ZodPromise:es,ZodEffects:ec,ZodTransformer:ec,ZodOptional:el,ZodNullable:eu,ZodDefault:ed,ZodCatch:eh,ZodNaN:eg,BRAND:ep,ZodBranded:em,ZodPipeline:ef,ZodReadonly:ey,custom:ev,Schema:T,ZodSchema:T,late:ew,get ZodFirstPartyTypeKind(){return e5},coerce:{string:e=>N.create({...e,coerce:!0}),number:e=>x.create({...e,coerce:!0}),boolean:e=>U.create({...e,coerce:!0}),bigint:e=>L.create({...e,coerce:!0}),date:e=>D.create({...e,coerce:!0})},any:eR,array:eN,bigint:eb,boolean:eT,date:eS,discriminatedUnion:eD,effect:eZ,enum:eG,function:e$,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>ev(t=>t instanceof e,t),intersection:eq,lazy:ej,literal:ez,map:eF,nan:eI,nativeEnum:eY,never:eM,null:eE,nullable:eQ,number:e_,object:ex,oboolean:()=>eT().optional(),onumber:()=>e_().optional(),optional:eV,ostring:()=>eC().optional(),pipeline:eX,preprocess:eJ,promise:eW,record:eB,set:eK,strictObject:eL,string:eC,symbol:eA,transformer:eZ,tuple:eH,undefined:ek,union:eU,unknown:eO,void:eP,NEVER:p,ZodIssueCode:a,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:s})},24871:(e,t,r)=>{"use strict";r.d(t,{Wm:()=>c,dF:()=>l,h8:()=>u});var n=r(82849),i=r(66119),o=r(51563),a=r(70591),s=r(4565);let c=()=>{let e=localStorage.getItem("CRITEO_USER_COOKIE");return e||(e=(0,o.GD)(),localStorage.setItem("CRITEO_USER_COOKIE",e)),n.A.set(a.Ex,e,{expires:30,path:"/"}),e},l=async({endpoint:e,timeout:t,sharedQueryParams:r,placementName:n,category:o,isMobile:c,queryString:l,returnAllPlacements:d})=>{var h;let g,p,m=c?"mobile":"desktop",f=`${a.Ru[a.RV[n]]}${m}`,y=l;y||(y=(0,s.e)({...r,category:o,"event-type":a.RV[n],"page-id":f}));try{let r=`${e}?${y}`,o=await (0,i.$3)(r,{},t,!1).then(e=>e);if(o&&"OK"===o.status){let e=null==(h=o.placements)?void 0:h.map(e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}));g={OnLoadBeacon:o.OnLoadBeacon,"page-uid":o.OnLoadBeacon,placement:u(`${f}-${n}`,e),placements:d?e:void 0}}}catch(e){e instanceof DOMException&&"AbortError"===e.name?console.info("Criteo fetch timed out and was aborted."):console.error(`Error fetching Criteo Data for ${n} on ${m}: `,e),p=e}return{data:g,error:p}},u=(e,t)=>{var r,n;let i=e.toLowerCase();return null==(n=null==(r=null==t?void 0:t.find(e=>e[i]))?void 0:r[i])?void 0:n[0]}},34462:(e,t,r)=>{"use strict";r.d(t,{v:()=>i});var n=r(85574);let i=n({level:r(87358).env.LOG_LEVEL||"info",formatters:{level:e=>({severity:e.toUpperCase()})},timestamp:n.stdTimeFunctions.isoTime})},34641:(e,t,r)=>{"use strict";r.d(t,{a:()=>a,jI:()=>s,nP:()=>n,se:()=>i});let n="transcendEmailAccessToken",i="transcendLastSync",o=()=>{try{return"u">typeof window&&"u">typeof sessionStorage}catch{return!1}},a=async(e,t)=>{if(!o())return console.warn("[TranscendToken] sessionStorage is not available"),null;try{if(e)return e}catch{return console.warn("[TranscendToken] Failed to access sessionStorage"),null}try{let e=await fetch("/getemailtoken",{credentials:"include",method:"GET"});if(e.ok){let r=await e.json();if((null==r?void 0:r.id_token)&&r.id_token.trim().length>0){try{t(r.id_token)}catch{console.warn("[TranscendToken] Failed to store token in sessionStorage")}return r.id_token}console.warn("[TranscendToken] API response missing or invalid id_token")}else console.warn(`[TranscendToken] API request failed with status ${e.status}`);return null}catch(e){return console.error("[TranscendToken] Failed to fetch transcend email access token:",e),null}},s=()=>{try{o()&&sessionStorage.removeItem(n)}catch{console.warn("[TranscendToken] Failed to remove token from sessionStorage")}try{(()=>{try{return"u">typeof window&&"u">typeof localStorage}catch{return!1}})()&&localStorage.removeItem(i)}catch{console.warn("[TranscendToken] Failed to remove transcend_last_sync from localStorage")}}},36360:(e,t,r)=>{"use strict";r.d(t,{G:()=>o});var n=r(12115);let i=(e,t,r)=>{let n=`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if((null==r?void 0:r.path)||(n+="; path=/"),r){if(r.expires){let e=new Date(r.expires);n+=`; expires=${e.toUTCString()}`}r.path&&(n+=`; path=${r.path}`),r.domain&&(n+=`; domain=${r.domain}`),r.secure&&(n+="; secure"),r.maxAge&&(n+=`; max-age=${r.maxAge}`)}"u">typeof document&&(document.cookie=n)};
1function o(e,t){let[r,o]=(0,n.useState)(()=>{let r=(e=>{if("u">typeof document)for(let t of document.cookie.split("; ")){let[r,n]=t.split("=");if(r===e)return decodeURIComponent(n)}return null})(e);return r||(t&&i(e,t),t)}),a=(0,n.useCallback)((t,r)=>{i(e,t,r),o(t)},[e]),s=(0,n.useCallback)(e=>{i(e,"",{expires:new Date(0)})},[]);return[r,a,(0,n.useCallback)(()=>{s(e),o(void 0)},[e,s])]}},36571:(e,t,r)=>{"use strict";r.d(t,{$Y:()=>d,NK:()=>c,X2:()=>o,Z0:()=>u,ZB:()=>s,yw:()=>a});var n=r(91992);let i=(e,t)=>{var r,n;let{url:i,method:o,body:a,config:s}=e;(null==(r=null==s?void 0:s.logConfig)?void 0:r.log_body)&&t(`Api body : ${JSON.stringify(a)}`),(null==(n=null==s?void 0:s.logConfig)?void 0:n.log_headers)&&(t(`Api Url : ${i}`),t(`Api Method : ${o}`))},o=(e,t)=>{var r;let{config:n}=e;switch(console.log(`Time taken : ${t}`),null==(r=null==n?void 0:n.logConfig)?void 0:r.logLevel){case"INFO":i(e,console.info);break;case"ERROR":i(e,console.error);break;case"WARN":i(e,console.warn);break;case"LOG":i(e,console.log)}},a=(e,t)=>setTimeout(()=>{e.abort(),console.error("Aborted due to timeout")},null==t?void 0:t.ui_timeout),s=async e=>await n.A.sanitize(e),c=async e=>{let t=await n.A.sanitize(JSON.stringify(e));return await JSON.parse(t)},l={"-1":"en-US","-24":"en-CA","-25":"fr-CA"},u=async()=>{if("u"<typeof window)return;let e=document.cookie.match(/(?:^|; )selectedLanguage=([^;]*)/);return l[e?decodeURIComponent(e[1]):"-1"]},d=()=>{if("u">typeof window){let e=window.location.hostname.match(/-v(.+?)\.costco\./i);return(null==e?void 0:e[1])?e[1]:void 0}}},39007:(e,t,r)=>{"use strict";r.d(t,{F:()=>c});var n=r(12115),i=r(60519);let o=(e,t)=>{var r;let n="object"==typeof t?JSON.stringify(t):t;null==(r=window.sessionStorage)||r.setItem(e,n)},a=e=>{var t;return null==(t=window.sessionStorage)?void 0:t.getItem(e)},s=()=>null;function c(e,t){(0,i.c)();let r=(0,n.useSyncExternalStore)((0,i.Q)("sessionStorage",e),()=>a(e),s),c=(0,n.useCallback)(t=>{try{let i=t;if("function"==typeof t)try{i=t(JSON.parse(r||""))}catch(e){console.warn(e),i=t(r||"")}if(null==i){var n;null==(n=window.sessionStorage)||n.removeItem(e)}else o(e,i)}catch(e){console.warn(e)}},[e,r]);(0,n.useEffect)(()=>{try{null===a(e)&&void 0!==t&&o(e,t)}catch(e){console.warn(`useSessionStorage useEffect error: ${e}`)}},[e,t]);let l=(0,n.useMemo)(()=>{try{let e=r?JSON.parse(r):t;return e=null!=e&&"object"!=typeof e?`${e}`:e}catch(e){return r||t}},[r,t]);try{return[l,c]}catch(e){return console.error(`useSessionStorage error: ${e}`),[t,c]}}},39530:(e,t,r)=>{"use strict";r.d(t,{TM:()=>o,ag:()=>n,i9:()=>s,mc:()=>i,zs:()=>a});let n="client-zip-short",i="zipcode=",o="sameday.costco",a="/s?",s="/c/"},44855:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>p});var n=r(12115),i=r(8039),o=r(67198),a=r(78392),s=r(90901);let c=()=>{},l=c(),u=(new WeakMap,n.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}})),d={dedupe:!0},h=Promise.resolve(o.U);h.status="fulfilled",h.value=o.U;let g=()=>o.A;o.O.defineProperty(o.g,"defaultValue",{value:o.d});let p=(0,s.qm)((e,t,r)=>{let{cache:c,compare:l,suspense:p,fallbackData:m,revalidateOnMount:f,revalidateIfStale:y,refreshInterval:v,refreshWhenHidden:w,refreshWhenOffline:C,keepPreviousData:_,strictServerPrefetchWarning:I}=r,[b,T,S,A]=o.b.get(c),[k,E]=(0,o.s)(e),R=(0,n.useRef)(!1),O=(0,n.useRef)(!1),M=(0,n.useRef)(k),P=(0,n.useRef)(t),N=(0,n.useRef)(r),x=()=>N.current.isVisible()&&N.current.isOnline(),[L,U,D,q]=(0,o.z)(c,k),H=(0,n.useRef)({}).current,B=(0,o.e)(m)?(0,o.e)(r.fallback)?o.U:r.fallback[k]:m,F=(e,t)=>{for(let r in H)if("data"===r){if(!l(e[r],t[r])&&(!(0,o.e)(e[r])||!l(V,t[r])))return!1}else if(t[r]!==e[r])return!1;return!0},K=!R.current,$=(0,n.useMemo)(()=>{let e=L(),r=q(),n=e=>{let r=(0,o.m)(e);return(delete r._k,(()=>{if(!k||!t||N.current.isPaused())return!1;if(K&&!(0,o.e)(f))return f;let e=(0,o.e)(B)?r.data:B;return(0,o.e)(e)||y})())?{isValidating:!0,isLoading:!0,...r}:r},i=n(e),a=e===r?i:n(r),s=i;return[()=>{let e=n(L());return F(e,s)?(s.data=e.data,s.isLoading=e.isLoading,s.isValidating=e.isValidating,s.error=e.error,s):(s=e,e)},()=>a]},[c,k]),j=(0,i.useSyncExternalStore)((0,n.useCallback)(e=>D(k,(t,r)=>{F(r,t)||e()}),[c,k]),$[0],$[1]),z=b[k]&&b[k].length>0,G=j.data,Y=(0,o.e)(G)?B&&(0,o.B)(B)?u(B):B:G,W=j.error,Z=(0,n.useRef)(Y),V=_?(0,o.e)(G)?(0,o.e)(Z.current)?Y:Z.current:G:Y,Q=k&&(0,o.e)(Y),J=(0,n.useRef)(null);
1o.I||(0,i.useSyncExternalStore)(g,()=>(J.current=!1,J),()=>(J.current=!0,J));let X=J.current;I&&X&&!p&&Q&&console.warn(`Missing pre-initiated data for serialized key "${k}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let ee=!(!k||!t||N.current.isPaused())&&(!z||!!(0,o.e)(W))&&(K&&!(0,o.e)(f)?f:p?!(0,o.e)(Y)&&y:(0,o.e)(Y)||y),et=K&&ee,er=(0,o.e)(j.isValidating)?et:j.isValidating,en=(0,o.e)(j.isLoading)?et:j.isLoading,ei=(0,n.useCallback)(async e=>{let t,n,i=P.current;if(!k||!i||O.current||N.current.isPaused())return!1;let s=!0,c=e||{},u=!S[k]||!c.dedupe,d=()=>o.r?!O.current&&k===M.current&&R.current:k===M.current,h={isValidating:!1,isLoading:!1},g=()=>{U(h)},p=()=>{let e=S[k];e&&e[1]===n&&delete S[k]},m={isValidating:!0};(0,o.e)(L().data)&&(m.isLoading=!0);try{if(u&&(U(m),r.loadingTimeout&&(0,o.e)(L().data)&&setTimeout(()=>{s&&d()&&N.current.onLoadingSlow(k,r)},r.loadingTimeout),S[k]=[i(E),(0,o.o)()]),[t,n]=S[k],t=await t,u&&setTimeout(p,r.dedupingInterval),!S[k]||S[k][1]!==n)return u&&d()&&N.current.onDiscarded(k),!1;h.error=o.U;let e=T[k];if(!(0,o.e)(e)&&(n<=e[0]||n<=e[1]||0===e[1]))return g(),u&&d()&&N.current.onDiscarded(k),!1;let a=L().data;h.data=l(a,t)?a:t,u&&d()&&N.current.onSuccess(t,k,r)}catch(r){p();let e=N.current,{shouldRetryOnError:t}=e;!e.isPaused()&&(h.error=r,u&&d()&&(e.onError(r,k,e),(!0===t||(0,o.a)(t)&&t(r))&&(!N.current.revalidateOnFocus||!N.current.revalidateOnReconnect||x())&&e.onErrorRetry(r,k,e,e=>{let t=b[k];t&&t[0]&&t[0](a.I0,e)},{retryCount:(c.retryCount||0)+1,dedupe:!0})))}return s=!1,g(),!0},[k,c]),eo=(0,n.useCallback)((...e)=>(0,o.n)(c,M.current,...e),[]);if((0,o.u)(()=>{P.current=t,N.current=r,(0,o.e)(G)||(Z.current=G)}),(0,o.u)(()=>{if(!k)return;let e=ei.bind(o.U,d),t=0;N.current.revalidateOnFocus&&(t=Date.now()+N.current.focusThrottleInterval);let r=(0,s.aw)(k,b,(r,n={})=>{if(r==a.CC){let r=Date.now();N.current.revalidateOnFocus&&r>t&&x()&&(t=r+N.current.focusThrottleInterval,e())}else if(r==a.jB)N.current.revalidateOnReconnect&&x()&&e();else if(r==a.q2)return ei();else if(r==a.I0)return ei(n)});return O.current=!1,M.current=k,R.current=!0,U({_k:E}),ee&&!S[k]&&((0,o.e)(Y)||o.I?e():(0,o.t)(e)),()=>{O.current=!0,r()}},[k]),(0,o.u)(()=>{let e;function t(){let t=(0,o.a)(v)?v(L().data):v;t&&-1!==e&&(e=setTimeout(r,t))}function r(){!L().error&&(w||N.current.isVisible())&&(C||N.current.isOnline())?ei(d).then(t):t()}return t(),()=>{e&&(clearTimeout(e),e=-1)}},[v,w,C,k]),(0,n.useDebugValue)(V),p){if(!o.r&&o.I&&Q)throw Error("Fallback data is required when using Suspense in SSR.");Q&&(P.current=t,N.current=r,O.current=!1);let e=A[k];if(u(!(0,o.e)(e)&&Q?eo(e):h),!(0,o.e)(W)&&Q)throw W;let n=Q?ei(d):h;!(0,o.e)(V)&&Q&&(n.status="fulfilled",n.value=!0),u(n)}return{mutate:eo,get data(){return H.data=!0,V},get error(){return H.error=!0,W},get isValidating(){return H.isValidating=!0,er},get isLoading(){return H.isLoading=!0,en}}})},46759:(e,t,r)=>{"use strict";r.d(t,{Cw:()=>d,DU:()=>l,Dq:()=>m,GK:()=>s,Is:()=>p,Kc:()=>v,OB:()=>u,Sr:()=>n,T3:()=>h,UW:()=>i,YB:()=>f,Yx:()=>a,Zz:()=>y,aN:()=>g,kn:()=>c,qU:()=>o});let n="ALL_HOURS_MATCH",i="MON_THROUGH_SAT_HOURS_MATCH",o="WEEKEND_HOURS_MATCH",a="NO_HOURS_MATCH",s="warehousespagebaseurl",c="Business Center",l="Standalone Gas Station",u="Home Showroom",d="HS",h="openFMW",g={BUSINESS_CENTER:"businessCenter",GAS_STATION_ONLY:"gasStationOnly",STANDARD:"standard",SHOWROOM:"showroom"},p="BD",m="CB",f={BUSINESS_CENTER:"businesscenteroption",GAS_STATION:"gasstationoption",CAR_WASH:"carwashoption",TIRE_CENTER:"tirecenteroption",FOOD_COURT:"foodcourtoption",HEARING_AID:"hearingaidoption",OPTICAL:"opticaloption",PHARMACY:"pharmacyoption"},y={WAREHOUSE_LOCATOR_MOBILE_API:"warehouseLocatorMobileApi",WAREHOUSE_LOCATIONS_PAGE:"warehouseLocationsPage"},v="-wh"},50122:(e,t,r)=>{"use strict";r.d(t,{EN:()=>g,Fp:()=>p,MZ:()=>i,Q2:()=>f,SD:()=>a,UC:()=>v,_P:()=>u,d_:()=>_,dv:()=>y,hf:()=>c,im:()=>d,kh:()=>s,m_:()=>I,mv:()=>n,pp:()=>m,qY:()=>C,rs:()=>l,s6:()=>w,sw:()=>h,us:()=>S,xY:()=>T,yB:()=>o,yu:()=>b});let n="client-zip-short",i="cartCountCookie",o="invCheckCity",a="invCheckStateCode",s="invCheckPostalCode",c="OptanonConsent",l="STORELOCATION",u="WAREHOUSEDELIVERY_WHS",d="wcCartOrder",h="wcMember",g="WC_BD_WHS",p="WC_BD_ZIP",m="WC_BD_ZIP_ORIGINAL",f="WC_BD_LOC",y="user_preferences",v=400,w=1,C=180,_=365,I="warehouseCookieExpResetFlag",b="storeLocCookieExpResetFlag",T="miniBannerDetails",S=""},51167:(e,t,r)=>{"use strict";r.d(t,{AG:()=>o,B:()=>i,CY:()=>s,Zv:()=>c,j9:()=>l,mP:()=>a,oF:()=>n});let n="no_tokens_found",i="native_account_unavailable",o="refresh_token_expired",a="interaction_required",s="consent_required",c="login_required",l="bad_token"},51563:(e,t,r)=>{"use strict";r.d(t,{$f:()=>w,AY:()=>u,GD:()=>g,IF:()=>m,Lo:()=>v,OT:()=>h,UC:()=>y,Wc:()=>l,Z0:()=>d,ZC:()=>c,bJ:()=>a,qJ:()=>s,rX:()=>o,u6:()=>C,uJ:()=>f,vh:()=>p});var n=r(39530),i=r(74662);let o=(e,t)=>new IntersectionObserver(e,t),a=(e,t)=>{let r=e.split(","),n="1"===r[4],i="1"===r[5],o="E0002"===r[6];return!!(t&&(n||i)&&o)},s=(e,t)=>(0,i.T6)()?!!(t&&(null==e?void 0:e.split(",")[1])==="1"):a(e,t),c=e=>Object.keys(e).sort().reduce((t,r)=>({...t,[r]:e[r]}),{}),l=e=>{let t=[];for(let r in e)void 0===e[r]&&t.push(r);return t.join(", ")},u=e=>{try{return new URL(e||""),!0}catch{return!1}},d=e=>{let t=e&&e.includes("-")?e.split("-"):[];return t.length>0&&t[0]?t[0]:"en"},h=e=>{let t=d(e);return new Intl.DisplayNames([t],{type:"language"}).of(t)},g=()=>{let e=new Date().getTime();return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(t){let r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)})},p=e=>null==e?void 0:e.startsWith("http");function m(e,t,r){if(!t)return"/";if(p(t)||t.startsWith(n.zs))return t;let[i,o]=t.split("?")??[t,void 0],a=o?`?${o}`:"";if(!i||i===e||"/"===i)return"/";let s=n.i9;!(!e||"/"===e||""===e||e.startsWith(n.zs))&&/^\/[a-z]+\/$/.test(e)?s=e:console.warn(`normalizeCategoryLink: Invalid CATEGORY_PATH_PREFIX environment variable ${e} provided. Please check your environment variables.`);let c=i.replace(e||"","").replace(".html","").replace(/^\/+/,"");return(null==r?void 0:r.includes(c))?`${s||""}${c}.html${a}`:t}let f=e=>null==e||""===e||Array.isArray(e)&&0===e.length||0===Object.keys(e).length&&e.constructor===Object,y=e=>{if(!e)return null;try{let t=JSON.stringify(e);return btoa(t)}catch(e){return console.warn("Failed to encode object to base64:",e),null}},v=e=>{if(!e)return null;try{let t=atob(e);return JSON.parse(t)}catch(e){return console.warn("Failed to decode object from base64:",e),null}};function w({deliveryLocation:e,bdDeliveryLocation:t,locale:r}){var n;let o=null==e?void 0:e.state;return(0,i.T6)()?/[a-zA-Z]/.test((null==t?void 0:t.bdLocation)??"")?null==(n=null==t?void 0:t.bdLocation)?void 0:n.slice(-2):"en-ca"!==r&&"fr-ca"!==r?o:void 0:o}function C({deliveryLocation:e,bdDeliveryLocation:t}){let{zipCode:r}=e||{},{zipCode:n}=t||{};return(0,i.T6)()?n:r}},56224:(e,t,r)=>{"use strict";r.d(t,{GX:()=>o,JM:()=>s,Kj:()=>l,Xq:()=>u,eV:()=>n,mG:()=>c,t4:()=>i,te:()=>a});let n="C_LOC",i=365,o="C_2LOC",a=365,s="C_WHLOC",c=180,l="selectedLanguage",u=86400},56860:(e,t,r)=>{"use strict";let n;r.d(t,{fetcherCache:()=>o});var i=r(98349);async function o(){if(!n){let e;try{e=i.createInstance({name:"CW_fetch_cache",storeName:"cache",version:1,description:"Persistent cache for native fetch",driver:[i.INDEXEDDB]});try{await e.ready(),n=e}catch(e){console.error("fetcherCache: localForage not ready"),n=void 0}}catch(e){console.error("fetcherCache: cannot create localForage instance")}}return n}},60134:(e,t,r)=>{"use strict";r.d(t,{lR:()=>a,pz:()=>s});var n=r(68304),i=r(91566);let o={[i.W]:"Unexpected error in authentication.",[i.z]:"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details."};i.W,o[i.W],i.z,o[i.z];
1class a extends Error{constructor(e,t,r){super(t?`${e}: ${t}`:e),Object.setPrototypeOf(this,a.prototype),this.errorCode=e||n.YM.EMPTY_STRING,this.errorMessage=t||n.YM.EMPTY_STRING,this.subError=r||n.YM.EMPTY_STRING,this.name="AuthError"}setCorrelationId(e){this.correlationId=e}}function s(e,t){return new a(e,t?`${o[e]} ${t}`:o[e])}},60475:(e,t,r)=>{"use strict";r.d(t,{y:()=>u});var n=r(90901),i=r(44855),o=r(98822),a=r(68155),s=r(12115);function c(e,t,r){let n=Error(t);return n.name="AuthTokenError",n.code=e,n.cause=r,n}let l={revalidateOnFocus:!1,revalidateOnReconnect:!1},u=()=>{let{mutate:e}=(0,n.iX)(),{data:t,isLoading:r}=(0,i.Ay)("getWcsToken",a.gf,l);return{getTokenValue:(0,s.useCallback)(async(r=!1,n)=>{let i=(null==n?void 0:n.throwOnError)??!1,s=(null==n?void 0:n.throwIfMissingToken)??!1,{token:l}=t||{};if(l){let t=!1;try{let e=(0,a.oL)(l);t=(0,a.Hm)(e)}catch(e){if(console.error("Token decode failed"),i)throw c("TOKEN_DECODE_FAILED","Token decode failed",e)}if(t)try{let t=await e("getWcsToken");l=null==t?void 0:t.token}catch(e){if(console.error("Refetch SWR token failed"),l=void 0,i)throw c("TOKEN_REFRESH_FAILED","Refetch SWR token failed",e)}}if(!l&&s||(l||r||(0,o.Jv)(),!l&&s))throw c("TOKEN_MISSING","Authentication token is unavailable");return l},[t,e]),isLoading:r}}},60519:(e,t,r)=>{"use strict";r.d(t,{Q:()=>c,c:()=>s});let n="gdx-storage-change",i=!1;function o(e){return"u">typeof window&&e===window.sessionStorage?"sessionStorage":"localStorage"}function a(e,t){window.dispatchEvent(new CustomEvent(n,{detail:{key:t,storageArea:e}}))}function s(){var e;let t;if(i||"u"<typeof window)return;try{t=(null==(e=window.Storage)?void 0:e.prototype)??Object.getPrototypeOf(window.localStorage)}catch{try{t=Object.getPrototypeOf(window.sessionStorage)}catch{return}}if(!t)return;let r=t.setItem,n=t.removeItem,s=t.clear;t.setItem=function(e,t){let n=r.call(this,e,t);return a(o(this),e),n},t.removeItem=function(e){let t=n.call(this,e);return a(o(this),e),t},t.clear=function(){let e=s.call(this);return a(o(this),null),e},i=!0}function c(e,t){return r=>{let i=n=>{(n.storageArea?o(n.storageArea):e)!==e||n.key&&n.key!==t||r()},a=n=>{let i=n.detail;(null==i?void 0:i.storageArea)!==e||i.key&&i.key!==t||r()};return window.addEventListener("storage",i),window.addEventListener(n,a),()=>{window.removeEventListener("storage",i),window.removeEventListener(n,a)}}}},65538:(e,t,r)=>{"use strict";var n=r(12115),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,a=n.useEffect,s=n.useLayoutEffect,c=n.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var u="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=o({inst:{value:r,getSnapshot:t}}),i=n[0].inst,u=n[1];return s(function(){i.value=r,i.getSnapshot=t,l(i)&&u({inst:i})},[e,r,t]),a(function(){return l(i)&&u({inst:i}),e(function(){l(i)&&u({inst:i})})},[e]),c(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},65769:(e,t,r)=>{"use strict";r.d(t,{A:()=>es});var n=r(98822),i=r(4255),o=r(34641),a=r(68155),s=r(34462),c=r(12115),l=r(19253),u=r(36571);let d={isDevelopment:!0,logLevel:"info",maskingExcludedKeywords:[]},h="[REDACTED]";function g(e){return e.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function p(e){return e.map(g)}let m=p(["lastFour","messageName","sendingApplication","trackingId","costcoTrackingId","profileId"]),f=p(["accountholder","address","authorization","billing","card","city","cookie","cvv","email","firstName","lastName","member","pareq","password","postal","secret","session","token","zip"]),y=p(["email"]),v=p(["cardholderName","firstName","lastName","name"]),w=p(["membership","mid"]),C=p(["accessToken","authorization","cookie","pareq","password","secret","token"]),_=p(["cardNumber"]),I=p(["cvv","cvc","cvn","password","securityCode","securityNumber"]),b=p(["accountId","membership","mid","profileId","sessionId","trackingId"]),T=p(["authenticationTransactionId","paymentAccountId","paymentsHubTransactionId","transactionId","walletId","walletReference"]),S=p(["address","billing","city","gateway","postal","zip"]);function A(e,t){return t.some(t=>e.includes(t))}function k(e,t){return t.some(t=>e===t)}
1function E(e=[]){return[...d.maskingExcludedKeywords,...e].map(g).filter(Boolean)}function R(e){return k(e,T)||A(e,S)}function O(e,t=2,r=2){if(null==e)return h;let n=String(e);return 0===n.length?h:`${n.slice(0,t)}****${n.slice(-r)}`}function M(e){let[t="",r=""]=e.split("@");if(!t||!r)return h;let[n="",...i]=r.split("."),o=O(t,1,1),a=n.length>2?O(n,1,1):h,s=i.length>0?`.${i.join(".")}`:"";return`${o}@${a}${s}`}function P(e){return O(String(e),2,2)}function N(e){return O(String(e),0,6)}function x(e){let t=e.trim();return t.includes("@")?M(t):t}function L(e,t){return A(t,I)?h:A(t,w)?N(e):A(t,_)?O(String(e),0,4):A(t,C)?O(String(e),4,4):A(t,y)?M(String(e)):P(e)}function U(e,t,r=new WeakSet,n=!1,i=0,o=[]){let a=function(e,t,r=!1,n=[]){if(r&&(null===e||"object"!=typeof e&&"function"!=typeof e))return h;if("string"==typeof e){if(!t)return x(e);let r=g(t);if(k(r,m)||A(r,n))return e;if(A(r,I))return h;if(k(r,v)){let t;return"name"===r&&("Error"===(t=e.trim())||/^[A-Za-z]+Error$/.test(t))?e:O(String(e),1,1)}return R(r)?h:A(r,y)?M(e):A(r,C)?O(e,4,4):A(r,w)?N(e):A(r,b)?P(e):A(r,f)?L(e,r):x(e)}if("number"==typeof e&&t){let r=g(t);if(A(r,n))return e;if(A(r,b))return A(r,w)?N(e):P(e);if(A(r,I))return h;if(A(r,f))return L(e,r)}return"bigint"==typeof e?e.toString():e}(e,t,n,o);if(a!==e||null===e||"object"!=typeof e&&"function"!=typeof e)return a;
1if(i>=5)return"[MaxDepth]";if(n&&(e instanceof Date||e instanceof RegExp||"function"==typeof e))return h;if(e instanceof Date)return e.toISOString();if(e instanceof RegExp)return e.toString();if("function"==typeof e)return`[Function ${e.name||"anonymous"}]`;if(r.has(e))return"[Circular]";if(r.add(e),Array.isArray(e))return e.map(e=>U(e,t,r,n,i+1,o));let s={};for(let[t,a]of Object.entries(e)){if(void 0===a)continue;let e=g(t),c=A(e,o);if(n||!c&&R(e)){s[t]=U(a,t,r,!0,i+1,o);continue}if(k(e,m)||c){s[t]=U(a,void 0,r,!1,i+1,o);continue}s[t]=U(a,t,r,!1,i+1,o)}return s}function D(e,t,r=new WeakSet,n=!1,i=0){return U(e,"string"==typeof t?t:void 0,r,n,i,E("object"==typeof t?t.maskingExcludedKeywords:void 0))}function q(e,t=new WeakSet,r){if("object"==typeof e&&null!==e){if(t.has(e))return{message:"[Circular]"};t.add(e)}if(e instanceof AggregateError)return{name:e.name,message:e.message,errors:e.errors.map(e=>q(e,t,r)),stack:e.stack};if(e instanceof Error){let n={name:e.name,message:e.message,stack:e.stack};for(let[i,o]of(void 0!==e.code&&(n.code=e.code),void 0!==e.cause&&(n.cause=q(e.cause,t,r)),Object.entries(e)))i in n||void 0===o||(n[i]=U(o,i,new WeakSet,!1,0,E(null==r?void 0:r.maskingExcludedKeywords)));return n}return"string"==typeof e?{message:e}:"object"!=typeof e||null===e||Array.isArray(e)?{message:"Unknown error",value:D(e,r)}:D(e,r)}let H={debug:10,info:20,warn:30,error:40,silent:100};function B(){return"u"<typeof window}function F(){return"boolean"==typeof d.enableClientLogging?d.enableClientLogging:d.isDevelopment}function K(e){try{return JSON.stringify(e)}catch(e){return JSON.stringify({timestamp:new Date().toISOString(),severity:"ERROR",message:"Failed to serialize log payload",module:"utils/logger",error:q(e)})}}function $(e,t){switch(e){case"warn":console.warn(t);return;case"error":console.error(t);return;default:console.log(t)}}function j(e){for(let t in e)if(Object.hasOwn(e,t))return!0;return!1}async function z(e){var t,n;let i,o=null==(t=Object.entries(e.headers).find(([e])=>"costco-tracking-id"===e.toLowerCase()))?void 0:t[1],a=(i=null==(n="str
1ing"==typeof o?o:void 0)?void 0:n.trim())||crypto.randomUUID(),s=(function e({component:t,context:n={},endpoint:i,flowId:o,httpRequest:a,loggerId:s=crypto.randomUUID(),module:c,parentLoggerId:l,trackingId:u}){let h={...n};function g(e,n,g){try{var p,m,f;if(p=e,m=null==g?void 0:g.captureOnServer,f=null==g?void 0:g.forceClientLog,!(!(H[p]<H[d.logLevel])&&(B()||f||m||F())))return;let y={...h,...(null==g?void 0:g.context)??{}},v={maskingExcludedKeywords:null==g?void 0:g.maskingExcludedKeywords},w={timestamp:new Date().toISOString(),severity:function(e){switch(e){case"debug":return"DEBUG";case"warn":return"WARNING";case"error":return"ERROR";default:return"INFO"}}(e),message:n,module:c,loggerId:s};t&&(w.component=t),i&&(w.endpoint=i),l&&(w.parentLoggerId=l);let C=(null==g?void 0:g.trackingId)??u;C&&(w.trackingId=C);let _=(null==g?void 0:g.flowId)??o;_&&(w.flowId=_);let I=a||(null==g?void 0:g.httpRequest)?{...a??{},...(null==g?void 0:g.httpRequest)??{}}:null;I&&(w.httpRequest=I),j(y)&&(w.context=D(y,v)),(null==g?void 0:g.pii)&&j(g.pii)&&(w.pii=D(g.pii,v)),(null==g?void 0:g.error)!==void 0&&(w.error=D(q(g.error,void 0,v),v)),function(e,t,n,i){if(!B()){if((F()||i)&&$(e,K(t)),!n)return;r.e(7753).then(r.bind(r,7753)).then(({captureLog:e})=>e(t)).catch(()=>{});return}$(e,K(t))}(e,w,null==g?void 0:g.captureOnServer,null==g?void 0:g.forceClientLog)}catch{try{console.error(JSON.stringify({timestamp:new Date().toISOString(),severity:"ERROR",message:n,module:c,loggerError:"[Logger failed to process log payload]"}))}catch{}}}return{debug:(e,t)=>g("debug",e,t),info:(e,t)=>g("info",e,t),warn:(e,t)=>g("warn",e,t),error:(e,t)=>g("error",e,t),loggerId:s,parentLoggerId:l,trackingId:u,child:r=>e({component:t,context:{...h,...r},endpoint:i,flowId:o,httpRequest:a,loggerId:crypto.randomUUID(),module:c,parentLoggerId:s,trackingId:u}),withTrackingId:r=>e({component:t,context:h,endpoint:i,flowId:o,httpRequest:a,loggerId:s,module:c,parentLoggerId:l,trackingId:r}),withFlowId:r=>e({component:t,context:h,endpoint:i,flowId:r,httpRequest:a,loggerId:s,module:c,parentLoggerId:l,trackingId:u}),sanitize:e=>D(e)}})({module:"apiHandler"}).withTrackingId(a);try{let t,r,n,i={...e},{url:o,config:c,method:l,headers:d,keepalive:h}=i,g=(null==i?void 0:i.body)??null,p=new Date().getTime();g&&(null==c?void 0:c.sanitisation)&&(g=await (0,u.ZB)(g));let m={headers:d,method:l,keepalive:h};h||(r=new AbortController,t=(0,u.yw)(r,null==c?void 0:c.logConfig),m.signal=r.signal),m.headers["Costco-Tracking-Id"]=a,g&&(m={...m,body:g});let f=await fetch(o,m).then(e=>{let r=new Date().getTime();return(0,u.X2)(i,r-p),t&&clearTimeout(t),e}).catch(e=>(t&&clearTimeout(t),s.error("API call failed:",{error:e,captureOnServer:!0,httpRequest:{requestMethod:l,requestUrl:o}}),null));if(!f)return{data:null,statusCode:null};let y=(null==f?void 0:f.status)?null==f?void 0:f.status:"",v=204===f.status||205===f.status||304===f.status,w=f.headers.get("content-type");if(v)n=null;else if(w)try{if(w.includes("application/json")||w.includes("application/hal+json"))n=await f.json();else if(w.includes("text/plain"))n=await f.text();else if(w.includes("application/xml")||w.includes("text/xml")){let e=await f.text();n=new DOMParser().parseFromString(e,"application/xml")}else n=JSON.parse(await f.text())}catch(t){let e="undefined";if("string"==typeof n)e=n.slice(0,500);else if(void 0!==n)try{e=JSON.stringify(n).slice(0,500)}catch{e=String(n).slice(0,500)}s.error("Failed to parse response body:",{error:t,context:{responseBody:e},captureOnServer:!0}),n={}}else n=await f.text();return{data:(null==c?void 0:c.sanitisation)?await (0,u.NK)(n):n,statusCode:y}}catch(t){return s.error(`An error occurred in API handler while calling the API ${null==e?void 0:e.url}`,{error:t,httpRequest:{requestUrl:null==e?void 0:e.url},captureOnServer:!0}),{data:null,statusCode:null}}}let G=async(e,t)=>({authorization:e?`Bearer ${e}`:"","Content-Type":"application/json","x-lang-id":await (0,u.Z0)(),"Costco-Tracking-Id":crypto.randomUUID(),"client-identifier":null==t?void 0:t["client-identifier"],"client-id":null==t?void 0:t["client-id"],"X-Client-Id":null==t?void 0:t["client-id"],"costco-env":null==t?void 0:t["costco-env"]}
1),Y=async(e,t,r,n)=>{let i=await G(r,n),o=`${null==n?void 0:n.url}/api`;return z({body:JSON.stringify({attrKey:e,attrValue:t}),method:null==n?void 0:n.method,url:o,headers:i,keepalive:!0})},W=async(e,t)=>{let r,n=await (0,u.Z0)(),i=((null==(r=window.location.hostname.match(/-v(.+?)\.costco\./i))?void 0:r[1])?r[1]:null)||(null==t?void 0:t.env);return{authorization:e?`Bearer ${e}`:"","Content-Type":"application/json","x-lang-id":n,"Costco-Tracking-Id":crypto.randomUUID(),"client-id":null==t?void 0:t["client-id"],"client-identifier":null==t?void 0:t.gmc_clientIdentifier,"costco-env":null==t?void 0:t.envGcp,"gcp-costco-env":i,"country-code":null==t?void 0:t.gmc_countryCode,...(null==t?void 0:t.costco_gdx_deployment)&&(null==t?void 0:t.costco_gdx_deployment)!==""&&{"x-costco-gdx-deployment":null==t?void 0:t.costco_gdx_deployment}}},Z=async(e,t)=>{let r=await W(e,t),n=`${null==t?void 0:t.url}`,i={method:null==t?void 0:t.method,url:n,headers:r,keepalive:!0},o=await z(i);return((null==o?void 0:o.statusCode)===200||(null==o?void 0:o.statusCode)===404)&&(console.log("Storing member details in sessionStorage:",JSON.stringify(o)),sessionStorage.setItem("memberDetails",JSON.stringify(o))),o};var V=r(88114),Q=r(87637);async function J(e){let t=new TextEncoder().encode(e);return btoa(String.fromCharCode(...new Uint8Array(await window.crypto.subtle.digest("SHA-256",t)))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}let X=async()=>{let e,t=(e=new Uint8Array(32),window.crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")),r=await J(t),n=`custompkce._${crypto.randomUUID()}`;return sessionStorage.setItem(n,JSON.stringify({codeVerifier:t,codeChallenge:r,method:"S256"})),{codeVerifier:t,codeChallenge:r,pkceKey:n}};var ee=r(87358);let et=null,er=!1;var en=r(39007);let ei=!1,eo=null;var ea=r(60475);let es=()=>{let{getTokenValue:e,isLoading:t}=(0,ea.y)(),{getTranscendEmailToken:r}=(()=>{let[e,t]=(0,en.F)(o.nP);return{getTranscendEmailToken:(0,c.useCallback)(async()=>eo||(ei?null:(eo=(0,o.a)(e,t),ei=!0,eo)),[e,t])}})(),{msalEnabledFeatureFlag:u,transcendEmailFeatureFlag:d,msalInstanceLoaded:h,signinWithParam:g,signout:p,handleRedirectPromise:m,getTokenSilent:f,editPassword:y,editEmail:v,isMSALKmsiSession:w,msalPostRedirectInFlight:C,InitWCSSession:_}=(()=>{let{msalInstance:e,baseMsalConfig:t,msalEnabledFeatureFlag:r,transcendEmailFeatureFlag:n,msalInstanceLoaded:i,msalRedirectResult:o,getPostRedirectInFlight:s,setMsalPostRedirectInFlight:u,getAzureAuthorizationCode:d,memberApiConfig:h,site:g}=(()=>{let e=(0,c.useContext)(V.S);if(void 0===e)throw Error("useAgent must be used within an AgentProvider");return e})()||{},p=(0,c.useCallback)((e,t)=>{e instanceof Error?e.message.includes("AADB2C90091")?console.log("MSAL Error:: User canceled the operation."):console.error(`MSAL Error:: ${t}: `,e):console.error("MSAL Error:: Unknown error:",e)},[]),m=(0,c.useCallback)(async()=>{if(e&&i){let t=e.getAllAccounts()[0];if(t)return t}return null},[e,i]),f=(0,c.useCallback)(async(e,t,r,n)=>{let i=JSON.parse(sessionStorage.getItem(n)||"{}");console.log("PKCE key",n),console.log("pkceData key",i);let o=await fetch(`/OAuthLogonCmd?id_token=${e}&code=${r}&setKmsi=true&msalEnabled=true&code_verifier=${null==i?void 0:i.codeVerifier}`,{method:"POST",headers:{Subscription:t},body:JSON.stringify({}),credentials:"include",keepalive:!0});return(null==o?void 0:o.status)===200?(console.log("WCS session set successfully"),sessionStorage.removeItem(n),o):(console.error("Failed to set WCS session"),null)},[]),y=(0,c.useCallback)(async(n,o)=>{var s,c;if(e&&i)try{let i=e.getActiveAccount();if(i){console.log("Initializing WCS::: ",i);let l=await e.acquireTokenSilent({scopes:["openid","profile"],account:i});console.log("Initializing WCS token::: ",l),console.log("Initializing WCS::: ",i);let u=null==(c=null==(s=null==t?void 0:t.msalConfig)?void 0:s.wcs)?void 0:c.subscriptionKey;if(!l.idToken)return void console.warn("InitWCSSession: no idToken available, skipping WCS session setup.");console.log("Initializing WCS token::: ",l.idToken);let d=(0,a.yR)();if(!ee.env.NEXT_PUBLIC_DISABLE_WCS_REDIRECT&&r&&!d){let e=await f(l.idToken,u,n,o);console.log("WCS response::::",e),e&&e.url&&(!(null==t?void 0:t.redirectStartPage)||(null==t?void 0:t.redirectStartPage)==="")&&window.location.replace(e.url)}}}catch(e){p(e,"Init WCS session error")}},[p,r,e,i,t,f]),v=(0,c.useCallback)(async(r,n,i,o)=>{var a,s,c,u,d,g,p,m,y,v;if(r&&(null==r?void 0:r.idToken)&&e){let w=(0,l.s)(r.idToken),C=null==w?void 0:w.membershipNumber;if(C&&""!==C)try{h&&r.idToken&&(console.log("CALLING API::::::: ",JSON.stringify(h)),h||console.error("MSAL Utils:: API configuration is missing, can't create profile attribute for membership number."),await Promise.all([Y("user.membershipNumber",C,r.idToken,null==h?void 0:h.profileAttrAPI),f(r.idToken,null==(s=null==(a=null==t?void 0:t.msalConfig)?void 0:a.wcs)?void 0:s.subscriptionKey,i,o)]))}catch(e){console.error("Error creating user profile attribute for membership number:",e)}let _=null==w?void 0:w.acr,I=null==w?void 0:w.sendMeEmail,b=!1,T=!1,S=!1;if(_){let e=_.toLowerCase();
1e.includes("editprofile")?b=!0:e.includes("passwordreset")?T=!0:e.includes("signup_signin")&&"on"===I&&(S=!0)}if(b||T||S){let i=(null==(c=null==w?void 0:w.emails)?void 0:c[0])||("string"==typeof(null==w?void 0:w.email)?w.email:void 0),o={prompt:"login",login_hint:i?encodeURIComponent(i):void 0,ClientName:null==(d=null==(u=null==t?void 0:t.msalConfig)?void 0:u.auth)?void 0:d.clientName,TC:null==(p=null==(g=null==t?void 0:t.msalConfig)?void 0:g.auth)?void 0:p.tc,ui_locales:null==(m=null==t?void 0:t.extraQueryParameters)?void 0:m.ui_locales};T&&(o.isEditPassword="true"),b&&(o.isEditEmail="true"),S&&(o.isCreateAccount="true"),console.log("login required::::");let a={scopes:["openid","profile"],state:n||window.location.href,extraQueryParameters:o};try{await e.logoutPopup({account:r,authority:null==(v=null==(y=null==t?void 0:t.msalConfig)?void 0:y.auth)?void 0:v.authority})}catch(e){console.warn("MSAL popup logout failed (popup may be blocked); proceeding with login redirect anyway:",e)}await e.loginRedirect(a)}}},[t,e,f,h]),w=(0,c.useCallback)(async r=>{if(e&&t&&i){if(null!=o)return console.log("MSAL: redirect result in flight, skipping signinWithParam."),null;if(null==s?void 0:s())return console.log("MSAL: post-redirect navigation in flight, skipping signinWithParam."),null;if(Object.keys(sessionStorage).find(e=>e.includes("interaction.status")))return console.log("MSAL: interaction already in progress (sessionStorage lock), skipping signinWithParam."),null;if(!e.getActiveAccount()){let n=window.location.href,i=sessionStorage.getItem("memberRedirectUrl");n&&"undefined"!==n&&!i&&sessionStorage.setItem("memberRedirectUrl",n);let o=r||n;console.log("signinWithParam preLoginUrl:: ",o);let a=Object.keys(sessionStorage).find(e=>e.startsWith("custompkce._")),{codeChallenge:s,pkceKey:c}=a?{pkceKey:a,codeChallenge:JSON.parse(sessionStorage.getItem(a)).codeChallenge}:await X(),l={scopes:["openid","profile"],state:JSON.stringify({url:o,pkceKey:c}),codeChallenge:s,codeChallengeMethod:"S256",extraQueryParameters:{...t.extraQueryParameters,...r&&{state:r}}};console.log("loginRequest at signinWithParam:::::::: ",l);try{await e.loginRedirect(l)}catch(e){e instanceof Error&&e.message.includes("interaction_in_progress")?console.log("MSAL: interaction already in progress, skipping loginRedirect."):p(e,"Signin error")}}}else console.error("MSAL Error:: msalInstance or msalConfig is not defined at signinWithParam");return null},[p,t,e,i,o,s]),C=(0,c.useCallback)(async()=>e&&i?er?await m():et||(et=(async()=>{var r,n,i;try{let a="u">typeof window?sessionStorage.getItem("editEmailPassword"):null,s=!!a,c=o??null;console.log("response:::::: ");let l=await m();if(null!==c||s){console.log("handleRedirectPromise#"),null==u||u(!0);let o=(null==c?void 0:c.account)?c.account:e.getAllAccounts()[0];console.log("res from hdleRdt: ",c);let l=null;try{l=JSON.parse(null==c?void 0:c.state)}catch{l={url:(null==c?void 0:c.state)??void 0}}let p=a||(null==l?void 0:l.url);console.log("preLoginUrl:: ",p);let m=p||window.location.origin;if(o){let a=null==d?void 0:d();console.log("account : : : ",o),sessionStorage.removeItem("editEmailPassword"),await v(o,p,a,null==l?void 0:l.pkceKey),e.setActiveAccount(o),s&&window.location.replace(m),console.log("pkceKey:::: ",null==l?void 0:l.pkceKey),console.log("postloginprompt ::: ",m),console.log("code:::::: ",a);let[c]=await Promise.all([Z(o.idToken,null==h?void 0:h.welcomeMessageApi),y(a,null==l?void 0:l.pkceKey)]);console.log("SITE:::: ",g);let u=null==(n=null==(r=null==c?void 0:c.data)?void 0:r.membershipStatusDescription)?void 0:n.toLowerCase(),f=null==(i=null==c?void 0:c.data)?void 0:i.verifiedMembership,w=(null==t?void 0:t.redirectStartPage)||window.location.origin;return(null==c?void 0:c.data)&&(null==c?void 0:c.statusCode)===200&&"active"===u?(f||"cabc"!==g||window.location.replace(w),window.location.replace(m)):window.location.replace(w||window.location.origin),o}}if(l)return null==u||u(!1),l;return null}catch(e){return p(e,"Redirect error"),null}finally{er=!0}})()):(console.error("MSAL Error:: msalInstance is not defined at handleRedirectPromise"),null),[p,e,i,o,v,m,y,u,d,h,t,g]),_=(0,c.useCallback)(async()=>{var r,n,o,a,s,c,l,u,d,h;if(e&&i)try{"u">typeof window&&fetch(`${window.location.origin}/Logoff`);let i=e.getActiveAccount();await e.logoutRedirect({account:i,postLogoutRedirectUri:null==(r=null==window?void 0:window.location)?void 0:r.origin,authority:null==(o=null==(n=null==t?void 0:t.msalConfig)?void 0:n.auth)?void 0:o.authority,extraQueryParameters:{ClientName:null==(s=null==(a=null==t?void 0:t.msalConfig)?void 0:a.auth)?void 0:s.clientName,TC:null==(l=null==(c=null==t?void 0:t.msalConfig)?void 0:c.auth)?void 0:l.tc,ui_locales:null==(u=null==t?void 0:t.extraQueryParameters)?void 0:u.ui_locales,client_id:null==(h=null==(d=null==t?void 0:t.msalConfig)?void 0:d.auth)?void 0:h.clientId}})}catch(e){p(e,"Signout error")}else console.error("MSAL Error:: msalInstance is not defined at signout");return null},[p,e,i,t]),I=(0,c.useCallback)(async(t=!1)=>
1{if(e&&i)try{let r=e.getActiveAccount();if(!r){let t=e.getAllAccounts();t.length>0&&(r=t[0],e.setActiveAccount(r))}if(!r&&!t)return console.error("No active account! Please sign in."),console.error("No active account! Please sign in. getTokenSilent will trigger login redirect if not skipped. :::::\nCaller stack:",Error().stack),await w(null),null;if(!r&&t)return null;let n={scopes:["openid","profile"],account:r};try{return(await e.acquireTokenSilent(n)).idToken}catch(e){if(e instanceof Q.CB)console.error(`Silent token acquisition failed, ${t?"skipping redirect":"redirecting to login"} :`,e),t||await w(null);else throw e}}catch(e){p(e,"Get token silent error")}else console.error("MSAL Error:: msalInstance is not defined at getTokenSilent");return null},[e,i,w,p]),b=(0,c.useCallback)(async()=>{if(e&&i)try{let r=e.getActiveAccount(),{codeChallenge:n,pkceKey:i}=await X(),o=window.location.href;if(r){let r={authority:t.editEmailAuthority,scopes:["openid","profile"],state:JSON.stringify({url:o,pkceKey:i}),codeChallenge:n,codeChallengeMethod:"S256",extraQueryParameters:{...t.extraQueryParameters}};sessionStorage.setItem("editEmailPassword",o),await e.loginRedirect(r)}else console.error("No active account! Please sign in.")}catch(e){p(e,"Edit email error")}else console.error("MSAL Error:: msalInstance is not defined at editEmail");return null},[p,t,e,i]),T=(0,c.useCallback)(async()=>{if(e&&i)try{if(e.getActiveAccount()){let r=window.location.href,{codeChallenge:n,pkceKey:i}=await X(),o={authority:t.editPasswordAuthority,scopes:["openid","profile"],codeChallenge:n,codeChallengeMethod:"S256",state:JSON.stringify({url:r,pkceKey:i}),extraQueryParameters:t.extraQueryParameters};sessionStorage.setItem("editEmailPassword",r),await e.loginRedirect(o)}else await w(null),console.error("No active account! Please sign in.")}catch(e){p(e,"Edit password error")}else console.error("MSAL Error:: msalInstance is not defined at editPassword");return null},[p,t,e,i,w]),S=(0,c.useCallback)(async()=>{if(e&&i)try{let e=await I(!0);if(e){let t=(0,l.s)(e),r=null==t?void 0:t.rememberMe;return"True"===r}}catch(e){console.error("MSAL Error: KMSI ",e)}else console.error("MSAL Error:: msalInstance is not defined at isMSALKmsiSession")},[I,e,i]);return{handleRedirectPromise:C,signout:_,signinWithParam:w,getTokenSilent:I,editEmail:b,editPassword:T,msalEnabledFeatureFlag:r,transcendEmailFeatureFlag:n,msalInstanceLoaded:i,isMSALKmsiSession:S,InitWCSSession:y,msalPostRedirectInFlight:(null==s?void 0:s())??!1}})()||{},I=(0,c.useCallback)(async e=>{u?await g(e):await (0,n.Jv)(e)},[u,g]),b=(0,c.useCallback)(async(t=!1,r)=>u?f(t):e(t,r),[f,e,u]),T=(0,c.useCallback)(async()=>{let e=!1;if(u){e=!!await m();let t=(0,a.yR)();"u">typeof window&&!e&&t&&await I()}else e=(0,a.yR)();return e&&d&&await r(),e},[m,u,d,r,I]),S=(0,c.useCallback)(async()=>{u?await v():await (0,n.au)()},[u,v]),A=(0,c.useCallback)(async()=>{u?await y():await (0,n.H$)()},[u,y]),k=(0,c.useCallback)(async()=>u?await f():await (0,a.n5)(),[f,u]),E=(0,c.useCallback)(async()=>u?await w():(0,a.LM)(),[u,w]),R=(0,c.useCallback)(()=>{u&&_()},[u,_]);return{signIn:I,signOut:(0,c.useCallback)(async e=>{(0,o.jI)(),u?((0,i.H)(),void 0!==e&&s.v.info("Post sign out url not supported."),await p()):await (0,i.C)(e)},[u,p]),isUserSignedIn:T,getToken:b,handleRedirectPromise:m,editEmailRedirect:S,editPasswordRedirect:A,kmsi:k,isKmsiSession:E,initialiseWCSSession:R,isLoading:t||u&&!h||C,transcendEmailFeatureFlag:d}}},66119:(e,t,r)=>{"use strict";r.d(t,{$3:()=>c});var n=r(78229),i=r(14898),o=r(56860);let a=3e5,s={ttl:2e3,requests:new Map,deduplicate:function(e,t){if(this.removeStaleRequests(),this.requests.has(e))return this.requests.get(e).promise;let r=t().finally(()=>{this.requests.delete(e)});return this.requests.set(e,{promise:r,timestamp:Date.now()}),r},removeStaleRequests:function(){let e=Date.now();this.requests.forEach((t,r)=>{e-t.timestamp>this.ttl&&this.requests.delete(r)})}},c=async(e,t,r,c=!0,l=a,u)=>{if(l<=0)throw Error("TTL must be a positive number");let d=await (0,o.fetcherCache)(),h=((e,t)=>{let r;try{r=JSON.stringify(t)}catch{r=`request-id-${Date.now()}`}return`${e}-${r}`})(e,t),g=c&&!!d;return s.deduplicate(h,async()=>
1{if(g){let e;try{e=await d.getItem(h)}catch(e){console.error("cachingFetcher: Unable to access fetcherCache (getItem)",e)}if(e&&e.expiry>Date.now())return e.data}try{let n=await (0,i.G)(e,t,r,u);if(g)try{await d.setItem(h,{data:n,expiry:Date.now()+l})}catch(e){console.error("cachingFetcher: Unable to access fetcherCache (setItem)",e)}return n}catch(t){if(t instanceof n.j)throw t;if(t instanceof Error)throw Error(`Failed to fetch data from ${e}: ${t.message}`,{cause:t});throw Error(`An unknown error occurred while fetching data from ${e}`)}})}},67198:(e,t,r)=>{"use strict";r.d(t,{A:()=>s,B:()=>g,I:()=>A,O:()=>l,S:()=>z,U:()=>c,a:()=>d,b:()=>a,c:()=>F,d:()=>$,e:()=>u,f:()=>j,g:()=>G,i:()=>y,m:()=>h,n:()=>q,o:()=>D,r:()=>S,s:()=>L,t:()=>k,u:()=>E,z:()=>C});var n=r(12115),i=r(78392),o=Object.prototype.hasOwnProperty;let a=new WeakMap,s=()=>{},c=s(),l=Object,u=e=>e===c,d=e=>"function"==typeof e,h=(e,t)=>({...e,...t}),g=e=>d(e.then),p={},m={},f="undefined",y=typeof window!=f,v=typeof document!=f,w=y&&"Deno"in window,C=(e,t)=>{let r=a.get(e);return[()=>!u(t)&&e.get(t)||p,n=>{if(!u(t)){let i=e.get(t);t in m||(m[t]=i),r[5](t,h(i,n),i||p)}},r[6],()=>!u(t)&&t in m?m[t]:!u(t)&&e.get(t)||p]},_=!0,[I,b]=y&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[s,s],T={initFocus:e=>(v&&document.addEventListener("visibilitychange",e),I("focus",e),()=>{v&&document.removeEventListener("visibilitychange",e),b("focus",e)}),initReconnect:e=>{let t=()=>{_=!0,e()},r=()=>{_=!1};return I("online",t),I("offline",r),()=>{b("online",t),b("offline",r)}}},S=!n.useId,A=!y||w,k=e=>y&&typeof window.requestAnimationFrame!=f?window.requestAnimationFrame(e):setTimeout(e,1),E=A?n.useEffect:n.useLayoutEffect,R="u">typeof navigator&&navigator.connection,O=!A&&R&&(["slow-2g","2g"].includes(R.effectiveType)||R.saveData),M=new WeakMap,P=(e,t)=>e===`[object ${t}]`,N=0,x=e=>{let t,r,n=typeof e,i=l.prototype.toString.call(e),o=P(i,"Date"),a=P(i,"RegExp"),s=P(i,"Object");if(l(e)!==e||o||a)t=o?e.toJSON():"symbol"==n?e.toString():"string"==n?JSON.stringify(e):""+e;else{if(t=M.get(e))return t;if(t=++N+"~",M.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=x(e[r])+",";M.set(e,t)}if(s){t="#";let n=l.keys(e).sort();for(;!u(r=n.pop());)u(e[r])||(t+=r+":"+x(e[r])+",");M.set(e,t)}}return t},L=e=>{if(d(e))try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?x(e):"",t]},U=0,D=()=>++U;async function q(...e){let[t,r,n,o]=e,s=h({populateCache:!0,throwOnError:!0},"boolean"==typeof o?{revalidate:o}:o||{}),l=s.populateCache,p=s.rollbackOnError,m=s.optimisticData,f=s.throwOnError;if(d(r)){let e=[];for(let n of t.keys())!/^\$(inf|sub)\$/.test(n)&&r(t.get(n)._k)&&e.push(n);return Promise.all(e.map(y))}return y(r);async function y(r){let o,[h]=L(r);if(!h)return;let[y,v]=C(t,h),[w,_,I,b]=a.get(t),T=()=>{let e=w[h];return(d(s.revalidate)?s.revalidate(y().data,r):!1!==s.revalidate)&&(delete I[h],delete b[h],e&&e[0])?e[0](i.q2).then(()=>y().data):y().data};if(e.length<3)return T();let S=n,A=!1,k=D();_[h]=[k,0];let E=!u(m),R=y(),O=R.data,M=R._c,P=u(M)?O:M;if(E&&v({data:m=d(m)?m(P,O):m,_c:P}),d(S))try{S=S(P)}catch(e){o=e,A=!0}if(S&&g(S)){let e;if(S=await S.catch(e=>{o=e,A=!0}),k!==_[h][0]){if(A)throw o;return S}A&&E&&(e=o,"function"==typeof p?p(e):!1!==p)&&(l=!0,v({data:P,_c:c}))}if(l&&!A&&(d(l)?v({data:l(S,P),error:c,_c:c}):v({data:S,error:c,_c:c})),_[h][1]=D(),Promise.resolve(T()).then(()=>{v({_c:c})}),A){if(f)throw o;return}return S}}let H=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},B=(e,t)=>{if(!a.has(e)){let r=h(T,t),n=Object.create(null),o=q.bind(c,e),l=s,u=Object.create(null),d=(e,t)=>{let r=u[e]||[];return u[e]=r,r.push(t),()=>{let e=r.indexOf(t);e>=0&&(r[e]=r[r.length-1],r.pop())}},g=(t,r,n)=>{e.set(t,r);let i=u[t];if(i)for(let e of i)e(r,n)},p=()=>{if(!a.has(e)&&(a.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,g,d]),!A)){let t=r.initFocus(setTimeout.bind(c,H.bind(c,n,i.CC))
1),o=r.initReconnect(setTimeout.bind(c,H.bind(c,n,i.jB)));l=()=>{t&&t(),o&&o(),a.delete(e)}}};return p(),[e,o,p,l]}return[e,a.get(e)[4]]},[F,K]=B(new Map),$=h({onLoadingSlow:s,onSuccess:s,onError:s,onErrorRetry:(e,t,r,n,i)=>{let o=r.errorRetryCount,a=i.retryCount,s=~~((Math.random()+.5)*(1<<(a<8?a:8)))*r.errorRetryInterval;(u(o)||!(a>o))&&setTimeout(n,s,i)},onDiscarded:s,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:O?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:O?5e3:3e3,compare:function e(t,r){var n,i;if(t===r)return!0;if(t&&r&&(n=t.constructor)===r.constructor){if(n===Date)return t.getTime()===r.getTime();if(n===RegExp)return t.toString()===r.toString();if(n===Array){if((i=t.length)===r.length)for(;i--&&e(t[i],r[i]););return -1===i}if(!n||"object"==typeof t){for(n in i=0,t)if(o.call(t,n)&&++i&&!o.call(r,n)||!(n in r)||!e(t[n],r[n]))return!1;return Object.keys(r).length===i}}return t!=t&&r!=r},isPaused:()=>!1,cache:F,mutate:K,fallback:{}},{isOnline:()=>_,isVisible:()=>{let e=v&&document.visibilityState;return u(e)||"hidden"!==e}}),j=(e,t)=>{let r=h(e,t);if(t){let{use:n,fallback:i}=e,{use:o,fallback:a}=t;n&&o&&(r.use=n.concat(o)),i&&a&&(r.fallback=h(i,a))}return r},z=(0,n.createContext)({}),G=e=>{let{value:t}=e,r=(0,n.useContext)(z),i=d(t),o=(0,n.useMemo)(()=>i?t(r):t,[i,r,t]),a=(0,n.useMemo)(()=>i?o:j(r,o),[i,r,o]),s=o&&o.provider,l=(0,n.useRef)(c);s&&!l.current&&(l.current=B(s(a.cache||F),o));let u=l.current;return u&&(a.cache=u[0],a.mutate=u[1]),E(()=>{if(u)return u[2]&&u[2](),u[3]},[]),(0,n.createElement)(z.Provider,h(e,{value:a}))}},67787:(e,t,r)=>{"use strict";r.d(t,{BK:()=>d,D7:()=>u,Gp:()=>s,OT:()=>c,TL:()=>l,Z9:()=>a,gF:()=>g,s8:()=>h,us:()=>o});var n=r(75699),i=r(3821);let o=()=>({cartItemCount:n.Op.read(),orderItems:[]}),a=()=>n.Sz.read()||{city:"",state:"",zipCode:""},s=()=>n.mV.read()||"",c=()=>n.Fy.read()||{city:"",zip:""},l=()=>n.uC.read()||{distributionCenters:[],groceryCenters:[],nearestWarehouse:{},pickUpCenters:[]},u=async()=>await i.KY.read()||{currency:"USD",locale:navigator.language},d=e=>({akamaiZipCode:n.m8.read(),criterioSessionId:"",consentManagement:e?{isTargetingEnabled:!1}:n.dz.read()}),h={cartItemCount:0,orderItems:[]},g=()=>n.lr.read()||0},68155:(e,t,r)=>{"use strict";r.d(t,{Hm:()=>l,LM:()=>p,gf:()=>h,n5:()=>m,oL:()=>c,yR:()=>g});var n=r(82849),i=r(19253),o=r(12698);let a={failureCountTimeout:setTimeout(()=>{"u">typeof window&&sessionStorage.setItem(o.mO,"0")},14e3),get:()=>Number.parseInt(sessionStorage.getItem(o.mO)||"")||0,increment(){let e=this.get();this.failureCountTimeout&&clearTimeout(this.failureCountTimeout),sessionStorage.setItem(o.mO,(e+1).toString()),this.failureCountTimeout=setTimeout(()=>{sessionStorage.setItem(o.mO,"0")},14e3)},reset(){sessionStorage.setItem(o.mO,"0")}},s={get:()=>Number.parseInt(sessionStorage.getItem(o.vp)||"")||0,increment(){let e=this.get();sessionStorage.setItem(o.vp,(e+1).toString())},reset(){sessionStorage.setItem(o.vp,"0")}},c=e=>(0,i.s)(e),l=(e,t=o.P5)=>{let r=1e3*e.exp;return Date.now()>=r-1e3*t};async function u(){let e=await fetch("/gettoken",{credentials:"include",method:"GET"});if(200!==e.status)throw Error(`Error fetching token: ${e.statusText}`);let t=await e.json();if(!t.has_logged_in)return null;let r=t.id_token;if(!r)throw Error("Missing id_token in response data");return r}async function d(){let e=await fetch("/kmsi",{credentials:"include",method:"GET"});if(200!==e.status)throw Error(`Request failed to /kmsi with status ${e.status}: ${e.statusText}`);return await e.json()}async function h(){let e=n.A.get("hashedUserId");try{let t=sessionStorage.getItem(`${o.h0}_${e}`);if(!e)return{expired:!1,hasLoggedIn:!1};if(t){let e=c(t);if(!l(e))return{expired:!1,hasLoggedIn:!0,token:t}}if(a.get()>o.ec)return{expired:!0,hasLoggedIn:!1};let r=await u();if(!r)return{hasLoggedIn:!1};let n=c(r);if(l(n))return{expired:!0,hasLoggedIn:!1};return a.reset(),sessionStorage.setItem(`${o.h0}_${e}`,r),{expired:!1,hasLoggedIn:!0,token:r}}catch(t){return console.error("Error fetching or processing token:",t),sessionStorage.removeItem(`${o.h0}_${e}`),a.increment(),{expired:!0,hasLoggedIn:!1}}}function g(){try{return!!n.A.get("hashedUserId")}catch(e){return console.error("Error checking WCS session:",e),!1}}function p(){try{let e=new RegExp(/^(true_\d+|false)$/),t=n.A.get("kmsi")||"",r=e.test(t),[i]=(null==t?void 0:t.split("_"))??[];return!!t&&r&&"true"===i}catch(e){console.error("Error checking if KMSI is enabled:",e)}}async function m(){try{if(await g()){if(s.get()>=o.fr){console.error("KMSI failed to enable after 3 attempts, redirecting to logon page"),window.location.href="/LogonForm?prompt=false&fromPage=/";return}let e=await d();if("true"!==e.kmsi)return console.error("KMSI failed, retrying..."),s.increment(),m();s.reset()}}catch(e){console.log(e),window.location.href="/LogonForm?prompt=false&fromPage=/"}}},68304:(e,t,r)=>{"use strict";r.d(t,{$x:()=>m,E_:()=>b,F0:()=>x,Fq:()=>u,GU:()=>w,Gd:()=>c,I:()=>k,IO:()=>S,JR:()=>C,Kk:()=>R,LR:()=>y,Lz:()=>N,OK:()=>s,Qd:()=>f,Rv:()=>P,Tq:()=>E,Xw:()=>A,YM:()=>n,_2:()=>M,_A:()=>a,_M:()=>d,aG:()=>v,aZ:()=>o,gT:()=>T,hB:()=>_,iF:()=>h,jZ:()=>O,p:()=>p,t3:()=>i,u0:()=>I,v2:()=>l,zL:()=>g});let n={LIBRARY_NAME:"MSAL.JS",SKU:"msal.js.common",CACHE_PREFIX:"msal",DEFAULT_AUTHORITY:"https://login.microsoftonline.com/common/",DEFAULT_AUTHORITY_HOST:"login.microsoftonline.com",DEFAULT_COMMON_TENANT:"common",ADFS:"adfs",DSTS:"dstsv2",AAD_INSTANCE_DISCOVERY_ENDPT:"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",CIAM_AUTH_URL:".ciamlogin.com",AAD_TENANT_DOMAIN_SUFFIX:".onmicrosoft.com",RESOURCE_DELIM:"|",NO_ACCOUNT:"NO_ACCOUNT",CLAIMS:"claims",CONSUMER_UTID:"9188040d-6c67-4c5b-b112-36a304b66dad",OPENID_SCOPE:"openid",PROFILE_SCOPE:"profile",OFFLINE_ACCESS_SCOPE:"offline_access",EMAIL_SCOPE:"email",CODE_RESPONSE_TYPE:"code",CODE_GRANT_TYPE:"authorization_code",RT_GRANT_TYPE:"refresh_token",FRAGMENT_RESPONSE_MODE:"fragment",S256_CODE_CHALLENGE_METHOD:"S256",URL_FORM_CONTENT_TYPE:"application/x-www-form-urlencoded;charset=utf-8",AUTHORIZATION_PENDING:"authorization_pending",NOT_DEFINED:"not_defined",EMPTY_STRING:"",NOT_APPLICABLE:"N/A",NOT_AVAILABLE:"Not Available",FORWARD_SLASH:"/",IMDS_ENDPOINT:"http://169.254.169.254/metadata/instance/compute/location",IMDS_VERSION:"2020-06-01",IMDS_TIMEOUT:2e3,AZURE_REGION_AUTO_DISCOVER_FLAG:"TryAutoDetect",REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX:"login.microsoft.com",KNOWN_PUBLIC_CLOUDS:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"],TOKEN_RESPONSE_TYPE:"token",ID_TOKEN_RESPONSE_TYPE:"id_token",SHR_NONCE_VALIDITY:240,INVALID_INSTANCE:"invalid_instance"},i={SUCCESS:200,SUCCESS_RANGE_START:200,SUCCESS_RANGE_END:299,REDIRECT:302,CLIENT_ERROR:400,CLIENT_ERROR_RANGE_START:400,BAD_REQUEST:400,UNAUTHORIZED:401,NOT_FOUND:404,REQUEST_TIMEOUT:408,TOO_MANY_REQUESTS:429,CLIENT_ERROR_RANGE_END:499,SERVER_ERROR:500,SERVER_ERROR_RANGE_START:500,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,SERVER_ERROR_RANGE_END:599,MULTI_SIDED_ERROR:600},o=[n.OPENID_SCOPE,n.PROFILE_SCOPE,n.OFFLINE_ACCESS_SCOPE],a=[...o,n.EMAIL_SCOPE],s={CONTENT_TYPE:"Content-Type",CONTENT_LENGTH:"Content-Length",RETRY_AFTER:"Retry-After",CCS_HEADER:"X-AnchorMailbox",WWWAuthenticate:"WWW-Authenticate",AuthenticationInfo:"Authentication-Info",X_MS_REQUEST_ID:"x-ms-request-id",X_MS_HTTP_VERSION:"x-ms-httpver"},c={ID_TOKEN:"idtoken",CLIENT_INFO:"client.info",ADAL_ID_TOKEN:"adal.idtoken",ERROR:"error",ERROR_DESC:"error.description",ACTIVE_ACCOUNT:"active-account",ACTIVE_ACCOUNT_FILTERS:"active-account-filters"},l={COMMON:"common",ORGANIZATIONS:"organizations",CONSUMERS:"consumers"},u={ACCESS_TOKEN:"access_token",XMS_CC:"xms_cc"},d={LOGIN:"login",SELECT_ACCOUNT:"select_account",CONSENT:"consent",NONE:"none",CREATE:"create",NO_SESSION:"no_session"},h={PLAIN:"plain",S256:"S256"},g={QUERY:"query",FRAGMENT:"fragment"},p={...g,FORM_POST:"form_post"},m={IMPLICIT_GRANT:"implicit",AUTHORIZATION_CODE_GRANT:"authorization_code",CLIENT_CREDENTIALS_GRANT:"client_credentials",RESOURCE_OWNER_PASSWORD_GRANT:"password",REFRESH_TOKEN_GRANT:"refresh_token",DEVICE_CODE_GRANT:"device_code",JWT_BEARER:"ur
1n:ietf:params:oauth:grant-type:jwt-bearer"},f={MSSTS_ACCOUNT_TYPE:"MSSTS",ADFS_ACCOUNT_TYPE:"ADFS",MSAV1_ACCOUNT_TYPE:"MSA",GENERIC_ACCOUNT_TYPE:"Generic"},y={CACHE_KEY_SEPARATOR:"-",CLIENT_INFO_SEPARATOR:"."},v={ID_TOKEN:"IdToken",ACCESS_TOKEN:"AccessToken",ACCESS_TOKEN_WITH_AUTH_SCHEME:"AccessToken_With_AuthScheme",REFRESH_TOKEN:"RefreshToken"},w="appmetadata",C="client_info",_="1",I={CACHE_KEY:"authority-metadata",REFRESH_TIME_SECONDS:86400},b={CONFIG:"config",CACHE:"cache",NETWORK:"network",HARDCODED_VALUES:"hardcoded_values"},T={SCHEMA_VERSION:5,MAX_CUR_HEADER_BYTES:80,MAX_LAST_HEADER_BYTES:330,MAX_CACHED_ERRORS:50,CACHE_KEY:"server-telemetry",CATEGORY_SEPARATOR:"|",VALUE_SEPARATOR:",",OVERFLOW_TRUE:"1",OVERFLOW_FALSE:"0",UNKNOWN_ERROR:"unknown_error"},S={BEARER:"Bearer",POP:"pop",SSH:"ssh-cert"},A={DEFAULT_THROTTLE_TIME_SECONDS:60,DEFAULT_MAX_THROTTLE_TIME_SECONDS:3600,THROTTLING_PREFIX:"throttling",X_MS_LIB_CAPABILITY_VALUE:"retry-after, h429"},k={INVALID_GRANT_ERROR:"invalid_grant",CLIENT_MISMATCH_ERROR:"client_mismatch"},E={username:"username",password:"password"},R={httpSuccess:200,httpBadRequest:400},O={FAILED_AUTO_DETECTION:"1",INTERNAL_CACHE:"2",ENVIRONMENT_VARIABLE:"3",IMDS:"4"},M={CONFIGURED_MATCHES_DETECTED:"1",CONFIGURED_NO_AUTO_DETECTION:"2",CONFIGURED_NOT_DETECTED:"3",AUTO_DETECTION_REQUESTED_SUCCESSFUL:"4",AUTO_DETECTION_REQUESTED_FAILED:"5"},P={NOT_APPLICABLE:"0",FORCE_REFRESH_OR_CLAIMS:"1",NO_CACHED_ACCESS_TOKEN:"2",CACHED_ACCESS_TOKEN_EXPIRED:"3",PROACTIVELY_REFRESHED:"4"},N={Jwt:"JWT",Jwk:"JWK",Pop:"pop"},x=300},68585:(e,t,r)=>{"use strict";r.d(t,{YQ:()=>a,ze:()=>s});var n=r(34462);r(87358);let i=new Set,o=new Map;async function a(e,t,r){if(!t||!r)return;let a=`${e.endpoint}|${r}|${t}`;if(i.has(a))return;let s=o.get(a);if(s)return s;let c=(async()=>{try{let o=await fetch(`${null==e?void 0:e.endpoint}/${r}`,{method:"GET",headers:{Authorization:`Bearer ${t}`,...null==e?void 0:e.required_request_headers}});if(401===o.status){i.add(a),n.v.warn(`Profile attribute request unauthorized for attribute: ${r}`);return}let s=await o.json();return null==s?void 0:s.attrValue}catch(e){n.v.error(`User has auth token, but could not fetch profile from API: ${e}`)}})();o.set(a,c);try{return await c}finally{o.delete(a)}}let s=async(e,t,r,i)=>{if(!e||!t)return;let o=e.endpoint,a={headers:{...e.required_request_headers,Authorization:`Bearer ${t}`,"Content-Type":"application/json"},method:"PUT",body:JSON.stringify({attrValue:i})};try{let e=await fetch(`${o}/${r}`,a);if(404===e.status)return n.v.info("Attribute not found, creating with POST request"),(await fetch(o,{...a,method:"POST",body:JSON.stringify({attrValue:i,attrKey:r})})).json();return e.json()}catch(e){n.v.error(e,"Error updating profile attribute");return}}},70591:(e,t,r)=>{"use strict";r.d(t,{Ex:()=>i,RV:()=>a,Ru:()=>o,yJ:()=>s});var n=r(78455);let i="CriteoSessionUserId",o={viewCategory:"viewSpecialtyHome_API_",viewHome:"viewHome_API_",viewItem:"viewItem_API_"},a={Carousel:"viewHome",CommerceDisplay:"viewHome",SpecialtyCarousel:n.mr,SponsoredProductsCarousel:"viewItem"},s={"en-ca":"CABC-en","en-us":"USBC-en","fr-ca":"CABC-fr",USBD:"USBD-en"}},71706:(e,t,r)=>{"use strict";r.d(t,{B:()=>o});var n=r(12115),i=r(10455);let o=()=>{let e=(0,n.useContext)(i.o);if(!e)throw Error("`useBrowseContext` must be used within a `BrowseContextProvider`");return e}},74662:(e,t,r)=>{"use strict";r.d(t,{Cr:()=>
1o,T6:()=>a,_t:()=>s,fu:()=>i});let n=(r(87358).env.SITE||"CABC").toLowerCase(),i="cabd"===n,o="usbc"===n,a=()=>"CABC".endsWith("BD"),s=()=>!a()},75699:(e,t,r)=>{"use strict";r.d(t,{m8:()=>d,Op:()=>u,Sz:()=>l,dz:()=>h,Fy:()=>c,uC:()=>a,lr:()=>g,mV:()=>s});var n=r(82849),i=r(74662),o=r(50122);let a={read:()=>{let e,t=n.A.get(o._P);if(t)try{e=JSON.parse(t)}catch(e){console.error(`Error reading warehouse cookie: ${e}`)}return e},warehouseCookieExpResetFlag:()=>window.sessionStorage.getItem(o.m_)||"",write:e=>{try{let t=JSON.stringify(e);n.A.set(o._P,t,{expires:o.s6})}catch(e){console.error(`Error writing warehouse state: ${e}`);return}}},s={read:()=>{let e,t=n.A.get(o.sw);return t&&(e=t),e},write:e=>{n.A.set(o.sw,e,{expires:o.UC})}},c={read:()=>{let e,t=n.A.get(o.rs);if(t)try{e=JSON.parse(t).storeLocation}catch(e){console.error(`Error reading storeLocation: ${e}`)}return e},storeLocCookieExpResetFlag:()=>window.sessionStorage.getItem(o.yu)||"",write:e=>{let t=JSON.stringify({storeLocation:e});n.A.set(o.rs,t,{expires:o.qY})}},l={read:()=>{let e,t,r,a=n.A.get(o.yB);a&&(e=a);let s=n.A.get(o.SD);s&&(t=s);let c=n.A.get(o.kh),l=n.A.get(o.Fp);return l&&(0,i.T6)()?r=l:c&&(r=c),{city:e,state:t,zipCode:r}},write:({city:e="",state:t="",zipCode:r=""})=>{n.A.set(o.yB,e,{expires:o.UC}),n.A.set(o.SD,t,{expires:o.UC}),n.A.set(o.kh,r,{expires:o.UC})}},u={read:()=>parseInt(n.A.get(o.MZ)||"0",10),write:e=>{let t=(e=>{if(!e||"localhost"===e)return"";if(e.startsWith("www.costcobusiness"))return`.${e}`;let t=e.split(".").slice(-2).join(".");return`.${t}`})(window.location.hostname),r={path:"/",...t&&{domain:t,secure:!0,sameSite:"None"}};n.A.set(o.MZ,e.toString(),r)}},d={read:()=>n.A.get(o.mv)||void 0,write:e=>{n.A.set(o.mv,e,{expires:o.UC})}},h={read:()=>{let e=n.A.get(o.hf);if(!e)return{isTargetingEnabled:!1};{let t,r=e.split("&").reduce((e,t)=>{let[r,n]=t.split("=");return e[r]=n,e},{});return{isTargetingEnabled:!!r.groups&&!!(t=r.groups.split(",").find(e=>e.startsWith("C0004:")))&&"1"===t.split(":")[1]}}}},g={read:()=>{let e=Number(n.A.get(o.im));return isNaN(e)?0:e},write:e=>{let t=isNaN(e)?"0":e.toString();n.A.set(o.im,t,{expires:o.UC})}}},78229:(e,t,r)=>{"use strict";r.d(t,{j:()=>o});var n=Object.defineProperty,i=(e,t,r)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?n(e,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[i]=r};class o extends Error{constructor(e,t,r){super(t),i(this,"response"),i(this,"status"),i(this,"statusText"),this.status=e,this.statusText=t,this.response=r}}},78392:(e,t,r)=>{"use strict";r.d(t,{CC:()=>n,I0:()=>a,jB:()=>i,q2:()=>o});let n=0,i=1,o=2,a=3},78455:(e,t,r)=>{"use strict";r.d(t,{W7:()=>a,ZZ:()=>n,mr:()=>o,ws:()=>i});let n="viewSearchResults",i="viewSearchResult",o="viewCategory",a="viewMerchandising"},82849:(e,t,r)=>{"use strict";function n(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)"__proto__"!==n&&(e[n]=r[n])}return e}r.d(t,{A:()=>i});var i=function e(t,r){function i(e,i,o){if("u">typeof document){"number"==typeof(o=n({},r,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in o)o[s]&&(a+="; "+s,!0!==o[s]&&(a+="="+o[s].split(";")[0]));return document.cookie=e+"="+t.write(i,e)+a}}return Object.create({set:i,get:function(e){if("u">typeof document&&(!arguments.length||e)){for(var r=document.cookie?document.cookie.split("; "):[],n={},i=0;i<r.length;i++){var o=r[i].split("="),a=o.slice(1).join("=");try{var s=decodeURIComponent(o[0]);if(s in n||(n[s]=t.read(a,s)),e===s)break}catch(e){}}return e?n[e]:n}},remove:function(e,t){i(e,"",n({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,n({},this.attributes,t))},withConverter:function(t){return e(n({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(r)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decode
1URIComponent)}},{path:"/"})},85574:(e,t,r)=>{"use strict";let n=r(2298);e.exports=u;let i=function(){function e(e){return void 0!==e&&e}try{if("u">typeof globalThis)return globalThis;return Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{};function o(e,t){return"silent"===e?1/0:t.levels.values[e]}let a=Symbol("pino.logFuncs"),s=Symbol("pino.hierarchy"),c={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function l(e,t){let r={logger:t,parent:e[s]};t[s]=r}function u(e){var t,r,n;let s,p,m;(e=e||{}).browser=e.browser||{};let f=e.browser.transmit;if(f&&"function"!=typeof f.send)throw Error("pino: transmit option must have a send function");let C=e.browser.write||i;e.browser.write&&(e.browser.asObject=!0);let _=e.serializers||{},I=(t=e.browser.serialize,Array.isArray(t)?t.filter(function(e){return"!stdSerializers.err"!==e}):!0===t&&Object.keys(_)),b=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(b=!1);let T=Object.keys(e.customLevels||{}),S=["error","fatal","warn","info","debug","trace"].concat(T);"function"==typeof C&&S.forEach(function(e){C[e]=C}),(!1===e.enabled||e.browser.disabled)&&(e.level="silent");let A=e.level||"info",k=Object.create(C);k.log||(k.log=y),s={},S.forEach(e=>{s[e]=C[e]?C[e]:i[e]||i[c[e]||"log"]||y}),k[a]=s,l({},k),Object.defineProperty(k,"levelVal",{get:function(){return o(this.level,this)}}),Object.defineProperty(k,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,d(this,E,k,"error"),d(this,E,k,"fatal"),d(this,E,k,"warn"),d(this,E,k,"info"),d(this,E,k,"debug"),d(this,E,k,"trace"),T.forEach(e=>{d(this,E,k,e)})}});let E={transmit:f,serialize:I,asObject:e.browser.asObject,asObjectBindingsOnly:e.browser.asObjectBindingsOnly,formatters:e.browser.formatters,levels:S,timestamp:"function"==typeof(r=e).timestamp?r.timestamp:!1===r.timestamp?v:w,messageKey:e.messageKey||"msg",onChild:e.onChild||y};function R(t,r,n){if(!r)throw Error("missing bindings for child Pino");n=n||{},I&&r.serializers&&(n.serializers=r.serializers);let i=n.serializers;if(I&&i){var o=Object.assign({},_,i),a=!0===e.browser.serialize?Object.keys(o):I;delete r.serializers,h([r],a,o,this._stdErrSerialize)}function s(e){this._childLevel=(0|e._childLevel)+1,this.bindings=r,o&&(this.serializers=o,this._serialize=a),f&&(this._logEvent=g([].concat(e._logEvent.bindings,r)))}s.prototype=this;let c=new s(this);return l(this,c),c.child=function(...e){return R.call(this,t,...e)},c.level=n.level||this.level,t.onChild(c),c}return p=e.customLevels||{},k.levels={values:Object.assign({},u.levels.values,p),labels:Object.assign({},u.levels.labels,(m={},Object.keys(n=p).forEach(function(e){m[n[e]]=e}),m))},k.level=A,k.isLevelEnabled=function(e){return!!this.levels.values[e]&&this.levels.values[e]>=this.levels.values[this.level]},k.setMaxListeners=k.getMaxListeners=k.emit=k.addListener=k.on=k.prependListener=k.once=k.prependOnceListener=k.removeListener=k.removeAllListeners=k.listeners=k.listenerCount=k.eventNames=k.write=k.flush=y,k.serializers=_,k._serialize=I,k._stdErrSerialize=b,k.child=function(...e){return R.call(this,E,...e)},f&&(k._logEvent=g()),k}function d(e,t,r,c){var l,u,d,p,m,f,v;if(Object.defineProperty(e,c,{value:o(e.level,r)>o(c,r)?y:r[a][c],writable:!0,enumerable:!0,configurable:!0}),e[c]===y){if(!t.transmit)return;let n=o(t.transmit.level||e.level,r);if(o(c,r)<n)return}e[c]=(l=e,u=t,d=r,p=c,m=l[a][p],function(){let e=u.timestamp(),t=Array(arguments.length),r=Object.getPrototypeOf&&Object.getPrototypeOf(this)===i?i:this;for(var a=0;a<t.length;a++)t[a]=arguments[a];var s=!1;if(u.serialize&&(h(t,this._serialize,this.serializers,this._stdErrSerialize),s=!0),u.asObject||u.formatters?m.call(r,...function(e,t,r,i,o){let{level:a,log:s=e=>e}=o.formatters||{},c=r.slice(),l=c[0],u={},d=(0|e._childLevel)+1;
1if(d<1&&(d=1),i&&(u.time=i),a?Object.assign(u,a(t,e.levels.values[t])):u.level=e.levels.values[t],o.asObjectBindingsOnly){if(null!==l&&"object"==typeof l)for(;d--&&"object"==typeof c[0];)Object.assign(u,c.shift());return[s(u),...c]}if(null!==l&&"object"==typeof l){for(;d--&&"object"==typeof c[0];)Object.assign(u,c.shift());l=c.length?n(c.shift(),c):void 0}else"string"==typeof l&&(l=n(c.shift(),c));return void 0!==l&&(u[o.messageKey]=l),[s(u)]}(this,p,t,e,u)):m.apply(r,t),u.transmit){let r=u.transmit.level||l._level,n=o(r,d),i=o(p,d);if(i<n)return;!function(e,t,r,n=!1){let i=t.send,o=t.ts,a=t.methodLevel,s=t.methodValue,c=t.val,l=e._logEvent.bindings;n||h(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=o,e._logEvent.messages=r.filter(function(e){return -1===l.indexOf(e)}),e._logEvent.level.label=a,e._logEvent.level.value=s,i(a,e._logEvent,c),e._logEvent=g(l)}(this,{ts:e,methodLevel:p,methodValue:i,transmitLevel:r,transmitValue:d.levels.values[u.transmit.level||l._level],send:u.transmit.send,val:o(l._level,d)},t,s)}});let w=function(e){let t=[];e.bindings&&t.push(e.bindings);let r=e[s];for(;r.parent;)(r=r.parent).logger.bindings&&t.push(r.logger.bindings);return t.reverse()}(e);0!==w.length&&(e[c]=(f=w,v=e[c],function(){return v.apply(this,[...f,...arguments])}))}function h(e,t,r,n){for(let i in e)if(n&&e[i]instanceof Error)e[i]=u.stdSerializers.err(e[i]);else if("object"==typeof e[i]&&!Array.isArray(e[i])&&t)for(let n in e[i])t.indexOf(n)>-1&&n in r&&(e[i][n]=r[n](e[i][n]))}function g(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function p(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let r in e)void 0===t[r]&&(t[r]=e[r]);return t}function m(){return{}}function f(e){return e}function y(){}function v(){return!1}function w(){return Date.now()}u.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},u.stdSerializers={mapHttpRequest:m,mapHttpResponse:m,wrapRequestSerializer:f,wrapResponseSerializer:f,wrapErrorSerializer:f,req:m,res:m,err:p,errWithCause:p},u.stdTimeFunctions=Object.assign({},{nullTime:v,epochTime:w,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),e.exports.default=u,e.exports.pino=u},87637:(e,t,r)=>{"use strict";r.d(t,{CB:()=>l,IE:()=>d,a:()=>u});var n=r(68304),i=r(60134),o=r(51167);let a=[o.mP,o.CY,o.Zv,o.j9],s=["message_only","additional_action","basic_action","user_password_expired","consent_required","bad_token"],c={[o.oF]:"No refresh token found in the cache. Please sign-in.",[o.B]:"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.",[o.AG]:"Refresh token has expired.",[o.j9]:"Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve."};o.oF,c[o.oF],o.B,c[o.B],o.j9,c[o.j9];class l extends i.lR{constructor(e,t,r,i,o,a,s,c){super(e,t,r),Object.setPrototypeOf(this,l.prototype),this.timestamp=i||n.YM.EMPTY_STRING,this.traceId=o||n.YM.EMPTY_STRING,this.correlationId=a||n.YM.EMPTY_STRING,this.claims=s||n.YM.EMPTY_STRING,this.name="InteractionRequiredAuthError",this.errorNo=c}}function u(e,t,r){let n=!!e&&a.indexOf(e)>-1,i=!!r&&s.indexOf(r)>-1,o=!!t&&a.some(e=>t.indexOf(e)>-1);return n||o||i}function d(e){return new l(e,c[e])}},88114:(e,t,r)=>{"use strict";r.d(t,{MSALContextProviderClient:()=>oj,S:()=>o$});var n,i,o,a,s=r(95155),c=r(12115),l=r(68304);(n=o||(o={}))[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Info=2]="Info",n[n.Verbose=3]="Verbose",n[n.Trace=4]="Trace";class u{constructor(e,t,r){this.level=o.Info;const n=e||u.createDefaultLoggerOptions();this.localCallback=n.loggerCallback||(()=>{}),this.piiLoggingEnabled=n.piiLoggingEnabled||!1,this.level="number"==typeof n.logLevel?n.logLevel:o.Info,this.correlationId=n.correlationId||l.YM.EMPTY_STRING,this.packageName=t||l.YM.EMPTY_STRING,this.packageVersion=r||l.YM.EMPTY_STRING}static createDefaultLoggerOptions(){return{loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:o.Info}}clone(e,t,r){return new u({loggerCallback:this.localCallback,piiLoggingEnabled:this.piiLoggingEnabled,logLevel:this.level,correlationId:r||this.correlationId},e,t)}logMessage(e,t){if(t.logLevel>this.level||!this.piiLoggingEnabled&&t.containsPii)return;let r=new Date().toUTCString(),n=`[${r}] : [${t.correlationId||this.correlationId||""}]`,i=`${n} : ${this.packageName}@${this.packageVersion} : ${o[t.logLevel]} - ${e}`;this.executeCallback(t.logLevel,i,t.containsPii||!1)}executeCallback(e,t,r){this.localCallback&&this.localCallback(e,t,r)}error(e,t){this.logMessage(e,{logLevel:o.Error,containsPii:!1,correlationId:t||l.YM.EMPTY_STRING})}errorPii(e,t){this.logMessage(e,{logLevel:o.Error,containsPii:!0,correlationId:t||l.YM.EMPTY_STRING})}warning(e,t){this.logMessage(e,{logLevel:o.Warning,containsPii:!1,correlationId:t||l.YM.EMPTY_STRING})}warningPii(e,t){this.logMessage(e,{logLevel:o.Warning,containsPii:!0,correlationId:t||l.YM.EMPTY_STRING})}info(e,t){this.logMessage(e,{logLevel:o.Info,containsPii:!1,correlationId:t||l.YM.EMPTY_STRING})}infoPii(e,t){this.logMessage(e,{logLevel:o.Info,containsPii:!0,correlationId:t||l.YM.EMPTY_STRING})}verbose(e,t){this.logMessage(e,{logLevel:o.Verbose,containsPii:!1,correlationId:t||l.YM.EMPTY_STRING})}verbosePii(e,t){this.logMessage(e,{logLevel:o.Verbose,containsPii:!0,correlationId:t||l.YM.EMPTY_STRING})}trace(e,t){this.logMessage(e,{logLevel:o.Trace,containsPii:!1,correlationId:t||l.YM.EMPTY_STRING})}tracePii(e,t){this.logMessage(e,{logLevel:o.Trace,containsPii:!0,correlationId:t||l.YM.EMPTY_STRING})}isPiiLoggingEnabled(){return this.piiLoggingEnabled||!1}}let d="OIDC",h="none";var g=r(60134);let p="client_info_decoding_error",m="client_info_empty_error",f="token_parsing_error",y="null_or_empty_token",v="endpoints_resolution_error",w="network_error",C="openid_config_error",_="hash_not_deserialized",I="invalid_state",b="state_mismatch",T="state_not_found",S="nonce_mismatch",A="auth_time_not_found",k="max_age_transpired",E="multiple_matching_tokens",R="multiple_matching_accounts",O="multiple_matching_appMetadata",M="request_cannot_be_made",P="cannot_remove_empty_scope",N="cannot_append_scopeset",x="empty_input_scopeset",L="device_code_polling_cancelled",U="device_code_expired",D="device_code_unknown_error",q="no_account_in_silent_request",H="invalid_cache_record",B="invalid_cache_environment",F="no_account_found",K="no_crypto_object",$="unexpected_credential_type",j="invalid_assertion",z="invalid_client_credential",G="token_refresh_required",Y="user_timeout_reached",W="token_claims_cnf_required_for_signedjwt",Z="authorization_code_missing_from_server_response",V="binding_key_not_removed",Q="end_session_endpoint_not_supported",J="key_id_missing",X="no_network_connectivity",ee="user_canceled",et="missing_tenant_id_error",er="method_not_implemented",en="nested_app_auth_bridge_disabled",ei={[p]:"The client info could not be parsed/decoded correctly",[m]:"The client info was empty",[f]:"Token cannot be parsed",[y]:"The token is null or empty",[v]:"Endpoints cannot be resolved",[w]:"Network request failed",[C]:"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.",[_]:"The hash parameters could not be deserialized",[I]:"State was not the expected format",[b]:"State mismatch error",[T]:"State not found",[S]:"Nonce mismatch error",[A]:"Max Age was requested and the ID token is missing the auth_time variable. auth_time is an optional claim and is not enabled by default - it must be enabled. See https://aka.ms/msaljs/optional-claims for more information.",[k]:"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.",[E]:"The cache contains multiple tokens satisfying the requirements. Call AcquireToken again providing more requirements such as authority or account.",[R]:"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account",[O]:"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata",[M]:"Token request cannot be made without authorization code or refresh token.",[P]:"Cannot remove null or empty scope from ScopeSet",[N]:"Cannot append ScopeSet",[x]:"Empty input ScopeSet cannot be processed",[L]:"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.",[U]:"Device code is expired.",[D]:"Device code stopped polling for unknown reasons.",[q]:"Please pass an account object, silent flow is not supported without account information",[H]:"Cache record object was null or undefined.",[B]:"Invalid environment when attempting to create cache entry",[F]:"No account found in cache for given key.",[K]:"No crypto object detected.",[$]:"Unexpected credential type.",[j]:"Client assertion must meet requirements described
1in https://tools.ietf.org/html/rfc7515",[z]:"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential",[G]:"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.",[Y]:"User defined timeout for device code polling reached",[W]:"Cannot generate a POP jwt if the token_claims are not populated",[Z]:"Server response does not contain an authorization code to proceed",[V]:"Could not remove the credential's binding key from storage.",[Q]:"The provided authority does not support logout",[J]:"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.",[X]:"No network connectivity. Check your internet connection.",[ee]:"User cancelled the flow.",[et]:"A tenant id - not common, organizations, or consumers - must be specified when using the client_credentials flow.",[er]:"This method has not been implemented",[en]:"The nested app auth bridge is disabled"};ei[p],ei[m],ei[f],ei[y],ei[v],ei[w],ei[C],ei[_],ei[I],ei[b],ei[T],ei[S],ei[A],ei[k],ei[E],ei[R],ei[O],ei[M],ei[P],ei[N],ei[x],ei[L],ei[U],ei[D],ei[q],ei[H],ei[B],ei[F],ei[K],ei[$],ei[j],ei[z],ei[G],ei[Y],ei[W],ei[Z],ei[V],ei[Q],ei[J],ei[X],ei[ee],ei[et],ei[en];class eo extends g.lR{constructor(e,t){super(e,t?`${ei[e]}: ${t}`:ei[e]),this.name="ClientAuthError",Object.setPrototypeOf(this,eo.prototype)}}function ea(e,t){return new eo(e,t)}let es={createNewGuid:()=>{throw ea(er)},base64Decode:()=>{throw ea(er)},base64Encode:()=>{throw ea(er)},base64UrlEncode:()=>{throw ea(er)},encodeKid:()=>{throw ea(er)},async getPublicKeyThumbprint(){throw ea(er)},async removeTokenBindingKey(){throw ea(er)},async clearKeystore(){throw ea(er)},async signJwt(){throw ea(er)},async hashString(){throw ea(er)}},ec="@azure/msal-common",el="14.16.1";function eu(e,t){let r=function(e){if(!e)throw ea(y);let t=/^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/.exec(e);if(!t||t.length<4)throw ea(f);return t[2]}(e);try{let e=t(r);return JSON.parse(e)}catch(e){throw ea(f)}}function ed(e,t){if(0===t||Date.now()-3e5>e+t)throw ea(k)}function eh(){return Math.round(new Date().getTime()/1e3)}function eg(e,t){let r=Number(e)||0;return eh()+t>r}function ep(e){var t,r,n;let i;return[[(t=e).homeAccountId,t.environment].join(l.LR.CACHE_KEY_SEPARATOR).toLowerCase(),(i=(r=e).credentialType===l.aG.REFRESH_TOKEN&&r.familyId||r.clientId,[r.credentialType,i,r.realm||""].join(l.LR.CACHE_KEY_SEPARATOR).toLowerCase()),(e.target||"").toLowerCase(),(e.requestedClaimsHash||"").toLowerCase(),(n=e).tokenType&&n.tokenType.toLowerCase()!==l.IO.BEARER.toLowerCase()?n.tokenType.toLowerCase():""].join(l.LR.CACHE_KEY_SEPARATOR).toLowerCase()}function em(e,t,r,n,i){return{credentialType:l.aG.ID_TOKEN,homeAccountId:e,environment:t,clientId:n,secret:r,realm:i}}function ef(e,t,r,n,i,o,a,s,c,u,d,h,g,p,m){let f={homeAccountId:e,credentialType:l.aG.ACCESS_TOKEN,secret:r,cachedAt:eh().toString(),expiresOn:a.toString(),extendedExpiresOn:s.toString(),environment:t,clientId:n,realm:i,target:o,tokenType:d||l.IO.BEARER};if(h&&(f.userAssertionHash=h),u&&(f.refreshOn=u.toString()),p&&(f.requestedClaims=p,f.requestedClaimsHash=m),f.tokenType?.toLowerCase()!==l.IO.BEARER.toLowerCase())switch(f.credentialType=l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME,f.tokenType){case l.IO.POP:let y=eu(r,c);if(!y?.cnf?.kid)throw ea(W);f.keyId=y.cnf.kid;break;case l.IO.SSH:f.keyId=g}return f}function ey(e,t,r,n,i,o,a){let s={credentialType:l.aG.REFRESH_TOKEN,homeAccountId:e,environment:t,clientId:n,secret:r};return o&&(s.userAssertionHash=o),i&&(s.familyId=i),a&&(s.expiresOn=a.toString()),s}function ev(e){return e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("credentialType")&&e.hasOwnProperty("clientId")&&e.hasOwnProperty("secret")}function ew(e){return!!e&&ev(e)&&e.hasOwnProperty("realm")&&e.hasOwnProperty("target")&&(e.credentialType===l.aG.ACCESS_TOKEN||e.credentialType===l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME)}function eC(e){return!!e&&ev(e)&&e.hasOwnProperty("realm")&&e.credentialType===l.aG.ID_TOKEN}function e_(e){return!!e&&ev(e)&&e.credentialType===l.aG.REFRESH_TOKEN}function eI(){return eh()+l.u0.REFRESH_TIME_SECONDS}function eb(e,t,r){e.authorization_endpoint=t.authorization_endpoint,e.token_endpoint=t.token_endpoint,e.end_session_endpoint=t.end_session_endpoint,e.issuer=t.issuer,e.endpointsFromNetwork=r,e.jwks_uri=t.jwks_uri}function eT(e,t,r){e.aliases=t.aliases,e.preferred_cache=t.preferred_cache,e.preferred_network=t.preferred_network,e.aliasesFromNetwork=r}function eS(e){return e.expiresAt<=eh()}let eA="redirect_uri_empty",ek="claims_request_parsing_error",eE="authority_uri_insecure",eR="url_parse_error",eO="empty_url_error",eM="empty_input_scopes_error",eP="invalid_prompt_value",eN="invalid_claims",ex="token_request_empty",eL="logout_request_empty",eU="invalid_code_challenge_method",eD="pkce_params_missing",eq="invalid_cloud_discovery_metadata",eH="invalid_authority_metadata",eB="untrusted_authority",eF="missing_ssh_jwk",eK="missing_ssh_kid",e$="missing_nonce_authentication_header",ej="invalid_authentication_header",ez="cannot_set_OIDCOptions",eG="cannot_allow_native_broker",eY="authority_mismatch",eW={[eA]:"A redirect URI is required for all calls, and none has been set.",[ek]:"Could not parse the given claims request object.",[eE]:"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us
1/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options",[eR]:"URL could not be parsed into appropriate segments.",[eO]:"URL was empty or null.",[eM]:"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.",[eP]:"Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest",[eN]:"Given claims parameter must be a stringified JSON object.",[ex]:"Token request was empty and not found in cache.",[eL]:"The logout request was null or undefined.",[eU]:'code_challenge_method passed is invalid. Valid values are "plain" and "S256".',[eD]:"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request",[eq]:"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields",[eH]:"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.",[eB]:"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.",[eF]:"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.",[eK]:"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.",[e$]:"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.",[ej]:"Invalid authentication header provided",[ez]:"Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",[eG]:"Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",[eY]:"Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority."};eW[eA],eW[ek],eW[eE],eW[eR],eW[eO],eW[eM],eW[eP],eW[eN],eW[ex],eW[eL],eW[eU],eW[eD],eW[eq],eW[eH],eW[eB],eW[eF],eW[eK],eW[e$],eW[ej],eW[ez],eW[eG],eW[eY];class eZ extends g.lR{constructor(e){super(e,eW[e]),this.name="ClientConfigurationError",Object.setPrototypeOf(this,eZ.prototype)}}function eV(e){return new eZ(e)}class eQ{static isEmptyObj(e){if(e)try{let t=JSON.parse(e);return 0===Object.keys(t).length}catch(e){}return!0}static startsWith(e,t){return 0===e.indexOf(t)}static endsWith(e,t){return e.length>=t.length&&e.lastIndexOf(t)===e.length-t.length}static queryStringToObject(e){let t={},r=e.split("&"),n=e=>decodeURIComponent(e.replace(/\+/g," "));return r.forEach(e=>{if(e.trim()){let[r,i]=e.split(/=(.+)/g,2);r&&i&&(t[n(r)]=n(i))}}),t}static trimArrayEntries(e){return e.map(e=>e.trim())}static removeEmptyStringsFromArray(e){return e.filter(e=>!!e)}static jsonParseHelper(e){try{return JSON.parse(e)}catch(e){return null}}static matchPattern(e,t){return new RegExp(e.replace(/\\/g,"\\\\").replace(/\*/g,"[^ ]*").replace(/\?/g,"\\?")).test(t)}}class eJ{constructor(e){const t=e?eQ.trimArrayEntries([...e]):[],r=t?eQ.removeEmptyStringsFromArray(t):[];this.validateInputScopes(r),this.scopes=new Set,r.forEach(e=>this.scopes.add(e))}static fromString(e){return new eJ((e||l.YM.EMPTY_STRING).split(" "))}static createSearchScopes(e){let t=new eJ(e);return t.containsOnlyOIDCScopes()?t.removeScope(l.YM.OFFLINE_ACCESS_SCOPE):t.removeOIDCScopes(),t}validateInputScopes(e){if(!e||e.length<1)throw eV(eM)}containsScope(e){let t=new eJ(this.printScopesLowerCase().split(" "));return!!e&&t.scopes.has(e.toLowerCase())}containsScopeSet(e){return!!e&&!(e.scopes.size<=0)&&this.scopes.size>=e.scopes.size&&e.asArray().every(e=>this.containsScope(e))}containsOnlyOIDCScopes(){let e=0;return l._A.forEach(t=>{this.containsScope(t)&&(e+=1)}),this.scopes.size===e}appendScope(e){e&&this.scopes.add(e.trim())}
1appendScopes(e){try{e.forEach(e=>this.appendScope(e))}catch(e){throw ea(N)}}removeScope(e){if(!e)throw ea(P);this.scopes.delete(e.trim())}removeOIDCScopes(){l._A.forEach(e=>{this.scopes.delete(e)})}unionScopeSets(e){if(!e)throw ea(x);let t=new Set;return e.scopes.forEach(e=>t.add(e.toLowerCase())),this.scopes.forEach(e=>t.add(e.toLowerCase())),t}intersectingScopeSets(e){if(!e)throw ea(x);e.containsOnlyOIDCScopes()||e.removeOIDCScopes();let t=this.unionScopeSets(e),r=e.getScopeCount(),n=this.getScopeCount();return t.size<n+r}getScopeCount(){return this.scopes.size}asArray(){let e=[];return this.scopes.forEach(t=>e.push(t)),e}printScopes(){return this.scopes?this.asArray().join(" "):l.YM.EMPTY_STRING}printScopesLowerCase(){return this.printScopes().toLowerCase()}}function eX(e,t){if(!e)throw ea(m);try{let r=t(e);return JSON.parse(r)}catch(e){throw ea(p)}}function e0(e){if(!e)throw ea(p);let t=e.split(l.LR.CLIENT_INFO_SEPARATOR,2);return{uid:t[0],utid:t.length<2?l.YM.EMPTY_STRING:t[1]}}function e1(e,t){return!!e&&!!t&&e===t.split(".")[1]}function e2(e,t,r,n){if(!n)return{tenantId:r,localAccountId:t,isHomeTenant:e1(r,e)};{let{oid:t,sub:r,tid:i,name:o,tfp:a,acr:s}=n,c=i||a||s||"";return{tenantId:c,localAccountId:t||r||"",name:o,isHomeTenant:e1(c,e)}}}function e6(e,t,r,n){let i=e;if(t){let{isHomeTenant:r,...n}=t;i={...e,...n}}if(r){let{isHomeTenant:t,...o}=e2(e.homeAccountId,e.localAccountId,e.tenantId,r);i={...i,...o,idTokenClaims:r,idToken:n}}return i}function e4(e){return e&&(e.tid||e.tfp||e.acr)||null}class e3{generateAccountId(){return[this.homeAccountId,this.environment].join(l.LR.CACHE_KEY_SEPARATOR).toLowerCase()}generateAccountKey(){return e3.generateAccountCacheKey({homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId})}getAccountInfo(){return{homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId,name:this.name,nativeAccountId:this.nativeAccountId,authorityType:this.authorityType,tenantProfiles:new Map((this.tenantProfiles||[]).map(e=>[e.tenantId,e]))}}isSingleTenant(){return!this.tenantProfiles}static generateAccountCacheKey(e){let t=e.homeAccountId.split(".")[1];return[e.homeAccountId,e.environment||"",t||e.tenantId||""].join(l.LR.CACHE_KEY_SEPARATOR).toLowerCase()}static createAccount(e,t,r){let n,i=new e3;1===t.authorityType?i.authorityType=l.Qd.ADFS_ACCOUNT_TYPE:"AAD"===t.protocolMode?i.authorityType=l.Qd.MSSTS_ACCOUNT_TYPE:i.authorityType=l.Qd.GENERIC_ACCOUNT_TYPE,e.clientInfo&&r&&(n=eX(e.clientInfo,r)),i.clientInfo=e.clientInfo,i.homeAccountId=e.homeAccountId,i.nativeAccountId=e.nativeAccountId;let o=e.environment||t&&t.getPreferredCache();if(!o)throw ea(B);i.environment=o,i.realm=n?.utid||e4(e.idTokenClaims)||"",i.localAccountId=n?.uid||e.idTokenClaims?.oid||e.idTokenClaims?.sub||"";let a=e.idTokenClaims?.preferred_username||e.idTokenClaims?.upn,s=e.idTokenClaims?.emails?e.idTokenClaims.emails[0]:null;if(i.username=a||s||"",i.name=e.idTokenClaims?.name||"",i.cloudGraphHostName=e.cloudGraphHostName,i.msGraphHost=e.msGraphHost,e.tenantProfiles)i.tenantProfiles=e.tenantProfiles;else{let t=e2(e.homeAccountId,i.localAccountId,i.realm,e.idTokenClaims);i.tenantProfiles=[t]}return i}static createFromAccountInfo(e,t,r){let n=new e3;return n.authorityType=e.authorityType||l.Qd.GENERIC_ACCOUNT_TYPE,n.homeAccountId=e.homeAccountId,n.localAccountId=e.localAccountId,n.nativeAccountId=e.nativeAccountId,n.realm=e.tenantId,n.environment=e.environment,n.username=e.username,n.name=e.name,n.cloudGraphHostName=t,n.msGraphHost=r,n.tenantProfiles=Array.from(e.tenantProfiles?.values()||[]),n}static generateHomeAccountId(e,t,r,n,i){if(1!==t&&2!==t){if(e)try{let t=eX(e,n.base64Decode);if(t.uid&&t.utid)return`${t.uid}.${t.utid}`}catch(e){}r.warning("No client info in response")}return i?.sub||""}static isAccountEntity(e){return!!e&&e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("realm")&&e.hasOwnProperty("localAccountId")&&e.hasOwnProperty("username")&&e.hasOwnProperty("authorityType")}static accountInfoIsEqual(e,t,r){if(!e||!t)return!1;let n=!0;if(r){let r=e.idTokenClaims||{},i=t.idTokenClaims||{};n=r.iat===i.iat&&r.nonce===i.nonce}return e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username&&e.tenantId===t.tenantId&&e.environment===t.environment&&e.nativeAccountId===t.nativeAccountId&&n}}function e5(e){return e.startsWith("#/")?e.substring(2):e.startsWith("#")||e.startsWith("?")?e.substring(1):e}function e9(e){if(!e||0>e.indexOf("="))return null;try{let t=e5(e),r=Object.fromEntries(new URLSearchParams(t));if(r.code||r.error||r.error_description||r.state)return r}catch(e){throw ea(_)}return null}class e8{get urlString(){return this._urlString}constructor(e){if(this._urlString=e,!this._urlString)throw eV(eO);e.includes("#")||(this._urlString=e8.canonicalizeUri(e))}static canonicalizeUri(e){if(e){let t=e.toLowerCase();return eQ.endsWith(t,"?")?t=t.slice(0,-1):eQ.endsWith(t,"?/")&&(t=t.
1slice(0,-2)),eQ.endsWith(t,"/")||(t+="/"),t}return e}validateAsUri(){let e;try{e=this.getUrlComponents()}catch(e){throw eV(eR)}if(!e.HostNameAndPort||!e.PathSegments)throw eV(eR);if(!e.Protocol||"https:"!==e.Protocol.toLowerCase())throw eV(eE)}static appendQueryString(e,t){return t?0>e.indexOf("?")?`${e}?${t}`:`${e}&${t}`:e}static removeHashFromUrl(e){return e8.canonicalizeUri(e.split("#")[0])}replaceTenantPath(e){let t=this.getUrlComponents(),r=t.PathSegments;return e&&0!==r.length&&(r[0]===l.v2.COMMON||r[0]===l.v2.ORGANIZATIONS)&&(r[0]=e),e8.constructAuthorityUriFromObject(t)}getUrlComponents(){let e=RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"),t=this.urlString.match(e);if(!t)throw eV(eR);let r={Protocol:t[1],HostNameAndPort:t[4],AbsolutePath:t[5],QueryString:t[7]},n=r.AbsolutePath.split("/");return r.PathSegments=n=n.filter(e=>e&&e.length>0),r.QueryString&&r.QueryString.endsWith("/")&&(r.QueryString=r.QueryString.substring(0,r.QueryString.length-1)),r}static getDomainFromUrl(e){let t=RegExp("^([^:/?#]+://)?([^/?#]*)"),r=e.match(t);if(!r)throw eV(eR);return r[2]}static getAbsoluteUrl(e,t){if(e[0]===l.YM.FORWARD_SLASH){let r=new e8(t).getUrlComponents();return r.Protocol+"//"+r.HostNameAndPort+e}return e}static constructAuthorityUriFromObject(e){return new e8(e.Protocol+"//"+e.HostNameAndPort+"/"+e.PathSegments.join("/"))}static hashContainsKnownProperties(e){return!!e9(e)}}let e7={"login.microsoftonline.com":{token_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.com/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/logout"},"login.chinacloudapi.cn":{token_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.chinacloudapi.cn/{tenantid}/discovery/v2.0/keys",issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",authorization_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/logout"},"login.microsoftonline.us":{token_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.us/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout"}},te=[{preferred_network:"login.microsoftonline.com",preferred_cache:"login.windows.net",aliases:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{preferred_network:"login.partner.microsoftonline.cn",preferred_cache:"login.partner.microsoftonline.cn",aliases:["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{preferred_network:"login.microsoftonline.de",preferred_cache:"login.microsoftonline.de",aliases:["login.microsoftonline.de"]},{preferred_network:"login.microsoftonline.us",preferred_cache:"login.microsoftonline.us",aliases:["login.microsoftonline.us","login.usgovcloudapi.net"]},{preferred_network:"login-us.microsoftonline.com",preferred_cache:"login-us.microsoftonline.com",aliases:["login-us.microsoftonline.com"]}],tt=new Set;function tr(e,t,r,n){if(n?.trace(`getAliasesFromMetadata called with source: ${r}`),e&&t){let i=tn(t,e);if(i)return n?.trace(`getAliasesFromMetadata: found cloud discovery metadata in ${r}, returning aliases`),i.aliases;n?.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in ${r}`)}return null}function tn(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(n.aliases.includes(t))return n}return null}te.forEach(e=>{e.aliases.forEach(e=>{tt.add(e)})});let ti="cache_quota_exceeded",to="cache_error_unknown",ta={[ti]:"Exceeded cache storage c
1apacity.",[to]:"Unexpected error occurred when using cache storage."};class ts extends Error{constructor(e,t){const r=t||(ta[e]?ta[e]:ta[to]);super(`${e}: ${r}`),Object.setPrototypeOf(this,ts.prototype),this.name="CacheError",this.errorCode=e,this.errorMessage=r}}function tc(e){return e instanceof Error?"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name||e.message.includes("exceeded the quota")?new ts(ti):new ts(e.name,e.message):new ts(to)}class tl{constructor(e,t,r,n){this.clientId=e,this.cryptoImpl=t,this.commonLogger=r.clone(ec,el),this.staticAuthorityOptions=n}getAllAccounts(e,t){return this.buildTenantProfiles(this.getAccountsFilteredBy(t||{},e),e,t)}getAccountInfoFilteredBy(e,t){let r=this.getAllAccounts(t,e);return r.length>1?r.sort(e=>e.idTokenClaims?-1:1)[0]:1===r.length?r[0]:null}getBaseAccountInfo(e,t){let r=this.getAccountsFilteredBy(e,t);return r.length>0?r[0].getAccountInfo():null}buildTenantProfiles(e,t,r){return e.flatMap(e=>this.getTenantProfilesFromAccountEntity(e,t,r?.tenantId,r))}getTenantedAccountInfoByFilter(e,t,r,n,i){let o;if(i&&!this.tenantProfileMatchesFilter(r,i))return null;let a=this.getIdToken(e,n,t,r.tenantId);return a&&(o=eu(a.secret,this.cryptoImpl.base64Decode),!this.idTokenClaimsMatchTenantProfileFilter(o,i))?null:e6(e,r,o,a?.secret)}getTenantProfilesFromAccountEntity(e,t,r,n){let i=e.getAccountInfo(),o=i.tenantProfiles||new Map,a=this.getTokenKeys();if(r){let e=o.get(r);if(!e)return[];o=new Map([[r,e]])}let s=[];return o.forEach(e=>{let r=this.getTenantedAccountInfoByFilter(i,a,e,t,n);r&&s.push(r)}),s}tenantProfileMatchesFilter(e,t){return(!t.localAccountId||!!this.matchLocalAccountIdFromTenantProfile(e,t.localAccountId))&&(!t.name||e.name===t.name)&&(void 0===t.isHomeTenant||e.isHomeTenant===t.isHomeTenant)}idTokenClaimsMatchTenantProfileFilter(e,t){return(!t||(!t.localAccountId||!!this.matchLocalAccountIdFromTokenClaims(e,t.localAccountId))&&(!t.loginHint||!!this.matchLoginHintFromTokenClaims(e,t.loginHint))&&(!t.username||!!this.matchUsername(e.preferred_username,t.username))&&(!t.name||!!this.matchName(e,t.name))&&(!t.sid||!!this.matchSid(e,t.sid)))&&!0}async saveCacheRecord(e,t,r){if(!e)throw ea(H);try{e.account&&this.setAccount(e.account,t),e.idToken&&r?.idToken!==!1&&this.setIdTokenCredential(e.idToken,t),e.accessToken&&r?.accessToken!==!1&&await this.saveAccessToken(e.accessToken,t),e.refreshToken&&r?.refreshToken!==!1&&this.setRefreshTokenCredential(e.refreshToken,t),e.appMetadata&&this.setAppMetadata(e.appMetadata,t)}catch(e){if(this.commonLogger?.error("CacheManager.saveCacheRecord: failed"),e instanceof g.lR)throw e;throw tc(e)}}async saveAccessToken(e,t){let r={clientId:e.clientId,credentialType:e.credentialType,environment:e.environment,homeAccountId:e.homeAccountId,realm:e.realm,tokenType:e.tokenType,requestedClaimsHash:e.requestedClaimsHash},n=this.getTokenKeys(),i=eJ.fromString(e.target);n.accessToken.forEach(e=>{if(!this.accessTokenKeyMatchesFilter(e,r,!1))return;let n=this.getAccessTokenCredential(e,t);n&&this.credentialMatchesFilter(n,r)&&eJ.fromString(n.target).intersectingScopeSets(i)&&this.removeAccessToken(e,t)}),this.setAccessTokenCredential(e,t)}getAccountsFilteredBy(e,t){let r=this.getAccountKeys(),n=[];return r.forEach(r=>{if(!this.isAccountKey(r,e.homeAccountId))return;let i=this.getAccount(r,t,this.commonLogger);if(!i||e.homeAccountId&&!this.matchHomeAccountId(i,e.homeAccountId)||e.username&&!this.matchUsername(i.username,e.username)||e.environment&&!this.matchEnvironment(i,e.environment)||e.realm&&!this.matchRealm(i,e.realm)||e.nativeAccountId&&!this.matchNativeAccountId(i,e.nativeAccountId)||e.authorityType&&!this.matchAuthorityType(i,e.authorityType))return;let o={localAccountId:e?.localAccountId,name:e?.name},a=i.tenantProfiles?.filter(e=>this.tenantProfileMatchesFilter(e,o));a&&0===a.length||n.push(i)}),n}isAccountKey(e,t,r){return!(e.split(l.LR.CACHE_KEY_SEPARATOR).length<3)&&(!t||!!e.toLowerCase().includes(t.toLowerCase()))&&(!r||!!e.toLowerCase().includes(r.toLowerCase()))}isCredentialKey(e){if(e.split(l.LR.CACHE_KEY_SEPARATOR).length<6)return!1;let t=e.toLowerCase();if(-1===t.indexOf(l.aG.ID_TOKEN.toLowerCase())&&-1===t.indexOf(l.aG.ACCESS_TOKEN.toLowerCase())&&-1===t.indexOf(l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())&&-1===t.indexOf(l.aG.REFRESH_TOKEN.toLowerCase()))return!1;if(t.indexOf(l.aG.REFRESH_TOKEN.toLowerCase())>-1){let e=`${l.aG.REFRESH_TOKEN}${l.LR.CACHE_KEY_SEPARATOR}${this.clientId}${l.LR.CACHE_KEY_SEPARATOR}`,r=`${l.aG.REFRESH_TOKEN}${l.LR.CACHE_KEY_SEPARATOR}${l.hB}${l.LR.CACHE_KEY_SEPARATOR}`;if(-1===t.indexOf(e.toLowerCase())&&-1===t.indexOf(r.toLowerCase()))return!1}else if(-1===t.indexOf(this.clientId.toLowerCase()))return!1;return!0}credentialMatchesFilter(e,t){return(!t.clientId||!!this.matchClientId(e,t.clientId))&&(!t.userAssertionHash||!!this.matchUserAssertionHash(e,t.userAssertionHash))&&
1("string"!=typeof t.homeAccountId||!!this.matchHomeAccountId(e,t.homeAccountId))&&(!t.environment||!!this.matchEnvironment(e,t.environment))&&(!t.realm||!!this.matchRealm(e,t.realm))&&(!t.credentialType||!!this.matchCredentialType(e,t.credentialType))&&(!t.familyId||!!this.matchFamilyId(e,t.familyId))&&(!t.target||!!this.matchTarget(e,t.target))&&(!t.requestedClaimsHash&&!e.requestedClaimsHash||e.requestedClaimsHash===t.requestedClaimsHash)&&(e.credentialType!==l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME||(!t.tokenType||!!this.matchTokenType(e,t.tokenType))&&(t.tokenType!==l.IO.SSH||!t.keyId||!!this.matchKeyId(e,t.keyId)))&&!0}getAppMetadataFilteredBy(e){let t=this.getKeys(),r={};return t.forEach(t=>{if(!this.isAppMetadata(t))return;let n=this.getAppMetadata(t);!n||e.environment&&!this.matchEnvironment(n,e.environment)||(!e.clientId||this.matchClientId(n,e.clientId))&&(r[t]=n)}),r}getAuthorityMetadataByAlias(e){let t=this.getAuthorityMetadataKeys(),r=null;return t.forEach(t=>{if(!this.isAuthorityMetadata(t)||-1===t.indexOf(this.clientId))return;let n=this.getAuthorityMetadata(t);n&&-1!==n.aliases.indexOf(e)&&(r=n)}),r}async removeAllAccounts(e){let t=this.getAccountKeys(),r=[];t.forEach(t=>{r.push(this.removeAccount(t,e))}),await Promise.all(r)}async removeAccount(e,t){let r=this.getAccount(e,t,this.commonLogger);r&&(await this.removeAccountContext(r,t),this.removeItem(e,t))}async removeAccountContext(e,t){let r=this.getTokenKeys(),n=e.generateAccountId();r.idToken.forEach(e=>{0===e.indexOf(n)&&this.removeIdToken(e,t)}),r.accessToken.forEach(e=>{0===e.indexOf(n)&&this.removeAccessToken(e,t)}),r.refreshToken.forEach(e=>{0===e.indexOf(n)&&this.removeRefreshToken(e,t)}),this.getKeys().forEach(e=>{e.includes(n)&&this.removeItem(e,t)})}updateOutdatedCachedAccount(e,t,r,n){if(t&&t.isSingleTenant()){this.commonLogger?.verbose("updateOutdatedCachedAccount: Found a single-tenant (outdated) account entity in the cache, migrating to multi-tenant account entity");let i=this.getAccountKeys().filter(e=>e.startsWith(t.homeAccountId)),o=[];i.forEach(e=>{let t=this.getCachedAccountEntity(e,r);t&&o.push(t)});let a=o.find(e=>e1(e.realm,e.homeAccountId))||o[0];a.tenantProfiles=o.map(e=>({tenantId:e.realm,localAccountId:e.localAccountId,name:e.name,isHomeTenant:e1(e.realm,e.homeAccountId)}));let s=tl.toObject(new e3,{...a}),c=s.generateAccountKey();return i.forEach(t=>{t!==c&&this.removeOutdatedAccount(e,r)}),this.setAccount(s,r),n?.verbose("Updated an outdated account entity in the cache"),s}return t}removeAccessToken(e,t){let r=this.getAccessTokenCredential(e,t);if(this.removeItem(e,t),!r||r.credentialType.toLowerCase()!==l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()||r.tokenType!==l.IO.POP)return;let n=r.keyId;n&&this.cryptoImpl.removeTokenBindingKey(n).catch(()=>{this.commonLogger.error("Binding key could not be removed")})}removeAppMetadata(e){return this.getKeys().forEach(t=>{this.isAppMetadata(t)&&this.removeItem(t,e)}),!0}readAccountFromCache(e,t){let r=e3.generateAccountCacheKey(e);return this.getAccount(r,t,this.commonLogger)}getIdToken(e,t,r,n,i){this.commonLogger.trace("CacheManager - getIdToken called");let o={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:l.aG.ID_TOKEN,clientId:this.clientId,realm:n},a=this.getIdTokensByFilter(o,t,r),s=a.size;if(s<1)return this.commonLogger.info("CacheManager:getIdToken - No token found"),null;if(s>1){let r=a;if(!n){let t=new Map;a.forEach((r,n)=>{r.realm===e.tenantId&&t.set(n,r)});let n=t.size;if(n<1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result"),a.values().next().value;if(1===n)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile"),t.values().next().value;r=t}return this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them"),r.forEach((e,r)=>{this.removeIdToken(r,t)}),i&&t&&i.addFields({multiMatchedID:a.size},t),null}return this.commonLogger.info("CacheManager:getIdToken - Returning ID token"),a.values().next().value}getIdTokensByFilter(e,t,r){let n=r&&r.idToken||this.getTokenKeys().idToken,i=new Map;
1return n.forEach(r=>{if(!this.idTokenKeyMatchesFilter(r,{clientId:this.clientId,...e}))return;let n=this.getIdTokenCredential(r,t);n&&this.credentialMatchesFilter(n,e)&&i.set(r,n)}),i}idTokenKeyMatchesFilter(e,t){let r=e.toLowerCase();return(!t.clientId||-1!==r.indexOf(t.clientId.toLowerCase()))&&(!t.homeAccountId||-1!==r.indexOf(t.homeAccountId.toLowerCase()))}removeIdToken(e,t){this.removeItem(e,t)}removeRefreshToken(e,t){this.removeItem(e,t)}getAccessToken(e,t,r,n,i){this.commonLogger.trace("CacheManager - getAccessToken called");let o=eJ.createSearchScopes(t.scopes),a=t.authenticationScheme||l.IO.BEARER,s=a&&a.toLowerCase()!==l.IO.BEARER.toLowerCase()?l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME:l.aG.ACCESS_TOKEN,c={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:s,clientId:this.clientId,realm:n||e.tenantId,target:o,tokenType:a,keyId:t.sshKid,requestedClaimsHash:t.requestedClaimsHash},u=r&&r.accessToken||this.getTokenKeys().accessToken,d=[];u.forEach(e=>{if(this.accessTokenKeyMatchesFilter(e,c,!0)){let r=this.getAccessTokenCredential(e,t.correlationId);r&&this.credentialMatchesFilter(r,c)&&d.push(r)}});let h=d.length;return h<1?(this.commonLogger.info("CacheManager:getAccessToken - No token found"),null):h>1?(this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them"),d.forEach(e=>{this.removeAccessToken(ep(e),t.correlationId)}),i&&t.correlationId&&i.addFields({multiMatchedAT:d.length},t.correlationId),null):(this.commonLogger.info("CacheManager:getAccessToken - Returning access token"),d[0])}accessTokenKeyMatchesFilter(e,t,r){let n=e.toLowerCase();if(t.clientId&&-1===n.indexOf(t.clientId.toLowerCase())||t.homeAccountId&&-1===n.indexOf(t.homeAccountId.toLowerCase())||t.realm&&-1===n.indexOf(t.realm.toLowerCase())||t.requestedClaimsHash&&-1===n.indexOf(t.requestedClaimsHash.toLowerCase()))return!1;if(t.target){let e=t.target.asArray();for(let t=0;t<e.length;t++)if(r&&!n.includes(e[t].toLowerCase()))return!1;else if(!r&&n.includes(e[t].toLowerCase()))break}return!0}getAccessTokensByFilter(e,t){let r=this.getTokenKeys(),n=[];return r.accessToken.forEach(r=>{if(!this.accessTokenKeyMatchesFilter(r,e,!0))return;let i=this.getAccessTokenCredential(r,t);i&&this.credentialMatchesFilter(i,e)&&n.push(i)}),n}getRefreshToken(e,t,r,n,i){this.commonLogger.trace("CacheManager - getRefreshToken called");let o=t?l.hB:void 0,a={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:l.aG.REFRESH_TOKEN,clientId:this.clientId,familyId:o},s=n&&n.refreshToken||this.getTokenKeys().refreshToken,c=[];s.forEach(e=>{if(this.refreshTokenKeyMatchesFilter(e,a)){let t=this.getRefreshTokenCredential(e,r);t&&this.credentialMatchesFilter(t,a)&&c.push(t)}});let u=c.length;return u<1?(this.commonLogger.info("CacheManager:getRefreshToken - No refresh token found."),null):(u>1&&i&&r&&i.addFields({multiMatchedRT:u},r),this.commonLogger.info("CacheManager:getRefreshToken - returning refresh token"),c[0])}refreshTokenKeyMatchesFilter(e,t){let r=e.toLowerCase();return(!t.familyId||-1!==r.indexOf(t.familyId.toLowerCase()))&&(!!t.familyId||!t.clientId||-1!==r.indexOf(t.clientId.toLowerCase()))&&(!t.homeAccountId||-1!==r.indexOf(t.homeAccountId.toLowerCase()))}readAppMetadataFromCache(e){let t={environment:e,clientId:this.clientId},r=this.getAppMetadataFilteredBy(t),n=Object.keys(r).map(e=>r[e]),i=n.length;if(i<1)return null;if(i>1)throw ea(O);return n[0]}isAppMetadataFOCI(e){let t=this.readAppMetadataFromCache(e);return!!(t&&t.familyId===l.hB)}matchHomeAccountId(e,t){return"string"==typeof e.homeAccountId&&t===e.homeAccountId}matchLocalAccountIdFromTokenClaims(e,t){return t===(e.oid||e.sub)}matchLocalAccountIdFromTenantProfile(e,t){return e.localAccountId===t}matchName(e,t){return t.toLowerCase()===e.name?.toLowerCase()}matchUsername(e,t){return!!(e&&"string"==typeof e&&t?.toLowerCase()===e.toLowerCase())}matchUserAssertionHash(e,t){return!!(e.userAssertionHash&&t===e.userAssertionHash)}matchEnvironment(e,t){if(this.staticAuthorityOptions){let r=function(e,t){let r,n=e.canonicalAuthority;if(n){let i=new e8(n).getUrlComponents().HostNameAndPort;r=tr(i,e.cloudDiscoveryMetadata?.metadata,l.E_.CONFIG,t)||tr(i,te,l.E_.HARDCODED_VALUES,t)||e.knownAuthorities}return r||[]}(this.staticAuthorityOptions,this.commonLogger);if(r.includes(t)&&r.includes(e.environment))return!0}let r=this.getAuthorityMetadataByAlias(t);return!!(r&&r.aliases.indexOf(e.environment)>-1)}matchCredentialType(e,t){return e.credentialType&&t.toLowerCase()===e.credentialType.toLowerCase()}matchClientId(e,t){return!!(e.clientId&&t===e.clientId)}matchFamilyId(e,t){return!!(e.familyId&&t===e.familyId)}matchRealm(e,t){return e.realm?.toLowerCase()===t.toLowerCase()}matchNativeAccountId(e,t){return!!(e.nativeAccountId&&t===e.nativeAccountId)}matchLoginHintFromTokenClaims(e,t){return e.login_hint===t||e.preferred_username===t||e.upn===t}matchSid(e,t){return e.sid===t}matchAuthorityType(e,t){return!!(e.authorityType&&t.toLowerCase()===e.authorityType.toLowerCase())}matchTarget(e,t){return(e.credentialType===l.aG.ACCESS_TOKEN||e.credentialType===l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME)&&!!e.target&&eJ.fromString(e.target).containsScopeSet(t)}matchTokenType(e,t){return!!(e.tokenType&&e.tokenType===t)}matchKeyId(e,t){return!!(e.keyId&&e.keyId===t)}isAppMetadata(e){return -1!==e.indexOf(l.GU)}isAuthorityMetadata(e){return -1!==e.indexOf(l.u0.CACHE_KEY)}generateAuthorityMetadataCacheKey(e){return`${l.u0.CACHE_KEY}-${this.clientId}-${e}`}static toObject(e,t){for(let r in t)e[r]=t[r];return e}}class tu extends tl{setAccount(){throw ea(er)}getAccount(){throw ea(er)}getCachedAccountEntity(){throw ea(er)}setIdTokenCredential(){throw ea(er)}getIdTokenCredential(){throw ea(er)}setAccessTokenCredential(){throw ea(er)}getAccessTokenCredential(){throw ea(er)}setRefreshTokenCredential(){throw ea(er)}getRefreshTokenCredential(){throw ea(er)}setAppMetadata(){throw ea(er)}getAppMetadata(){throw ea(er)}setServerTelemetry(){throw ea(er)}getServerTelemetry(){throw ea(er)}setAuthorityMetadata(){throw ea(er)}getAuthorityMetadata(){throw ea(er)}getAuthorityMetadataKeys(){throw ea(er)}setThrottlingCache(){throw ea(er)}getThrottlingCache(){throw ea(er)}removeItem(){throw ea(er)}getKeys(){throw ea(er)}getAccountKeys(){throw ea(er)}getTokenKeys(){throw ea(er)}updateCredentialCacheKey(){throw ea(er)}removeOutdatedAccount(){throw ea(er)}}let td={tokenRenewalOffsetSeconds:l.F0,preventCorsPreflight:!1},th={loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:o.Info,correlationId:l.YM.EMPTY_STRING},tg={claimsBasedCachingEnabled:!1},tp={async sendGetRequestAsync(){throw ea(er)},async sendPostRequestAsync(){throw ea(er)}},tm={sku:l.YM.SKU,version:el,cpu:l.YM.EMPTY_STRING,os:l.YM.EMPTY_STRING},tf={clientSecret:l.YM.EMPTY_STRING,clientAssertion:void 0},ty={azureCloudInstance:h,tenant:`${l.YM.DEFAULT_COMMON_TENANT}`},tv={application:{appName:"",appVersion:""}};function tw(e){return e.authOptions.authority.options.protocolMode===d}let tC={sendGetRequestAsync:()=>Promise.reject(ea(er)),sendPostRequestAsync:()=>Promise.reject(ea(er))},t_="acquireTokenByRefreshToken",tI="acquireTokenSilentAsync",tb="silentCacheClientAcquireToken",tT="silentIframeClientAcquireToken",tS="silentRefreshClientAcquireToken",tA="standardInteractionClientGetDiscoveredAuthority",tk="nativeInteractionClientAcquireToken",tE="refreshTokenClientExecutePostToTokenEndpoint",tR="authorizationCodeClientExecutePostToTokenEndpoint",tO="refreshTokenClientExecuteTokenRequest",tM="refreshTokenClientAcquireToken",tP="refreshTokenClientAcquireTokenWithCachedRefreshToken",tN="refreshTokenClientAcquireTokenByRefreshToken",tx="refreshTokenClientCreateTokenRequestBody",tL="acquireTokenFromCache",tU="silentFlowClientAcquireCachedToken",tD="silentFlowClientGenerateResultFromCacheRecord",tq="acquireTokenBySilentIframe",tH="initializeBaseRequest",tB="initializeSilentRequest",tF="silentIframeClientTokenHelper",tK="silentHandlerInitiateAuthRequest",t$="silentHandlerMonitorIframeForHash",tj="silentHandlerLoadFrame",tz="standardInteractionClientCreateAuthCodeClient",tG="standardInteractionClientGetClientConfiguration",tY="standardInteractionClientInitializeAuthorizationRequest",tW="standardInteractionClientInitializeAuthorizationCodeRequest",tZ="getAuthCodeUrl",tV="handleCodeResponseFromServer",tQ="handleCodeResponse",tJ="updateTokenEndpointAuthority",tX="authClientAcquireToken",t0="authClientExecuteTokenRequest",t1="authClientCreateTokenRequestBody",t2="authClientCreateQueryString",t6="popTokenGenerateCnf",t4="handleServerTokenResponse",t3="deserializeResponse",t5="authorityFactoryCreateDiscoveredInstance",t9="authorityResolveEndpointsAsync",t8="authorityGetCloudDiscoveryMetadataFromNetwork",t7="authorityUpdateCloudDiscoveryMetadata",re="authorityGetEndpointMetadataFromNetwork",rt="authorityUpdateEndpointMetadata",rr="authorityUpdateMetadataWithRegionalInformation",rn="regionDiscoveryDetectRegion",ri="regionDiscoveryGetRegionFromIMDS",ro="regionDiscoveryGetCurrentVersion",ra="clearTokensAndKeysWithClaims",rs="generatePkceCodes",rc="generateCodeChallengeFromVerifier",rl="sha256Digest";class ru{startMeasurement(){}endMeasurement(){}flushMeasurement(){return null}}class rd{generateId(){return"callback-id"}startMeasurement(e,t){return{end:()=>null,discard:()=>{},add:()=>{},increment:()=>{},event:{eventId:this.generateId(),status:1,authority:"",libraryName:"",libraryVersion:"",clientId:"",name:e,startTimeMs:Date.now(),correlationId:t||""},measurement:new ru}}startPerformanceMeasurement(){return new ru}calculateQueuedTime(){return 0}addQueueMeasurement(){}setPreQueueTime(){}endMeasurement(){return null}discardMeasurements(){}removePerformanceCallback(){return!0}addPerformanceCallback(){return""}emitEvents(){}addFields(){}incrementFields(){}cacheEventByCorrelationId(){}}let rh="invalid_grant",rg="msal",rp="msal.js.browser",rm="53ee284d-920a-4b59-9d30-a60315b26836",rf="ppnbnpeolgkicgegkbkbjmhlideopiji",ry="Handshake",rv="GetToken",rw="localStorage",rC="sessionStorage",r_="memoryStorage",rI="request.state",rb="request.origin",rT="urlHash",rS="request.params",rA="interaction.status",rk="ccs.credential",rE="request.correlationId",rR="request.native",rO="msal.account.keys",rM="msal.token.keys",rP="msal.version",rN="wrapper.sku",rx="wrapper.version";(i=a||(a={})).Redirect="redirect",i.Popup="popup",i.Silent="silent",i.None="none";let rL={scopes:l.aZ},rU="msal.db",rD=`${rU}.keys`,rq=[0,5,4];class rH{navigateInternal(e,t){return rH.defaultNavigateWindow(e,t)}navigateExternal(e,t){return rH.defaultNavigateWindow(e,t)}static defaultNavigateWindow(e,t){return t.noHistory?window.location.replace(e):window.location.assign(e),new Promise(e=>{setTimeout(()=>{e(!0)},t.timeout)})}}class rB extends g.lR{constructor(e,t,r){super(e.errorCode,e.errorMessage,e.subError),Object.setPrototypeOf(this,rB.prototype),this.name="NetworkError",this.error=e,this.httpStatus=t,this.responseHeaders=r}}let rF="pkce_not_created",rK="crypto_nonexistent",r$="empty_navigate_uri",rj="hash_empty_error",rz="no_state_in_hash",rG="hash_does_not_contain_known_properties",rY="unable_to_parse_state",rW="state_interaction_type_mismatch",rZ="interaction_in_progress",rV="popup_window_error",rQ="empty_window_error",rJ="user_cancelled",rX="monitor_popup_timeout",r0="monitor_window_timeout",r1="redirect_in_iframe",r2="block_iframe_reload",r6="block_nested_popups",r4="iframe_closed_prematurely",r3="silent_logout_unsupported",r5="no_account_error",r9="silent_prompt_value_error",r8="no_token_request_cache_error",r7="unable_to_parse_token_request_cache_error",ne="no_cached_authority_error",nt="auth_request_not_set_error",nr="invalid_cache_type",nn="non_browser_environment",ni="database_not_open",no="no_network_connectivity",na="post_request_failed",ns="get_request_failed",nc="failed_to_parse_response",nl="unable_to_load_token",nu="crypto_key_not_found",nd="auth_code_required",nh="auth_code_or_nativeAccountId_required",ng="spa_code_and_nativeAccountId_present",np="database_unavailable",nm="unable_to_acquire_token_from_native_platform",nf="native_handshake_timeout",ny="native_extension_not_installed",nv="native_connection_not_established",nw="uninitialized_public_client_application",nC="native_prompt_not_supported",n_="invalid_base64_string",nI="invalid_pop_token_request",nb="failed_to_build_headers",nT="failed_to_parse_headers",nS="For more visit: aka.ms/msaljs/browser-errors",nA={[rF]:"The PKCE code challenge and verifier could not be generated.",[rK]:"The crypto object or function is not available.",[r$]:"Navigation URI is empty. Please check stack trace for more info.",[rj]:`Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. ${nS}`,[rz]:"Hash does not contain state. Please verify that the request originated from msal.",[rG]:`Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. ${nS}`,[rY]:"Unable to parse state. Please verify that the request originated from msal.",[rW]:"Hash contains state but the interaction type does not match the caller.",[rZ]:`Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. ${nS}`,[rV]:"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.",[rQ]:"window.open returned null or undefined window object.",[rJ]:"User cancelled the flow.",[rX]:`Token acquisition in popup failed due to timeout. ${nS}`,[r0]:`Token acquisition in iframe failed due to timeout. ${nS}
1`,[r1]:"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.",[r2]:`Request was blocked inside an iframe because MSAL detected an authentication response. ${nS}`,[r6]:"Request was blocked inside a popup because MSAL detected it was running in a popup.",[r4]:"The iframe being monitored was closed prematurely.",[r3]:"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.",[r5]:"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.",[r9]:"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.",[r8]:"No token request found in cache.",[r7]:"The cached token request could not be parsed.",[ne]:"No cached authority found.",[nt]:"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler",[nr]:"Invalid cache type",[nn]:"Login and token requests are not supported in non-browser environments.",[ni]:"Database is not open!",[no]:"No network connectivity. Check your internet connection.",[na]:"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'",[ns]:"Network request failed. Please check the network trace to determine root cause.",[nc]:"Failed to parse network response. Check network trace.",[nl]:"Error loading token to cache.",[nu]:"Cryptographic Key or Keypair not found in browser storage.",[nd]:"An authorization code must be provided (as the `code` property on the request) to this flow.",[nh]:"An authorization code or nativeAccountId must be provided to this flow.",[ng]:"Request cannot contain both spa code and native account id.",[np]:"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.",[nm]:`Unable to acquire token from native platform. ${nS}`,[nf]:"Timed out while attempting to establish connection to browser extension",[ny]:"Native extension is not installed. If you think this is a mistake call the initialize function.",[nv]:`Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). ${nS}`,[nw]:`You must call and await the initialize function before attempting to call any other MSAL API. ${nS}`,[nC]:"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.",[n_]:"Invalid base64 encoded string.",[nI]:"Invalid PoP token request. The request should not have both a popKid value and signPopToken set to true.",[nb]:"Failed to build request headers object.",[nT]:"Failed to parse response headers"};nA[rF],nA[rK],nA[r$],nA[rj],nA[rz],nA[rG],nA[rY],nA[rW],nA[rZ],nA[rV],nA[rQ],nA[rJ],nA[rX],nA[r0],nA[r1],nA[r2],nA[r6],nA[r4],nA[r3],nA[r5],nA[r9],nA[r8],nA[r7],nA[ne],nA[nt],nA[nr],nA[nn],nA[ni],nA[no],nA[na],nA[ns],nA[nc],nA[nl],nA[nu],nA[nd],nA[nh],nA[ng],nA[np],nA[nm],nA[nf],nA[ny],nA[nv],nA[nw],nA[nC],nA[n_],nA[nI];class nk extends g.lR{constructor(e,t){super(e,nA[e],t),Object.setPrototypeOf(this,nk.prototype),this.name="BrowserAuthError"}}function nE(e,t){return new nk(e,t)}class nR{async sendGetRequestAsync(e,t){let r,n={},i=0,o=nO(t);try{r=await fetch(e,{method:"GET",headers:o})}catch(e){throw nE(window.navigator.onLine?ns:no)}n=nM(r.headers);try{return i=r.status,{headers:n,body:await r.json(),status:i}}catch(e){throw new rB(nE(nc),i,n)}}async sendPostRequestAsync(e,t){let r,n=t&&t.body||"",i=nO(t),o=0,a={};try{r=await fetch(e,{method:"POST",headers:i,body:n})}catch(e){throw nE(window.navigator.onLine?na:no)}a=nM(r.headers);try{return o=r.status,{headers:a,body:await r.json(),status:o}}catch(e){throw new rB(nE(nc),o,a)}}}function nO(e){try{let t=new Headers;if(!(e&&e.headers))return t;let r=e.headers;return Object.entries(r).forEach(([e,r])=>{t.append(e,r)}),t}catch(e){throw nE(nb)}}function nM(e){try{let t={};return e.forEach((e,r)=>{t[r]=e}),t}catch(e){throw nE(nT)}}function nP(e){return encodeURIComponent(nx(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"))}function nN(e){return nL(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function nx(e){return nL(new TextEncoder().encode(e))}function nL(e){return btoa(Array.from(e,e=>String.fromCodePoint(e)).join(""))}
1let nU="SHA-256",nD=new Uint8Array([1,0,1]),nq="0123456789abcdef",nH=new Uint32Array(1),nB={name:"RSASSA-PKCS1-v1_5",hash:nU,modulusLength:2048,publicExponent:nD};async function nF(e,t,r){t?.addQueueMeasurement(rl,r);let n=new TextEncoder().encode(e);return window.crypto.subtle.digest(nU,n)}function nK(e){return window.crypto.getRandomValues(e)}function n$(){return window.crypto.getRandomValues(nH),nH[0]}function nj(){let e=Date.now(),t=1024*n$()+(1023&n$()),r=new Uint8Array(16),n=Math.trunc(t/0x40000000),i=t&0x40000000-1,o=n$();r[0]=e/0x10000000000,r[1]=e/0x100000000,r[2]=e/0x1000000,r[3]=e/65536,r[4]=e/256,r[5]=e,r[6]=112|n>>>8,r[7]=n,r[8]=128|i>>>24,r[9]=i>>>16,r[10]=i>>>8,r[11]=i,r[12]=o>>>24,r[13]=o>>>16,r[14]=o>>>8,r[15]=o;let a="";for(let e=0;e<r.length;e++)a+=nq.charAt(r[e]>>>4),a+=nq.charAt(15&r[e]),(3===e||5===e||7===e||9===e)&&(a+="-");return a}async function nz(e,t){return window.crypto.subtle.generateKey(nB,e,t)}async function nG(e){return window.crypto.subtle.exportKey("jwk",e)}async function nY(e,t,r){return window.crypto.subtle.importKey("jwk",e,nB,t,r)}async function nW(e,t){return window.crypto.subtle.sign(nB,e,t)}async function nZ(e){return nN(new Uint8Array(await nF(e)))}let nV="storage_not_supported",nQ="stubbed_public_client_application_called",nJ="in_mem_redirect_unavailable",nX={[nV]:"Given storage configuration option was not supported.",[nQ]:"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors",[nJ]:"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true."};nX[nV],nX[nQ],nX[nJ];class n0 extends g.lR{constructor(e,t){super(e,t),this.name="BrowserConfigurationAuthError",Object.setPrototypeOf(this,n0.prototype)}}function n1(e){return new n0(e,nX[e])}function n2(){return window.parent!==window}function n6(){return"u">typeof window&&window.location?window.location.href.split("?")[0].split("#")[0]:""}function n4(){if("u"<typeof window)throw nE(nn)}function n3(e){if(!e)throw nE(nw)}function n5(e){if(n4(),e8.hashContainsKnownProperties(window.location.hash)&&n2())throw nE(r2);if("u">typeof window&&window.opener&&window.opener!==window&&"string"==typeof window.name&&0===window.name.indexOf(`${rg}.`))throw nE(r6);n3(e)}function n9(e,t){n5(e);var r=t.system.allowRedirectInIframe;if(n2()&&!r)throw nE(r1);if(t.cache.cacheLocation===r_&&!t.cache.storeAuthStateInCookie)throw n1(nJ)}function n8(e){let t=document.createElement("link");t.rel="preconnect",t.href=new URL(e).origin,t.crossOrigin="anonymous",document.head.appendChild(t),window.setTimeout(()=>{try{document.head.removeChild(t)}catch{}},1e4)}let n7="3.30.0";class ie{static loggerCallback(e,t){switch(e){case o.Error:console.error(t);return;case o.Info:console.info(t);return;case o.Verbose:console.debug(t);return;case o.Warning:console.warn(t);return;default:console.log(t);return}}constructor(e){let t;this.browserEnvironment="u">typeof window,this.config=function({auth:e,cache:t,system:r,telemetry:n},i){let a={clientId:l.YM.EMPTY_STRING,authority:`${l.YM.DEFAULT_AUTHORITY}`,knownAuthorities:[],cloudDiscoveryMetadata:l.YM.EMPTY_STRING,authorityMetadata:l.YM.EMPTY_STRING,redirectUri:"u">typeof window?n6():"",postLogoutRedirectUri:l.YM.EMPTY_STRING,navigateToLoginRequestUrl:!0,clientCapabilities:[],protocolMode:"AAD",OIDCOptions:{serverResponseType:l.zL.FRAGMENT,defaultScopes:[l.YM.OPENID_SCOPE,l.YM.PROFILE_SCOPE,l.YM.OFFLINE_ACCESS_SCOPE]},azureCloudOptions:{azureCloudInstance:h,tenant:l.YM.EMPTY_STRING},skipAuthorityMetadataCache:!1,supportsNestedAppAuth:!1,instanceAware:!1},s={cacheLocation:rC,temporaryCacheLocation:rC,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!!t&&t.cacheLocation===rw,claimsBasedCachingEnabled:!1},c={loggerCallback:()=>{},logLevel:o.Info,piiLoggingEnabled:!1},g={...{...td,loggerOptions:c,networkClient:i?new nR:tC,navigationClient:new rH,loadFrameTimeout:0,windowHashTimeout:r?.loadFrameTimeout||6e4,iframeHashTimeout:r?.loadFrameTimeout||1e4,navigateFrameWait:0,redirectNavigationTimeout:3e4,asyncPopups:!1,allowRedirectInIframe:!1,allowNativeBroker:!1,nativeBrokerHandshakeTimeout:r?.nativeBrokerHandshakeTimeout||2e3,pollIntervalMilliseconds:30},...r,loggerOptions:r?.loggerOptions||c},p={application:{appName:l.YM.EMPTY_STRING,appVersion:l.YM.EMPTY_STRING},client:new rd};if(e?.protocolMode!==d&&e?.OIDCOptions&&new u(g.loggerOptions).warning(JSON.stringify(eV(ez))),e?.protocolMode&&"AAD"!==e.protocolMode&&g?.allowNativeBroker)throw eV(eG);return{auth:{...a,...e,OIDCOptions:{...a.OIDCOptions,...e?.OIDCOptions}},cache:{...s,...t},system:g,telemetry:{...p,...n}}}(e,this.browserEnvironment);try{t=window[rC]}catch(e){}const r=t?.getItem("msal.browser.log.level"),n=t?.getItem("msal.browser.log.pii")?.toLowerCase(),i="true"===n||"false"!==n&&void 0,a={...this.config.system.loggerOptions},s=r&&Object.keys(o).includes(r)?o[r]:void 0;s&&(a.loggerCallback=ie.loggerCallback,a.logLevel=s),void 0!==i&&(a.piiLoggingEnabled=i),this.logger=new u(a,"@azure/msal-browser",n7),this.available=!1}getConfig(){return this.config}getLogger(){return this.logger}isAvailable(){return this.available}isBrowserEnvironment(){return this.browserEnvironment}}class it extends ie{getModuleName(){return it.MODULE_NAME}getId(){return it.ID}async initialize(){return this.available="u">typeof window,this.available}}it.MODULE_NAME="",it.ID="StandardOperatingContext";let ir="missing_kid_error",ii="missing_alg_error",io={[ir]:"The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.",[ii]:"The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided."};class ia extends g.lR{constructor(e,t){super(e,t),this.name="JoseHeaderError",Object.setPrototypeOf(this,ia.prototype)}}function is(e){return new ia(e,io[e])}class ic{constructor(e){this.typ=e.typ,this.alg=e.alg,this.kid=e.kid}static getShrHeaderString(e){if(!e.kid)throw is(ir);if(!e.alg)throw is(ii);return JSON.stringify(new ic({typ:e.typ||l.Lz.Pop,kid:e.kid,alg:e.alg}))}}function il(e){return new TextDecoder().decode(function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw nE(n_)}let r=atob(t);return Uint8Array.from(r,e=>e.codePointAt(0)||0)}(e))}class iu{constructor(){this.dbName=rU,this.version=1,this.tableName=rD,this.dbOpen=!1}async open(){return new Promise((e,t)=>
1{let r=window.indexedDB.open(this.dbName,this.version);r.addEventListener("upgradeneeded",e=>{e.target.result.createObjectStore(this.tableName)}),r.addEventListener("success",t=>{this.db=t.target.result,this.dbOpen=!0,e()}),r.addEventListener("error",()=>t(nE(np)))})}closeConnection(){let e=this.db;e&&this.dbOpen&&(e.close(),this.dbOpen=!1)}async validateDbIsOpen(){if(!this.dbOpen)return this.open()}async getItem(e){return await this.validateDbIsOpen(),new Promise((t,r)=>{if(!this.db)return r(nE(ni));let n=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).get(e);n.addEventListener("success",e=>{this.closeConnection(),t(e.target.result)}),n.addEventListener("error",e=>{this.closeConnection(),r(e)})})}async setItem(e,t){return await this.validateDbIsOpen(),new Promise((r,n)=>{if(!this.db)return n(nE(ni));let i=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).put(t,e);i.addEventListener("success",()=>{this.closeConnection(),r()}),i.addEventListener("error",e=>{this.closeConnection(),n(e)})})}async removeItem(e){return await this.validateDbIsOpen(),new Promise((t,r)=>{if(!this.db)return r(nE(ni));let n=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).delete(e);n.addEventListener("success",()=>{this.closeConnection(),t()}),n.addEventListener("error",e=>{this.closeConnection(),r(e)})})}async getKeys(){return await this.validateDbIsOpen(),new Promise((e,t)=>{if(!this.db)return t(nE(ni));let r=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).getAllKeys();r.addEventListener("success",t=>{this.closeConnection(),e(t.target.result)}),r.addEventListener("error",e=>{this.closeConnection(),t(e)})})}async containsKey(e){return await this.validateDbIsOpen(),new Promise((t,r)=>{if(!this.db)return r(nE(ni));let n=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).count(e);n.addEventListener("success",e=>{this.closeConnection(),t(1===e.target.result)}),n.addEventListener("error",e=>{this.closeConnection(),r(e)})})}async deleteDatabase(){return this.db&&this.dbOpen&&this.closeConnection(),new Promise((e,t)=>{let r=window.indexedDB.deleteDatabase(rU),n=setTimeout(()=>t(!1),200);r.addEventListener("success",()=>(clearTimeout(n),e(!0))),r.addEventListener("blocked",()=>(clearTimeout(n),e(!0))),r.addEventListener("error",()=>(clearTimeout(n),t(!1)))})}}class id{constructor(){this.cache=new Map}getItem(e){return this.cache.get(e)||null}setItem(e,t){this.cache.set(e,t)}removeItem(e){this.cache.delete(e)}getKeys(){let e=[];return this.cache.forEach((t,r)=>{e.push(r)}),e}containsKey(e){return this.cache.has(e)}clear(){this.cache.clear()}}class ih{constructor(e){this.inMemoryCache=new id,this.indexedDBCache=new iu,this.logger=e}handleDatabaseAccessError(e){if(e instanceof nk&&e.errorCode===np)this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.");else throw e}async getItem(e){let t=this.inMemoryCache.getItem(e);if(!t)try{return this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.getItem(e)}catch(e){this.handleDatabaseAccessError(e)}return t}async setItem(e,t){this.inMemoryCache.setItem(e,t);try{await this.indexedDBCache.setItem(e,t)}catch(e){this.handleDatabaseAccessError(e)}}async removeItem(e){this.inMemoryCache.removeItem(e);try{await this.indexedDBCache.removeItem(e)}catch(e){this.handleDatabaseAccessError(e)}}async getKeys(){let e=this.inMemoryCache.getKeys();if(0===e.length)try{return this.logger.verbose("In-memory cache is empty, now querying persistent storage."),await this.indexedDBCache.getKeys()}catch(e){this.handleDatabaseAccessError(e)}return e}async containsKey(e){let t=this.inMemoryCache.containsKey(e);if(!t)try{return this.logger.verbose("Key not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.containsKey(e)}catch(e){this.handleDatabaseAccessError(e)}return t}clearInMemory(){this.logger.verbose("Deleting in-memory keystore"),this.inMemoryCache.clear(),this.logger.verbose("In-memory keystore deleted")}
1async clearPersistent(){try{this.logger.verbose("Deleting persistent keystore");let e=await this.indexedDBCache.deleteDatabase();return e&&this.logger.verbose("Persistent keystore deleted"),e}catch(e){return this.handleDatabaseAccessError(e),!1}}}class ig{constructor(e,t,r){this.logger=e,function(e){if(!window)throw nE(nn);if(!window.crypto)throw nE(rK);if(!e&&!window.crypto.subtle)throw nE(rK,"crypto_subtle_undefined")}(r??!1),this.cache=new ih(this.logger),this.performanceClient=t}createNewGuid(){return nj()}base64Encode(e){return nx(e)}base64Decode(e){return il(e)}base64UrlEncode(e){return nP(e)}encodeKid(e){return this.base64UrlEncode(JSON.stringify({kid:e}))}async getPublicKeyThumbprint(e){let t=this.performanceClient?.startMeasurement("cryptoOptsGetPublicKeyThumbprint",e.correlationId),r=await nz(ig.EXTRACTABLE,ig.POP_KEY_USAGES),n=await nG(r.publicKey),i=ip({e:n.e,kty:n.kty,n:n.n}),o=await this.hashString(i),a=await nG(r.privateKey),s=await nY(a,!1,["sign"]);return await this.cache.setItem(o,{privateKey:s,publicKey:r.publicKey,requestMethod:e.resourceRequestMethod,requestUri:e.resourceRequestUri}),t&&t.end({success:!0}),o}async removeTokenBindingKey(e){return await this.cache.removeItem(e),!await this.cache.containsKey(e)}async clearKeystore(){this.cache.clearInMemory();try{return await this.cache.clearPersistent(),!0}catch(e){return e instanceof Error?this.logger.error(`Clearing keystore failed with error: ${e.message}`):this.logger.error("Clearing keystore failed with unknown error"),!1}}async signJwt(e,t,r,n){let i=this.performanceClient?.startMeasurement("cryptoOptsSignJwt",n),o=await this.cache.getItem(t);if(!o)throw nE(nu);let a=await nG(o.publicKey),s=ip(a),c=nP(JSON.stringify({kid:t})),l=nP(ic.getShrHeaderString({...r?.header,alg:a.alg,kid:c}));e.cnf={jwk:JSON.parse(s)};let u=nP(JSON.stringify(e)),d=`${l}.${u}`,h=new TextEncoder().encode(d),g=nN(new Uint8Array(await nW(o.privateKey,h))),p=`${d}.${g}`;return i&&i.end({success:!0}),p}async hashString(e){return nZ(e)}}function ip(e){return JSON.stringify(e,Object.keys(e).sort())}ig.POP_KEY_USAGES=["sign","verify"],ig.EXTRACTABLE=!0;let im=(e,t,r,n,i)=>(...o)=>{r.trace(`Executing function ${t}`);let a=n?.startMeasurement(t,i);i&&n?.incrementFields({[t+"CallCount"]:1},i);try{let n=e(...o);return a?.end({success:!0}),r.trace(`Returning result from ${t}`),n}catch(e){r.trace(`Error occurred in ${t}`);try{r.trace(JSON.stringify(e))}catch(e){r.trace("Unable to print error message.")}throw a?.end({success:!1},e),e}},iy=(e,t,r,n,i)=>(...o)=>{r.trace(`Executing function ${t}`);let a=n?.startMeasurement(t,i);return i&&n?.incrementFields({[t+"CallCount"]:1},i),n?.setPreQueueTime(t,i),e(...o).then(e=>(r.trace(`Returning result from ${t}`),a?.end({success:!0}),e)).catch(e=>{r.trace(`Error occurred in ${t}`);try{r.trace(JSON.stringify(e))}catch(e){r.trace("Unable to print error message.")}throw a?.end({success:!1},e),e})};class iv{constructor(e,t,r,n){this.networkInterface=e,this.logger=t,this.performanceClient=r,this.correlationId=n}async detectRegion(e,t){this.performanceClient?.addQueueMeasurement(rn,this.correlationId);let r=e;if(r)t.region_source=l.jZ.ENVIRONMENT_VARIABLE;else{let e=iv.IMDS_OPTIONS;try{let n=await iy(this.getRegionFromIMDS.bind(this),ri,this.logger,this.performanceClient,this.correlationId)(l.YM.IMDS_VERSION,e);if(n.status===l.Kk.httpSuccess&&(r=n.body,t.region_source=l.jZ.IMDS),n.status===l.Kk.httpBadRequest){let n=await iy(this.getCurrentVersion.bind(this),ro,this.logger,this.performanceClient,this.correlationId)(e);if(!n)return t.region_source=l.jZ.FAILED_AUTO_DETECTION,null;let i=await iy(this.getRegionFromIMDS.bind(this),ri,this.logger,this.performanceClient,this.correlationId)(n,e);i.status===l.Kk.httpSuccess&&(r=i.body,t.region_source=l.jZ.IMDS)}}catch(e){return t.region_source=l.jZ.FAILED_AUTO_DETECTION,null}}return r||(t.region_source=l.jZ.FAILED_AUTO_DETECTION),r||null}async getRegionFromIMDS(e,t){return this.performanceClient?.addQueueMeasurement(ri,this.correlationId),this.networkInterface.sendGetRequestAsync(`${l.YM.IMDS_ENDPOINT}?api-version=${e}&format=text`,t,l.YM.IMDS_TIMEOUT)}async getCurrentVersion(e){this.performanceClient?.addQueueMeasurement(ro,this.correlationId);try{let t=await this.networkInterface.sendGetRequestAsync(`${l.YM.IMDS_ENDPOINT}?format=json`,e);if(t.status===l.Kk.httpBadRequest&&t.body&&t.body["newest-versions"]&&t.body["newest-versions"].length>0)return t.body["newest-versions"][0];return null}catch(e){return null}}}iv.IMDS_OPTIONS={headers:{Metadata:"true"}};class iw{constructor(e,t,r,n,i,o,a,s){this.canonicalAuthority=e,this._canonicalAuthority.val
1idateAsUri(),this.networkInterface=t,this.cacheManager=r,this.authorityOptions=n,this.regionDiscoveryMetadata={region_used:void 0,region_source:void 0,region_outcome:void 0},this.logger=i,this.performanceClient=a,this.correlationId=o,this.managedIdentity=s||!1,this.regionDiscovery=new iv(t,this.logger,this.performanceClient,this.correlationId)}getAuthorityType(e){if(e.HostNameAndPort.endsWith(l.YM.CIAM_AUTH_URL))return 3;let t=e.PathSegments;if(t.length)switch(t[0].toLowerCase()){case l.YM.ADFS:return 1;case l.YM.DSTS:return 2}return 0}get authorityType(){return this.getAuthorityType(this.canonicalAuthorityUrlComponents)}get protocolMode(){return this.authorityOptions.protocolMode}get options(){return this.authorityOptions}get canonicalAuthority(){return this._canonicalAuthority.urlString}set canonicalAuthority(e){this._canonicalAuthority=new e8(e),this._canonicalAuthority.validateAsUri(),this._canonicalAuthorityUrlComponents=null}get canonicalAuthorityUrlComponents(){return this._canonicalAuthorityUrlComponents||(this._canonicalAuthorityUrlComponents=this._canonicalAuthority.getUrlComponents()),this._canonicalAuthorityUrlComponents}get hostnameAndPort(){return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase()}get tenant(){return this.canonicalAuthorityUrlComponents.PathSegments[0]}get authorizationEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.authorization_endpoint);throw ea(v)}get tokenEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint);throw ea(v)}get deviceCodeEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint.replace("/token","/devicecode"));throw ea(v)}get endSessionEndpoint(){if(this.discoveryComplete()){if(!this.metadata.end_session_endpoint)throw ea(Q);return this.replacePath(this.metadata.end_session_endpoint)}throw ea(v)}get selfSignedJwtAudience(){if(this.discoveryComplete())return this.replacePath(this.metadata.issuer);throw ea(v)}get jwksUri(){if(this.discoveryComplete())return this.replacePath(this.metadata.jwks_uri);throw ea(v)}canReplaceTenant(e){return 1===e.PathSegments.length&&!iw.reservedTenantDomains.has(e.PathSegments[0])&&0===this.getAuthorityType(e)&&"AAD"===this.protocolMode}replaceTenant(e){return e.replace(/{tenant}|{tenantid}/g,this.tenant)}replacePath(e){let t=e,r=new e8(this.metadata.canonical_authority).getUrlComponents(),n=r.PathSegments;return this.canonicalAuthorityUrlComponents.PathSegments.forEach((e,i)=>{let o=n[i];if(0===i&&this.canReplaceTenant(r)){let e=new e8(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];o!==e&&(this.logger.verbose(`Replacing tenant domain name ${o} with id ${e}`),o=e)}e!==o&&(t=t.replace(`/${o}/`,`/${e}/`))}),this.replaceTenant(t)}get defaultOpenIdConfigurationEndpoint(){let e=this.hostnameAndPort;return this.canonicalAuthority.endsWith("v2.0/")||1===this.authorityType||"AAD"!==this.protocolMode&&!this.isAliasOfKnownMicrosoftAuthority(e)?`${this.canonicalAuthority}.well-known/openid-configuration`:`${this.canonicalAuthority}v2.0/.well-known/openid-configuration`}discoveryComplete(){return!!this.metadata}async resolveEndpointsAsync(){this.performanceClient?.addQueueMeasurement(t9,this.correlationId);let e=this.getCurrentMetadataEntity(),t=await iy(this.updateCloudDiscoveryMetadata.bind(this),t7,this.logger,this.performanceClient,this.correlationId)(e);this.canonicalAuthority=this.canonicalAuthority.replace(this.hostnameAndPort,e.preferred_network);let r=await iy(this.updateEndpointMetadata.bind(this),rt,this.logger,this.performanceClient,this.correlationId)(e);this.updateCachedMetadata(e,t,{source:r}),this.performanceClient?.addFields({cloudDiscoverySource:t,authorityEndpointSource:r},this.correlationId)}getCurrentMetadataEntity(){let e=this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);return e||(e={aliases:[],preferred_cache:this.hostnameAndPort,preferred_network:this.hostnameAndPort,canonical_authority:this.canonicalAuthority,authorization_endpoint:"",token_endpoint:"",end_session_endpoint:"",issuer:"",aliasesFromNetwork:!1,endpointsFromNetwork:!1,expiresAt:eI(),jwks_uri:""}),e}updateCachedMetadata(e,t,r){t!==l.E_.CACHE&&r?.source!==l.E_.CACHE&&(e.expiresAt=eI(),e.canonical_authority=this.canonicalAuthority);let n=this.cacheManager.generateAuthorityMetadataCacheKey(e.preferred_cache);this.cacheManager.setAuthorityMetadata(n,e),this.metadata=e}async updateEndpointMetadata(e){this.performanceClient?.addQueueMeasurement(rt,this.correlationId);let t=this.updateEndpointMetadataFromLocalSources(e);if(t)return t.source===l.E_.HARDCODED_VALUES&&this.authorityOptions.azureRegionConfiguration?.azureRegion&&t.metadata&&(eb(e,await iy(this.updateMetadataWithRegionalInformation.bind(this),rr,this.logger,this.performanceClient,this.correlationId)(t.metadata),!1),e.canonical_authority=this.canonicalAuthority),t.source;let r=await iy(this.getEndpointMetadataFromNetwork.bind(this),re,this.logger,this.performanceClient,this.correlationId)();if(r)return this.authorityOptions.azureRegionConfiguration?.azureRegion&&(r=await iy(this.updateMetadataWithRegionalInformation.bind(this),rr,this.logger,this.performanceClient,this.correlationId)(r)),eb(e,r,!0),l.E_.NETWORK;throw ea(C,this.defaultOpenIdConfigurationEndpoint)}updateEndpointMetadataFromLocalSources(e){this.logger.verbose("Attempting to get endpoint metadata from authority configuration");let t=this.getEndpointMetadataFromConfig();if(t)return this.logger.verbose("Found endpoint metadata in authority configuration"),eb(e,t,!1),{source:l.E_.CONFIG};if(this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values."),this.authorityOptions.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");else{let t=this.getEndpointMetadataFromHardcodedValues();if(t)return eb(e,t,!1),{source:l.E_.HARDCODED_VALUES,metadata:t};this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.")}let r=eS(e);return this.isAuthoritySameType(e)&&e.endpointsFromNetwork&&!r?(this.logger.verbose("Found endpoint metadata in the cache."),{source:l.E_.CACHE}):(r&&this.logger.verbose("The metadata entity is expired."),null)}isAuthoritySameType(e){return new e8(e.canonical_authority).getUrlComponents().PathSegments.length===this.canonicalAuthorityUrlComponents.PathSegments.length}getEndpointMetadataFromConfig(){if(this.authorityOptions.authorityMetadata)try{return JSON.parse(this.authorityOptions.authorityMetadata)}
1catch(e){throw eV(eH)}return null}async getEndpointMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(re,this.correlationId);let e=this.defaultOpenIdConfigurationEndpoint;this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from ${e}`);try{var t;let r=await this.networkInterface.sendGetRequestAsync(e,{});if((t=r.body).hasOwnProperty("authorization_endpoint")&&t.hasOwnProperty("token_endpoint")&&t.hasOwnProperty("issuer")&&t.hasOwnProperty("jwks_uri"))return r.body;return this.logger.verbose("Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration"),null}catch(e){return this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${e}`),null}}getEndpointMetadataFromHardcodedValues(){return this.hostnameAndPort in e7?e7[this.hostnameAndPort]:null}async updateMetadataWithRegionalInformation(e){this.performanceClient?.addQueueMeasurement(rr,this.correlationId);let t=this.authorityOptions.azureRegionConfiguration?.azureRegion;if(t){if(t!==l.YM.AZURE_REGION_AUTO_DISCOVER_FLAG)return this.regionDiscoveryMetadata.region_outcome=l._2.CONFIGURED_NO_AUTO_DETECTION,this.regionDiscoveryMetadata.region_used=t,iw.replaceWithRegionalInformation(e,t);let r=await iy(this.regionDiscovery.detectRegion.bind(this.regionDiscovery),rn,this.logger,this.performanceClient,this.correlationId)(this.authorityOptions.azureRegionConfiguration?.environmentRegion,this.regionDiscoveryMetadata);if(r)return this.regionDiscoveryMetadata.region_outcome=l._2.AUTO_DETECTION_REQUESTED_SUCCESSFUL,this.regionDiscoveryMetadata.region_used=r,iw.replaceWithRegionalInformation(e,r);this.regionDiscoveryMetadata.region_outcome=l._2.AUTO_DETECTION_REQUESTED_FAILED}return e}async updateCloudDiscoveryMetadata(e){this.performanceClient?.addQueueMeasurement(t7,this.correlationId);let t=this.updateCloudDiscoveryMetadataFromLocalSources(e);if(t)return t;let r=await iy(this.getCloudDiscoveryMetadataFromNetwork.bind(this),t8,this.logger,this.performanceClient,this.correlationId)();if(r)return eT(e,r,!0),l.E_.NETWORK;throw eV(eB)}updateCloudDiscoveryMetadataFromLocalSources(e){this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration"),this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities||l.YM.NOT_APPLICABLE}`),this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata||l.YM.NOT_APPLICABLE}`),this.logger.verbosePii(`Canonical Authority: ${e.canonical_authority||l.YM.NOT_APPLICABLE}`);let t=this.getCloudDiscoveryMetadataFromConfig();if(t)return this.logger.verbose("Found cloud discovery metadata in authority configuration"),eT(e,t,!1),l.E_.CONFIG;if(this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values."),this.options.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded cloud discovery metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get cloud discovery metadata from the network metadata cache.");else{var r;let t=(r=this.hostnameAndPort,tn(te,r));if(t)return this.logger.verbose("Found cloud discovery metadata from hardcoded values."),eT(e,t,!1),l.E_.HARDCODED_VALUES;this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.")}let n=eS(e);return this.isAuthoritySameType(e)&&e.aliasesFromNetwork&&!n?(this.logger.verbose("Found cloud discovery metadata in the cache."),l.E_.CACHE):(n&&this.logger.verbose("The metadata entity is expired."),null)}getCloudDiscoveryMetadataFromConfig(){if(3===this.authorityType)return this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host."),iw.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);if(this.authorityOptions.cloudDiscoveryMetadata){this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.");try{this.logger.verbose("Attempting to parse the cloud discovery metadata.");let e=JSON.parse(this.authorityOptions.cloudDiscoveryMetadata),t=tn(e.metadata,this.hostnameAndPort);if(this.logger.verbose("Parsed the cloud discovery metadata."),t)return this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata."),t;this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.")}catch(e){throw this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error."),eV(eq)}}return this.isInKnownAuthorities()?(this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host."),iw.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)):null}async getCloudDiscoveryMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(t8,this.correlationId);let e=`${l.YM.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`,t=null;try{var r,n;let i,o,a=await this.networkInterface.sendGetRequestAsync(e,{});if((r=a.body).hasOwnProperty("tenant_discovery_endpoint")&&r.hasOwnProperty("metadata"))o=(i=a.body).metadata,this.logger.verbosePii(`tenant_discovery_endpoint is: ${i.tenant_discovery_endpoint}`);else{if(!((n=a.body).hasOwnProperty("error")&&n.hasOwnProperty("error_description")))return this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse"),null;if(this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: ${a.status}`),(i=a.body).error===l.YM.INVALID_INSTANCE)return this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invali
1d_instance."),null;this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is ${i.error}`),this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is ${i.error_description}`),this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []"),o=[]}this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request."),t=tn(o,this.hostnameAndPort)}catch(e){return e instanceof g.lR?this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata. 2Error: ${e.errorCode} 3Error Description: ${e.errorMessage}`):this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata. 4Error: ${e.name} 5Error Description: ${e.message}`),null}return t||(this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request."),this.logger.verbose("Creating custom Authority for custom domain scenario."),t=iw.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)),t}isInKnownAuthorities(){return this.authorityOptions.knownAuthorities.filter(e=>e&&e8.getDomainFromUrl(e).toLowerCase()===this.hostnameAndPort).length>0}static generateAuthority(e,t){let r;if(t&&t.azureCloudInstance!==h){let e=t.tenant?t.tenant:l.YM.DEFAULT_COMMON_TENANT;r=`${t.azureCloudInstance}/${e}/`}return r||e}static createCloudDiscoveryMetadataFromHost(e){return{preferred_network:e,preferred_cache:e,aliases:[e]}}getPreferredCache(){if(this.managedIdentity)return l.YM.DEFAULT_AUTHORITY_HOST;if(this.discoveryComplete())return this.metadata.preferred_cache;throw ea(v)}isAlias(e){return this.metadata.aliases.indexOf(e)>-1}isAliasOfKnownMicrosoftAuthority(e){return tt.has(e)}static isPublicCloudAuthority(e){return l.YM.KNOWN_PUBLIC_CLOUDS.indexOf(e)>=0}static buildRegionalAuthorityString(e,t,r){let n=new e8(e);n.validateAsUri();let i=n.getUrlComponents(),o=`${t}.${i.HostNameAndPort}`;this.isPublicCloudAuthority(i.HostNameAndPort)&&(o=`${t}.${l.YM.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`);let a=e8.constructAuthorityUriFromObject({...n.getUrlComponents(),HostNameAndPort:o}).urlString;return r?`${a}?${r}`:a}static replaceWithRegionalInformation(e,t){let r={...e};return r.authorization_endpoint=iw.buildRegionalAuthorityString(r.authorization_endpoint,t),r.token_endpoint=iw.buildRegionalAuthorityString(r.token_endpoint,t),r.end_session_endpoint&&(r.end_session_endpoint=iw.buildRegionalAuthorityString(r.end_session_endpoint,t)),r}static transformCIAMAuthority(e){let t=e,r=new e8(e).getUrlComponents();if(0===r.PathSegments.length&&r.HostNameAndPort.endsWith(l.YM.CIAM_AUTH_URL)){let e=r.HostNameAndPort.split(".")[0];t=`${t}${e}${l.YM.AAD_TENANT_DOMAIN_SUFFIX}`}return t}}function iC(e){return e.endsWith(l.YM.FORWARD_SLASH)?e:`${e}${l.YM.FORWARD_SLASH}`}iw.reservedTenantDomains=new Set(["{tenant}","{tenantid}",l.v2.COMMON,l.v2.CONSUMERS,l.v2.ORGANIZATIONS]);var i_=r(87637),iI=r(51167);class ib{static setRequestState(e,t,r){let n=ib.generateLibraryState(e,r);return t?`${n}${l.YM.RESOURCE_DELIM}${t}`:n}static generateLibraryState(e,t){if(!e)throw ea(K);let r={id:e.createNewGuid()};t&&(r.meta=t);let n=JSON.stringify(r);return e.base64Encode(n)}static parseRequestState(e,t){if(!e)throw ea(K);if(!t)throw ea(I);try{let r=t.split(l.YM.RESOURCE_DELIM),n=r[0],i=r.length>1?r.slice(1).join(l.YM.RESOURCE_DELIM):l.YM.EMPTY_STRING,o=e.base64Decode(n),a=JSON.parse(o);return{userRequestState:i||l.YM.EMPTY_STRING,libraryState:a}}catch(e){throw ea(I)}}}let iT="home_account_id";class iS{constructor(){if(!window.localStorage)throw n1(nV)}getItem(e){return window.localStorage.getItem(e)}setItem(e,t){window.localStorage.setItem(e,t)}removeItem(e){window.localStorage.removeItem(e)}getKeys(){return Object.keys(window.localStorage)}containsKey(e){return window.localStorage.hasOwnProperty(e)}}class iA{constructor(){if(!window.sessionStorage)throw n1(nV)}getItem(e){return window.sessionStorage.getItem(e)}setItem(e,t){window.sessionStorage.setItem(e,t)}removeItem(e){window.sessionStorage.removeItem(e)}getKeys(){return Object.keys(window.sessionStorage)}containsKey(e){return window.sessionStorage.hasOwnProperty(e)}}function ik(e,t){if(!t)return null;try{return ib.parseRequestState(e,t).libraryState.meta}catch(e){throw ea(I)}}class iE{getItem(e){let t=`${encodeURIComponent(e)}`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let[n,...i]=decodeURIComponent(r[e]).trim().split("="),o=i.join("=");if(n===t)return o}return""}setItem(e,t,r,n=!0){let i=`${encodeURIComponent(e)}=${encodeURIComponent(t)};path=/;SameSite=Lax;`;if(r){var o;let e=(o=r,new Date(new Date().getTime()+864e5*o).toUTCString());i+=`expires=${e};`}n&&(i+="Secure;"),document.cookie=i}removeItem(e){this.setItem(e,"",-1)}getKeys(){let e=document.cookie.split(";"),t=[];
5return e.forEach(e=>{let r=decodeURIComponent(e).trim().split("=");t.push(r[0])}),t}containsKey(e){return this.getKeys().includes(e)}}class iR extends tl{constructor(e,t,r,n,i,o){super(e,r,n,i),this.cacheConfig=t,this.logger=n,this.internalStorage=new id,this.browserStorage=this.setupBrowserStorage(this.cacheConfig.cacheLocation),this.temporaryCacheStorage=this.setupBrowserStorage(this.cacheConfig.temporaryCacheLocation),this.cookieStorage=new iE,t.cacheMigrationEnabled&&(this.migrateCacheEntries(),this.createKeyMaps()),this.performanceClient=o}setupBrowserStorage(e){try{switch(e){case rw:return new iS;case rC:return new iA}}catch(e){this.logger.error(e)}return this.cacheConfig.cacheLocation=r_,new id}migrateCacheEntries(){let e=this.browserStorage.getItem(rP);e&&this.logger.info(`MSAL.js was last initialized with version ${e}`),e!==n7&&this.browserStorage.setItem(rP,n7);let t=`${l.YM.CACHE_PREFIX}.${l.Gd.ID_TOKEN}`,r=`${l.YM.CACHE_PREFIX}.${l.Gd.CLIENT_INFO}`,n=`${l.YM.CACHE_PREFIX}.${l.Gd.ERROR}`,i=`${l.YM.CACHE_PREFIX}.${l.Gd.ERROR_DESC}`,o=[this.browserStorage.getItem(t),this.browserStorage.getItem(r),this.browserStorage.getItem(n),this.browserStorage.getItem(i)];[l.Gd.ID_TOKEN,l.Gd.CLIENT_INFO,l.Gd.ERROR,l.Gd.ERROR_DESC].forEach((e,t)=>{let r=o[t];r&&this.setTemporaryCache(e,r,!0)})}createKeyMaps(){this.logger.trace("BrowserCacheManager - createKeyMaps called.");let e=this.cryptoImpl.createNewGuid(),t=this.getItem(rO),r=this.getItem(`${rM}.${this.clientId}`);t&&r?this.logger.verbose("BrowserCacheManager:createKeyMaps - account and token key maps already exist, skipping migration."):this.browserStorage.getKeys().forEach(t=>{if(this.isCredentialKey(t)){let r=this.getItem(t);if(r){let n=this.validateAndParseJson(r);if(n&&n.hasOwnProperty("credentialType"))switch(n.credentialType){case l.aG.ID_TOKEN:if(eC(n)){this.logger.trace("BrowserCacheManager:createKeyMaps - idToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - idToken with key: ${t} found, saving key to token key map`);let r=this.updateCredentialCacheKey(t,n,e);this.addTokenKey(r,l.aG.ID_TOKEN,e);return}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching idToken schema with value containing idToken credentialType field but value failed IdTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed idToken validation on key: ${t}`);break;case l.aG.ACCESS_TOKEN:case l.aG.ACCESS_TOKEN_WITH_AUTH_SCHEME:if(ew(n)){this.logger.trace("BrowserCacheManager:createKeyMaps - accessToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - accessToken with key: ${t} found, saving key to token key map`);let r=this.updateCredentialCacheKey(t,n,e);this.addTokenKey(r,l.aG.ACCESS_TOKEN,e);return}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching accessToken schema with value containing accessToken credentialType field but value failed AccessTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed accessToken validation on key: ${t}`);break;case l.aG.REFRESH_TOKEN:if(e_(n)){this.logger.trace("BrowserCacheManager:createKeyMaps - refreshToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - refreshToken with key: ${t} found, saving key to token key map`);let r=this.updateCredentialCacheKey(t,n,e);this.addTokenKey(r,l.aG.REFRESH_TOKEN,e);return}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching refreshToken schema with value containing refreshToken credentialType field but value failed RefreshTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed refreshToken validation on key: ${t}`)}}}if(this.isAccountKey(t)){let r=this.getItem(t);if(r){let n=this.validateAndParseJson(r);n&&e3.isAccountEntity(n)&&(this.logger.trace("BrowserCacheManager:createKeyMaps - account found, saving key to account key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - account with key: ${t} found, saving key to account key map`),this.addAccountKeyToMap(t,e))}}})}validateAndParseJson(e){try{let t=JSON.parse(e);return t&&"object"==typeof t?t:null}catch(e){return null}}getItem(e){return this.browserStorage.getItem(e)}setItem(e,t,r){let n=[];for(let i=0;i<=20;i++)try{this.browserStorage.setItem(e,t),i>0&&this.removeAccessTokenKeys(n.slice(0,i),r);break}catch(a){let o=tc(a);if(o.errorCode===ti&&i<20){if(n.length||(n=e===`${rM}.${this.clientId}`?JSON.parse(t).accessToken:this.getTokenKeys().accessToken),n.length<=i)throw o;this.removeAccessToken(n[i],r,!1)}else throw o}}getAccount(e,t,r){this.logger.trace("BrowserCacheManager.getAccount called");let n=this.getCachedAccountEntity(e,t);return this.updateOutdatedCachedAccount(e,n,t,r)}getCachedAccountEntity(e,t){let r=this.getItem(e);if(!r)return this.removeAccountKeyFromMap(e,t),null;let n=this.validateAndParseJson(r);return n&&e3.isAccountEntity(n)?tl.toObject(new e3,n):null}setAccount(e,t){this.logger.trace("BrowserCacheManager.setAccount called");let r=e.generateAccountKey();e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addAccountKeyToMap(r,t)}getAccountKeys(){this.logger.trace("BrowserCacheManager.getAccountKeys called");let e=this.getItem(rO);return e?JSON.parse(e):(this.logger.verbose("BrowserCacheManager.getAccountKeys - No account keys found"),[])}
5addAccountKeyToMap(e,t){this.logger.trace("BrowserCacheManager.addAccountKeyToMap called"),this.logger.tracePii(`BrowserCacheManager.addAccountKeyToMap called with key: ${e}`);let r=this.getAccountKeys();-1===r.indexOf(e)?(r.push(e),this.setItem(rO,JSON.stringify(r),t),this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key added")):this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key already exists in map")}removeAccountKeyFromMap(e,t){this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap called"),this.logger.tracePii(`BrowserCacheManager.removeAccountKeyFromMap called with key: ${e}`);let r=this.getAccountKeys(),n=r.indexOf(e);if(n>-1){if(r.splice(n,1),0===r.length)return void this.removeItem(rO);this.setItem(rO,JSON.stringify(r),t),this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap account key removed")}else this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap key not found in existing map")}async removeAccount(e,t){super.removeAccount(e,t),this.removeAccountKeyFromMap(e,t)}removeOutdatedAccount(e,t){this.removeItem(e),this.removeAccountKeyFromMap(e,t)}removeIdToken(e,t){super.removeIdToken(e,t),this.removeTokenKey(e,l.aG.ID_TOKEN,t)}removeAccessToken(e,t,r=!0){super.removeAccessToken(e,t),this.performanceClient?.incrementFields({accessTokensRemoved:1},t),r&&this.removeTokenKey(e,l.aG.ACCESS_TOKEN,t)}removeAccessTokenKeys(e,t){this.logger.trace("removeAccessTokenKey called");let r=this.getTokenKeys(),n=0;if(e.forEach(e=>{let t=r.accessToken.indexOf(e);t>-1&&(r.accessToken.splice(t,1),n++)}),n>0){this.logger.info(`removed ${n} accessToken keys from tokenKeys map`),this.setTokenKeys(r,t);return}}removeRefreshToken(e,t){super.removeRefreshToken(e,t),this.removeTokenKey(e,l.aG.REFRESH_TOKEN,t)}getTokenKeys(){this.logger.trace("BrowserCacheManager.getTokenKeys called");let e=this.getItem(`${rM}.${this.clientId}`);if(e){let t=this.validateAndParseJson(e);if(t&&t.hasOwnProperty("idToken")&&t.hasOwnProperty("accessToken")&&t.hasOwnProperty("refreshToken"))return t;this.logger.error("BrowserCacheManager.getTokenKeys - Token keys found but in an unknown format. Returning empty key map.")}else this.logger.verbose("BrowserCacheManager.getTokenKeys - No token keys found");return{idToken:[],accessToken:[],refreshToken:[]}}setTokenKeys(e,t){0===e.idToken.length&&0===e.accessToken.length&&0===e.refreshToken.length?this.removeItem(`${rM}.${this.clientId}`):this.setItem(`${rM}.${this.clientId}`,JSON.stringify(e),t)}addTokenKey(e,t,r){this.logger.trace("BrowserCacheManager addTokenKey called");let n=this.getTokenKeys();switch(t){case l.aG.ID_TOKEN:-1===n.idToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - idToken added to map"),n.idToken.push(e));break;case l.aG.ACCESS_TOKEN:let i=n.accessToken.indexOf(e);-1!==i&&n.accessToken.splice(i,1),this.logger.trace(`access token ${-1===i?"added to":"updated in"} map`),n.accessToken.push(e);break;case l.aG.REFRESH_TOKEN:-1===n.refreshToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - refreshToken added to map"),n.refreshToken.push(e));break;default:throw this.logger.error(`BrowserCacheManager:addTokenKey - CredentialType provided invalid. CredentialType: ${t}`),ea($)}this.setTokenKeys(n,r)}removeTokenKey(e,t,r,n=this.getTokenKeys()){switch(this.logger.trace("BrowserCacheManager removeTokenKey called"),t){case l.aG.ID_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove idToken with key: ${e} from map`);let i=n.idToken.indexOf(e);i>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - idToken removed from map"),n.idToken.splice(i,1)):this.logger.info("BrowserCacheManager: removeTokenKey - idToken does not exist in map. Either it was previously removed or it was never added.");break;case l.aG.ACCESS_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove accessToken with key: ${e} from map`);let o=n.accessToken.indexOf(e);o>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - accessToken removed from map"),n.accessToken.splice(o,1)):this.logger.info("BrowserCacheManager: removeTokenKey - accessToken does not exist in map. Either it was previously removed or it was never added.");break;case l.aG.REFRESH_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove refreshToken with key: ${e} from map`);let a=n.refreshToken.indexOf(e);a>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken removed from map"),n.refreshToken.splice(a,1)):this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken does not exist in map. Either it was previously removed or it was never added.");break;default:throw this.logger.error(`BrowserCacheManager:removeTokenKey - CredentialType provided invali
5d. CredentialType: ${t}`),ea($)}this.setTokenKeys(n,r)}getIdTokenCredential(e,t){let r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),this.removeIdToken(e,t),null;let n=this.validateAndParseJson(r);return n&&eC(n)?(this.logger.trace("BrowserCacheManager.getIdTokenCredential: cache hit"),n):(this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),null)}setIdTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setIdTokenCredential called");let r=ep(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addTokenKey(r,l.aG.ID_TOKEN,t)}getAccessTokenCredential(e,t){let r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),this.removeTokenKey(e,l.aG.ACCESS_TOKEN,t),null;let n=this.validateAndParseJson(r);return n&&ew(n)?(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: cache hit"),n):(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),null)}setAccessTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setAccessTokenCredential called");let r=ep(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addTokenKey(r,l.aG.ACCESS_TOKEN,t)}getRefreshTokenCredential(e,t){let r=this.getItem(e);if(!r)return this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),this.removeTokenKey(e,l.aG.REFRESH_TOKEN,t),null;let n=this.validateAndParseJson(r);return n&&e_(n)?(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: cache hit"),n):(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),null)}setRefreshTokenCredential(e,t){this.logger.trace("BrowserCacheManager.setRefreshTokenCredential called");let r=ep(e);e.lastUpdatedAt=Date.now().toString(),this.setItem(r,JSON.stringify(e),t),this.addTokenKey(r,l.aG.REFRESH_TOKEN,t)}getAppMetadata(e){let t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null;let r=this.validateAndParseJson(t);return r&&r&&0===e.indexOf(l.GU)&&r.hasOwnProperty("clientId")&&r.hasOwnProperty("environment")?(this.logger.trace("BrowserCacheManager.getAppMetadata: cache hit"),r):(this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null)}setAppMetadata(e,t){this.logger.trace("BrowserCacheManager.setAppMetadata called");let r=function({environment:e,clientId:t}){return[l.GU,e,t].join(l.LR.CACHE_KEY_SEPARATOR).toLowerCase()}(e);this.setItem(r,JSON.stringify(e),t)}getServerTelemetry(e){let t,r,n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null;let i=this.validateAndParseJson(n);return i&&(t=0===e.indexOf(l.gT.CACHE_KEY),r=!0,i&&(r=i.hasOwnProperty("failedRequests")&&i.hasOwnProperty("errors")&&i.hasOwnProperty("cacheHits")),t&&r)?(this.logger.trace("BrowserCacheManager.getServerTelemetry: cache hit"),i):(this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null)}setServerTelemetry(e,t,r){this.logger.trace("BrowserCacheManager.setServerTelemetry called"),this.setItem(e,JSON.stringify(t),r)}getAuthorityMetadata(e){let t=this.internalStorage.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAuthorityMetadata: called, no cache hit"),null;let r=this.validateAndParseJson(t);return r&&r&&0===e.indexOf(l.u0.CACHE_KEY)&&r.hasOwnProperty("aliases")&&r.hasOwnProperty("preferred_cache")&&r.hasOwnProperty("preferred_network")&&r.hasOwnProperty("canonical_authority")&&r.hasOwnProperty("authorization_endpoint")&&r.hasOwnProperty("token_endpoint")&&r.hasOwnProperty("issuer")&&r.hasOwnProperty("aliasesFromNetwork")&&r.hasOwnProperty("endpointsFromNetwork")&&r.hasOwnProperty("expiresAt")&&r.hasOwnProperty("jwks_uri")?(this.logger.trace("BrowserCacheManager.getAuthorityMetadata: cache hit"),r):null}getAuthorityMetadataKeys(){return this.internalStorage.getKeys().filter(e=>this.isAuthorityMetadata(e))}setWrapperMetadata(e,t){this.internalStorage.setItem(rN,e),this.internalStorage.setItem(rx,t)}getWrapperMetadata(){return[this.internalStorage.getItem(rN)||l.YM.EMPTY_STRING,this.internalStorage.getItem(rx)||l.YM.EMPTY_STRING]}setAuthorityMetadata(e,t){this.logger.trace("BrowserCacheManager.setAuthorityMetadata called"),this.internalStorage.setItem(e,JSON.stringify(t))}getActiveAccount(e){let t=this.generateCacheKey(l.Gd.ACTIVE_ACCOUNT_FILTERS),r=this.getItem(t);if(!r){this.logger.trace("BrowserCacheManager.getActiveAccount: No active account filters cache schema found, looking for legacy schema");let t=this.generateCacheKey(l.Gd.ACTIVE_ACCOUNT),r=this.getItem(t);if(!r)return this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null;let n=this.getAccountInfoFilteredBy({localAccountId:r},e);return n?(this.logger.trace("BrowserCacheManager.getActiveAccount: Legacy active account cache schema found"),this.logger.trace("BrowserCacheManager.getActiveAccount: Adding active account filters cache schema"),this.setActiveAccount(n,e),n):null}let n=this.validateAndParseJson(r);return n?(this.logger.trace("BrowserCacheManager.getActiveAccount: Active account filters schema found"),this.getAccountInfoFilteredBy({homeAccountId:n.homeAccountId,localAccountId:n.localAccountId,tenantId:n.tenantId},e)):(this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null)}setActiveAccount(e,t){let r=this.generateCacheKey(l.Gd.ACTIVE_ACCOUNT_FILTERS),n=this.generateCacheKey(l.Gd.ACTIVE_ACCOUNT);if(e){this.logger.verbose("setActiveAccount: Active account set");let i={homeAccountId:e.homeAccountId,localAccountId:e.localAccountId,tenantId:e.tenantId,lastUpdatedAt:Date.now().toString()};this.setItem(r,JSON.stringify(i),t),this.setItem(n,e.localAccountId,t)}else this.logger.verbose("setActiveAccount: No account passed, active account not set"),this.browserStorage.removeItem(r),this.browserStorage.removeItem(n)}getThrottlingCache(e){let t,r,n=this.getItem(e);if(!n)return this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null;let i=this.validateAndParseJson(n);
5return i&&(t=!1,e&&(t=0===e.indexOf(l.Xw.THROTTLING_PREFIX)),r=!0,i&&(r=i.hasOwnProperty("throttleTime")),t&&r)?(this.logger.trace("BrowserCacheManager.getThrottlingCache: cache hit"),i):(this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null)}setThrottlingCache(e,t,r){this.logger.trace("BrowserCacheManager.setThrottlingCache called"),this.setItem(e,JSON.stringify(t),r)}getTemporaryCache(e,t){let r=t?this.generateCacheKey(e):e;if(this.cacheConfig.storeAuthStateInCookie){let e=this.cookieStorage.getItem(r);if(e)return this.logger.trace("BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies"),e}let n=this.temporaryCacheStorage.getItem(r);if(!n){if(this.cacheConfig.cacheLocation===rw){let e=this.browserStorage.getItem(r);if(e)return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage"),e}return this.logger.trace("BrowserCacheManager.getTemporaryCache: No cache item found in local storage"),null}return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item returned"),n}setTemporaryCache(e,t,r){let n=r?this.generateCacheKey(e):e;this.temporaryCacheStorage.setItem(n,t),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie"),this.cookieStorage.setItem(n,t,void 0,this.cacheConfig.secureCookies))}removeItem(e){this.browserStorage.removeItem(e)}removeTemporaryItem(e){this.temporaryCacheStorage.removeItem(e),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"),this.cookieStorage.removeItem(e))}getKeys(){return this.browserStorage.getKeys()}async clear(e){await this.removeAllAccounts(e),this.removeAppMetadata(e),this.temporaryCacheStorage.getKeys().forEach(e=>{(-1!==e.indexOf(l.YM.CACHE_PREFIX)||-1!==e.indexOf(this.clientId))&&this.removeTemporaryItem(e)}),this.browserStorage.getKeys().forEach(e=>{(-1!==e.indexOf(l.YM.CACHE_PREFIX)||-1!==e.indexOf(this.clientId))&&this.browserStorage.removeItem(e)}),this.internalStorage.clear()}async clearTokensAndKeysWithClaims(e,t){e.addQueueMeasurement(ra,t);let r=this.getTokenKeys(),n=0;r.accessToken.forEach(e=>{let r=this.getAccessTokenCredential(e,t);r?.requestedClaimsHash&&e.includes(r.requestedClaimsHash.toLowerCase())&&(this.removeAccessToken(e,t),n++)}),n>0&&this.logger.warning(`${n} access tokens with claims in the cache keys have been removed from the cache.`)}generateCacheKey(e){return this.validateAndParseJson(e)?JSON.stringify(e):eQ.startsWith(e,l.YM.CACHE_PREFIX)||eQ.startsWith(e,l.Gd.ADAL_ID_TOKEN)?e:`${l.YM.CACHE_PREFIX}.${this.clientId}.${e}`}generateAuthorityKey(e){let{libraryState:{id:t}}=ib.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`authority.${t}`)}generateNonceKey(e){let{libraryState:{id:t}}=ib.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`nonce.id_token.${t}`)}generateStateKey(e){let{libraryState:{id:t}}=ib.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${rI}.${t}`)}getCachedAuthority(e){let t=this.generateStateKey(e),r=this.getTemporaryCache(t);if(!r)return null;let n=this.generateAuthorityKey(r);return this.getTemporaryCache(n)}updateCacheEntries(e,t,r,n,i){this.logger.trace("BrowserCacheManager.updateCacheEntries called");let o=this.generateStateKey(e);this.setTemporaryCache(o,e,!1);let a=this.generateNonceKey(e);this.setTemporaryCache(a,t,!1);let s=this.generateAuthorityKey(e);if(this.setTemporaryCache(s,r,!1),i){let e={credential:i.homeAccountId,type:iT};this.setTemporaryCache(rk,JSON.stringify(e),!0)}else n&&this.setTemporaryCache(rk,JSON.stringify({credential:n,type:"UPN"}),!0)}resetRequestCache(e){this.logger.trace("BrowserCacheManager.resetRequestCache called"),e&&(this.temporaryCacheStorage.getKeys().forEach(t=>{-1!==t.indexOf(e)&&this.removeTemporaryItem(t)}),this.removeTemporaryItem(this.generateStateKey(e)),this.removeTemporaryItem(this.generateNonceKey(e)),this.removeTemporaryItem(this.generateAuthorityKey(e))),this.removeTemporaryItem(this.generateCacheKey(rS)),this.removeTemporaryItem(this.generateCacheKey(rb)),this.removeTemporaryItem(this.generateCacheKey(rT)),this.removeTemporaryItem(this.generateCacheKey(rE)),this.removeTemporaryItem(this.generateCacheKey(rk)),this.removeTemporaryItem(this.generateCacheKey(rR)),this.setInteractionInProgress(!1)}cleanRequestByState(e){if(this.logger.trace("BrowserCacheManager.cleanRequestByState called"),e){let t=this.generateStateKey(e),r=this.temporaryCacheStorage.getItem(t);this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${r}`),this.resetRequestCache(r||l.YM.EMPTY_STRING)}}cleanRequestByInteractionType(e){this.logger.trace("BrowserCacheManager.cleanRequestByInteractionType called"),this.temporaryCacheStorage.getKeys().forEac
5h(t=>{if(-1===t.indexOf(rI))return;let r=this.temporaryCacheStorage.getItem(t);if(!r)return;let n=ik(this.cryptoImpl,r);n&&n.interactionType===e&&(this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${r}`),this.resetRequestCache(r))}),this.setInteractionInProgress(!1)}cacheCodeRequest(e){this.logger.trace("BrowserCacheManager.cacheCodeRequest called");let t=nx(JSON.stringify(e));this.setTemporaryCache(rS,t,!0)}getCachedRequest(e){let t;this.logger.trace("BrowserCacheManager.getCachedRequest called");let r=this.getTemporaryCache(rS,!0);if(!r)throw nE(r8);try{t=JSON.parse(il(r))}catch(e){throw this.logger.errorPii(`Attempted to parse: ${r}`),this.logger.error(`Parsing cached token request threw with error: ${e}`),nE(r7)}if(this.removeTemporaryItem(this.generateCacheKey(rS)),!t.authority){let r=this.generateAuthorityKey(e),n=this.getTemporaryCache(r);if(!n)throw nE(ne);t.authority=n}return t}getCachedNativeRequest(){this.logger.trace("BrowserCacheManager.getCachedNativeRequest called");let e=this.getTemporaryCache(rR,!0);if(!e)return this.logger.trace("BrowserCacheManager.getCachedNativeRequest: No cached native request found"),null;let t=this.validateAndParseJson(e);return t||(this.logger.error("BrowserCacheManager.getCachedNativeRequest: Unable to parse native request"),null)}isInteractionInProgress(e){let t=this.getInteractionInProgress();return e?t===this.clientId:!!t}getInteractionInProgress(){let e=`${l.YM.CACHE_PREFIX}.${rA}`;return this.getTemporaryCache(e,!1)}setInteractionInProgress(e){let t=`${l.YM.CACHE_PREFIX}.${rA}`;if(e)if(this.getInteractionInProgress())throw nE(rZ);else this.setTemporaryCache(t,this.clientId,!1);else e||this.getInteractionInProgress()!==this.clientId||this.removeTemporaryItem(t)}getLegacyLoginHint(){let e=this.getTemporaryCache(l.Gd.ADAL_ID_TOKEN);e&&(this.browserStorage.removeItem(l.Gd.ADAL_ID_TOKEN),this.logger.verbose("Cached ADAL id token retrieved."));let t=this.getTemporaryCache(l.Gd.ID_TOKEN,!0);t&&(this.browserStorage.removeItem(this.generateCacheKey(l.Gd.ID_TOKEN)),this.logger.verbose("Cached MSAL.js v1 id token retrieved"));let r=t||e;if(r){let e=eu(r,il);if(e.preferred_username)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint"),e.preferred_username;if(e.upn)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint"),e.upn;this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.")}return null}updateCredentialCacheKey(e,t,r){let n=ep(t);if(e!==n){let i=this.getItem(e);if(i)return this.browserStorage.removeItem(e),this.setItem(n,i,r),this.logger.verbose(`Updated an outdated ${t.credentialType} cache key`),n;this.logger.error(`Attempted to update an outdated ${t.credentialType} cache key but no item matching the outdated key was found in storage`)}return e}async hydrateCache(e,t){let r,n=em(e.account?.homeAccountId,e.account?.environment,e.idToken,this.clientId,e.tenantId);t.claims&&(r=await this.cryptoImpl.hashString(t.claims));let i=ef(e.account?.homeAccountId,e.account.environment,e.accessToken,this.clientId,e.tenantId,e.scopes.join(" "),e.expiresOn?e.expiresOn.getTime()/1e3:0,e.extExpiresOn?e.extExpiresOn.getTime()/1e3:0,il,void 0,e.tokenType,void 0,t.sshKid,t.claims,r);return this.saveCacheRecord({idToken:n,accessToken:i},e.correlationId)}async saveCacheRecord(e,t,r){try{await super.saveCacheRecord(e,t,r)}catch(e){if(e instanceof ts&&this.performanceClient&&t)try{let e=this.getTokenKeys();this.performanceClient.addFields({cacheRtCount:e.refreshToken.length,cacheIdCount:e.idToken.length,cacheAtCount:e.accessToken.length},t)}catch(e){}throw e}}}let iO="msal:initializeEnd",iM="msal:loginStart",iP="msal:loginSuccess",iN="msal:loginFailure",ix="msal:acquireTokenStart",iL="msal:acquireTokenSuccess",iU="msal:acquireTokenFailure",iD="msal:acquireTokenByCodeFailure",iq="msal:handleRedirectEnd",iH="msal:popupOpened",iB="msal:logoutStart",iF="msal:logoutSuccess",iK="msal:logoutFailure",i$="msal:logout
5End";class ij{constructor(e){this.eventCallbacks=new Map,this.logger=e||new u({})}addEventCallback(e,t,r){if("u">typeof window){let n=r||nj();return this.eventCallbacks.has(n)?(this.logger.error(`Event callback with id: ${n} is already registered. Please provide a unique id or remove the existing callback and try again.`),null):(this.eventCallbacks.set(n,[e,t||[]]),this.logger.verbose(`Event callback registered with id: ${n}`),n)}return null}removeEventCallback(e){this.eventCallbacks.delete(e),this.logger.verbose(`Event callback ${e} removed.`)}emitEvent(e,t,r,n){if("u">typeof window){let i={eventType:e,interactionType:t||null,payload:r||null,error:n||null,timestamp:Date.now()};this.eventCallbacks.forEach(([t,r],n)=>{(0===r.length||r.includes(e))&&(this.logger.verbose(`Emitting event to callback ${n}: ${e}`),t.apply(null,[i]))})}}}class iz extends g.lR{constructor(e,t,r,n,i){super(e,t,r),this.name="ServerError",this.errorNo=n,this.status=i,Object.setPrototypeOf(this,iz.prototype)}}class iG{static generateThrottlingStorageKey(e){return`${l.Xw.THROTTLING_PREFIX}.${JSON.stringify(e)}`}static preProcess(e,t,r){let n=iG.generateThrottlingStorageKey(t),i=e.getThrottlingCache(n);if(i){if(i.throttleTime<Date.now())return void e.removeItem(n,r);throw new iz(i.errorCodes?.join(" ")||l.YM.EMPTY_STRING,i.errorMessage,i.subError)}}static postProcess(e,t,r,n){if(iG.checkResponseStatus(r)||iG.checkResponseForRetryAfter(r)){let i={throttleTime:iG.calculateThrottleTime(parseInt(r.headers[l.OK.RETRY_AFTER])),error:r.body.error,errorCodes:r.body.error_codes,errorMessage:r.body.error_description,subError:r.body.suberror};e.setThrottlingCache(iG.generateThrottlingStorageKey(t),i,n)}}static checkResponseStatus(e){return 429===e.status||e.status>=500&&e.status<600}static checkResponseForRetryAfter(e){return!!e.headers&&e.headers.hasOwnProperty(l.OK.RETRY_AFTER)&&(e.status<200||e.status>=300)}static calculateThrottleTime(e){let t=Date.now()/1e3;return Math.floor(1e3*Math.min(t+((e<=0?0:e)||l.Xw.DEFAULT_THROTTLE_TIME_SECONDS),t+l.Xw.DEFAULT_MAX_THROTTLE_TIME_SECONDS))}static removeThrottle(e,t,r,n){let i={clientId:t,authority:r.authority,scopes:r.scopes,homeAccountIdentifier:n,claims:r.claims,authenticationScheme:r.authenticationScheme,resourceRequestMethod:r.resourceRequestMethod,resourceRequestUri:r.resourceRequestUri,shrClaims:r.shrClaims,sshKid:r.sshKid},o=this.generateThrottlingStorageKey(i);e.removeItem(o,r.correlationId)}}let iY="client_id",iW="redirect_uri",iZ="response_type",iV="token_type",iQ="req_cnf",iJ="return_spa_code",iX="brk_client_id",i0="brk_redirect_uri";class i1{static validateRedirectUri(e){if(!e)throw eV(eA)}static validatePrompt(e){let t=[];for(let e in l._M)t.push(l._M[e]);if(0>t.indexOf(e))throw eV(eP)}static validateClaims(e){try{JSON.parse(e)}catch(e){throw eV(eN)}}static validateCodeChallengeParams(e,t){if(e&&t)this.validateCodeChallengeMethod(t);else throw eV(eD)}static validateCodeChallengeMethod(e){if(0>[l.iF.PLAIN,l.iF.S256].indexOf(e))throw eV(eU)}}class i2{constructor(e,t){this.parameters=new Map,this.performanceClient=t,this.correlationId=e}addResponseTypeCode(){this.parameters.set(iZ,encodeURIComponent(l.YM.CODE_RESPONSE_TYPE))}addResponseTypeForTokenAndIdToken(){this.parameters.set(iZ,encodeURIComponent(`${l.YM.TOKEN_RESPONSE_TYPE} ${l.YM.ID_TOKEN_RESPONSE_TYPE}`))}addResponseMode(e){this.parameters.set("response_mode",encodeURIComponent(e||l.p.QUERY))}addNativeBroker(){this.parameters.set("nativebroker",encodeURIComponent("1"))}addScopes(e,t=!0,r=l.aZ){!t||r.includes("openid")||e.includes("openid")||r.push("openid");let n=new eJ(t?[...e||[],...r]:e||[]);this.parameters.set("scope",encodeURIComponent(n.printScopes()))}addClientId(e){this.parameters.set(iY,encodeURIComponent(e))}addRedirectUri(e){i1.validateRedirectUri(e),this.parameters.set(iW,encodeURIComponent(e))}addPostLogoutRedirectUri(e){i1.validateRedirectUri(e),this.parameters.set("post_logout_redirect_uri",encodeURIComponent(e))}addIdTokenHint(e){this.parameters.set("id_token_hint",encodeURIComponent(e))}addDomainHint(e){this.parameters.set("domain_hint",encodeURIComponent(e))}addLoginHint(e){this.parameters.set("login_hint",encodeURIComponent(e))}addCcsUpn(e){this.parameters.set(l.OK.CCS_HEADER,encodeURIComponent(`UPN:${e}`))}addCcsOid(e){this.parameters.set(l.OK.CCS_HEADER,encodeURIComponent(`Oid:${e.uid}@${e.utid}`))}addSid(e){this.parameters.set("sid",encodeURIComponent(e))}addClaims(e,t){let r=this.addClientCapabilitiesToClaims(e,t);i1.validateClaims(r),this.parameters.set("claims",encodeURIComponent(r))}addCorrelationId(e){this.parameters.set("client-request-id",encodeURIComponent(e))}addLibraryInfo(e){this.parameters.set("x-client-SKU",e.sku),this.parameters.set("x-client-VER",e.version),e.os&&this.parameters.set("x-client-OS",e.os),e.cpu&&this.parameters.set("x-client-CPU",e.cpu)}addApplicationTelemetry(e){e?.appName&&this.parameters.set("x-app-name",e.appName),e?.appVersion&&this.parameters.set("x-app-ver",e.appVersion)}
5addPrompt(e){i1.validatePrompt(e),this.parameters.set("prompt",encodeURIComponent(e))}addState(e){e&&this.parameters.set("state",encodeURIComponent(e))}addNonce(e){this.parameters.set("nonce",encodeURIComponent(e))}addCodeChallengeParams(e,t){if(i1.validateCodeChallengeParams(e,t),e&&t)this.parameters.set("code_challenge",encodeURIComponent(e)),this.parameters.set("code_challenge_method",encodeURIComponent(t));else throw eV(eD)}addAuthorizationCode(e){this.parameters.set("code",encodeURIComponent(e))}addDeviceCode(e){this.parameters.set("device_code",encodeURIComponent(e))}addRefreshToken(e){this.parameters.set("refresh_token",encodeURIComponent(e))}addCodeVerifier(e){this.parameters.set("code_verifier",encodeURIComponent(e))}addClientSecret(e){this.parameters.set("client_secret",encodeURIComponent(e))}addClientAssertion(e){e&&this.parameters.set("client_assertion",encodeURIComponent(e))}addClientAssertionType(e){e&&this.parameters.set("client_assertion_type",encodeURIComponent(e))}addOboAssertion(e){this.parameters.set("assertion",encodeURIComponent(e))}addRequestTokenUse(e){this.parameters.set("requested_token_use",encodeURIComponent(e))}addGrantType(e){this.parameters.set("grant_type",encodeURIComponent(e))}addClientInfo(){this.parameters.set(l.JR,"1")}addExtraQueryParameters(e){Object.entries(e).forEach(([e,t])=>{!this.parameters.has(e)&&t&&this.parameters.set(e,t)})}addClientCapabilitiesToClaims(e,t){let r;if(e)try{r=JSON.parse(e)}catch(e){throw eV(eN)}else r={};return t&&t.length>0&&(r.hasOwnProperty(l.Fq.ACCESS_TOKEN)||(r[l.Fq.ACCESS_TOKEN]={}),r[l.Fq.ACCESS_TOKEN][l.Fq.XMS_CC]={values:t}),JSON.stringify(r)}addUsername(e){this.parameters.set(l.Tq.username,encodeURIComponent(e))}addPassword(e){this.parameters.set(l.Tq.password,encodeURIComponent(e))}addPopToken(e){e&&(this.parameters.set(iV,l.IO.POP),this.parameters.set(iQ,encodeURIComponent(e)))}addSshJwk(e){e&&(this.parameters.set(iV,l.IO.SSH),this.parameters.set(iQ,encodeURIComponent(e)))}addServerTelemetry(e){this.parameters.set("x-client-current-telemetry",e.generateCurrentRequestHeaderValue()),this.parameters.set("x-client-last-telemetry",e.generateLastRequestHeaderValue())}addThrottling(){this.parameters.set("x-ms-lib-capability",l.Xw.X_MS_LIB_CAPABILITY_VALUE)}addLogoutHint(e){this.parameters.set("logout_hint",encodeURIComponent(e))}addBrokerParameters(e){let t={};t[iX]=e.brokerClientId,t[i0]=e.brokerRedirectUri,this.addExtraQueryParameters(t)}createQueryString(){let e=[];return this.parameters.forEach((t,r)=>{e.push(`${r}=${t}`)}),!function(e,t,r){if(!t)return;let n=e.get(iY);n&&e.has(iX)&&r?.addFields({embeddedClientId:n,embeddedRedirectUri:e.get(iW)},t)}(this.parameters,this.correlationId,this.performanceClient),e.join("&")}}async function i6(e,t,r,n,i,o,a){a?.addQueueMeasurement(t5,o);let s=iw.transformCIAMAuthority(iC(e)),c=new iw(s,t,r,n,i,o,a);try{return await iy(c.resolveEndpointsAsync.bind(c),t9,i,a,o)(),c}catch(e){throw ea(v)}}class i4{constructor(e,t){this.config=function({authOptions:e,systemOptions:t,loggerOptions:r,cacheOptions:n,storageInterface:i,networkInterface:o,cryptoInterface:a,clientCredentials:s,libraryInfo:c,telemetry:l,serverTelemetryManager:d,persistencePlugin:h,serializableCache:g}){let p={...th,...r};return{authOptions:{clientCapabilities:[],azureCloudOptions:ty,skipAuthorityMetadataCache:!1,instanceAware:!1,...e},systemOptions:{...td,...t},loggerOptions:p,cacheOptions:{...tg,...n},storageInterface:i||new tu(e.clientId,es,new u(p)),networkInterface:o||tp,cryptoInterface:a||es,clientCredentials:s||tf,libraryInfo:{...tm,...c},telemetry:{...tv,...l},serverTelemetryManager:d||null,persistencePlugin:h||null,serializableCache:g||null}}(e),this.logger=new u(this.config.loggerOptions,ec,el),this.cryptoUtils=this.config.cryptoInterface,this.cacheManager=this.config.storageInterface,this.networkClient=this.config.networkInterface,this.serverTelemetryManager=this.config.serverTelemetryManager,this.authority=this.config.authOptions.authority,this.performanceClient=t}createTokenRequestHeaders(e){let t={};if(t[l.OK.CONTENT_TYPE]=l.YM.URL_FORM_CONTENT_TYPE,!this.config.systemOptions.preventCorsPreflight&&e)switch(e.type){case iT:try{let r=e0(e.credential);t[l.OK.CCS_HEADER]=`Oid:${r.uid}@${r.utid}`}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case"UPN":t[l.OK.CCS_HEADER]=`UPN: ${e.credential}`}return t}async executePostToTokenEndpoint(e,t,r,n,i,o){o&&this.performanceClient?.addQueueMeasurement(o,i);let a=await this.sendPostRequest(n,e,{body:t,headers:r},i);return this.config.serverTelemetryManager&&a.status<500&&429!==a.status&&this.config.serverTelemetryManager.clearTelemetryCache(),a}async sendPostRequest(e,t,r,n){let i;iG.preProcess(this.cacheManager,e,n);try{let e=(i=await iy(this.networkClient.sendPostRequestAsync.bind(this.networkClient),"networkClientSendPostRequestAsync",this.logger,this.performanceClient,n)(t,r)).headers||{};this.performanceClient?.addFields({refreshTokenSize:i.body.refresh_token?.length||0,httpVerToken:e[l.OK.X_MS_HTTP_VERSION]||"",requestId:e[l.OK.X_MS_REQUEST_ID]||""},n)}catch(e){if(e instanceof rB){let t=e.responseHeaders;throw t&&this.performanceClient?.addFields({httpVerToken:t[l.OK.X_MS_HTTP_VERSION]||"",requestId:t[l.OK.X_MS_REQUEST_ID]||"",contentTypeHeader:t[l.OK.CONTENT_TYPE]||void 0,contentLengthHeader:t[l.OK.CONTENT_LENGTH]||void 0,httpStatus:e.httpStatus},n),e.error}if(e instanceof g.lR)throw e;throw ea(w)}return iG.postProcess(this.cacheManager,e,i,n),i}async updateAuthority(e,t){this.performanceClient?.addQueueMeasurement(tJ,t);let r=`https://${e}/${this.authority.tenant}/`,n=await i6(r,this.networkClient,this.cacheManager,this.authority.options,this.logger,t,this.performanceClient);this.authority=n}createTokenQueryParameters(e){let t=new i2(e.correlationId,this.performanceClient);return e.embeddedClientId&&t.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenQueryParameters&&t.addExtraQueryParameters(e.tokenQueryParameters),t.addCorrelationId(e.correlationId),t.createQueryString()}}class i3{constructor(e,t){this.cryptoUtils=e,this.performanceClient=t}async generateCnf(e,t){this.performanceClient?.addQueueMeasurement(t6,e.correlationId);let r=await iy(this.generateKid.bind(this),t6,t,this.performanceClient,e.correlationId)(e),n=this.cryptoUtils.base64UrlEncode(JSON.stringify(r));return{kid:r.kid,reqCnfString:n}}async generateKid(e){return this.performanceClient?.addQueueMeasurement("popTokenGenerateKid",e.correlationId),{kid:await this.cryptoUtils.getPublicKeyThumbprint(e),xms_ksl:"sw"}}async signPopToken(e,t,r){return this.signPayload(e,t,r)}async signPayload(e,t,r,n){let{resourceRequestMethod:i,resourceRequestUri:o,shrClaims:a,shrNonce:s,shrOptions:c}=r,l=o?new e8(o):void 0,u=l?.getUrlComponents();return this.cryptoUtils.signJwt({at:e,ts:eh(),m:i?.toUpperCase(),u:u?.HostNameAndPort,nonce:s||this.cryptoUtils.createNewGuid(),p:u?.AbsolutePath,q:u?.QueryString?[[],u.QueryString]:void 0,client_claims:a||void 0,...n},t,c,r.correlationId)}}class i5{constructor(e,t){this.cache=e,this.hasChanged=t}get cacheHasChanged(){return this.hasChanged}get tokenCache(){return this.cache}}class i9{constructor(e,t,r,n,i,o,a){this.clientId=e,this.cacheStorage=t,this.cryptoObj=r,this.logger=n,this.serializableCache=i,this.persistencePlugin=o,this.performanceClient=a}validateServerAuthorizationCodeResponse(e,t){let r,n;if(!e.state||!t)throw e.state?ea(T,"Cached State"):ea(T,"Server State");try{r=decodeURIComponent(e.state)}catch(t){throw ea(I,e.state)}try{n=decodeURIComponent(t)}catch(t){throw ea(I,e.state)}if(r!==n)throw ea(b);if(e.error||e.error_description||e.suberror){let t,r,n=(t="code=",(r=e.error_uri?.lastIndexOf(t))&&r>=0?e.error_uri?.substring(r+t.length):void 0);if((0,i_.a)(e.error,e.error_description,e.suberror))throw new i_.CB(e.error||"",e.error_description,e.suberror,e.timestamp||"",e.trace_id||"",e.correlation_id||"",e.claims||"",n);throw new iz(e.error||"",e.error_description,e.suberror,n)}}validateTokenResponse(e,t){if(e.error||e.error_description||e.suberror){let r=`Error(s): ${e.error_codes||l.YM.NOT_AVAILABLE} - Timestamp: ${e.timestamp||l.YM.NOT_AVAILABLE} - Description: ${e.error_description||l.YM.NOT_AVAILABLE} - Correlation ID: ${e.correlation_id||l.YM.NOT_AVAILABLE} - Trace ID: ${e.trace_id||l.YM.NOT_AVAILABLE}`,n=e.error_codes?.length?e.error_codes[0]:void 0,i=new iz(e.error,r,e.suberror,n,e.status);if(t&&e.status&&e.status>=l.t3.SERVER_ERROR_RANGE_START&&e.status<=l.t3.SERVER_ERROR_RANGE_END)return void this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed. 6${i}`);if(t&&e.status&&e.status>=l.t3.CLIENT_ERROR_RANGE_START&&e.status<=l.t3.CLIENT_ERROR_RANGE_END)return void this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token. 7${i}`);if((0,i_.a)(e.error,e.error_description,e.suberror))throw new i_.CB(e.error,e.error_description,e.suberror,e.timestamp||l.YM.EMPTY_STRING,e.trace_id||l.YM.EMPTY_STRING,e.correlation_id||l.YM.EMPTY_STRING,e.claims||l.YM.EMPTY_STRING,n);throw i}}async handleServerTokenResponse(e,t,r,n,i,o,a,s,c){let u,d,h;if(this.performanceClient?.addQueueMeasurement(t4,e.correlation_id),e.id_token){if(u=eu(e.id_token||l.YM.EMPTY_STRING,this.cryptoObj.base64Decode),i&&i.nonce&&u.nonce!==i.nonce)throw ea(S);if(n.maxAge||0===n.maxAge){let e=u.auth_time;if(!e)throw ea(A);ed(e,n.maxAge)}}this.homeAccountIdentifier=e3.generateHomeAccountId(e.client_info||l.YM.EMPTY_STRING,t.authorityType,this.logger,this.cryptoObj,u),i&&i.state&&(d=ib.parseRequestState(this.cryptoObj,i.state)),e.key_id=e.key_id||n.sshKid||void 0;let g=this.generateCacheRecord(e,t,r,n,u,o,i);try{if(this.persistencePlugin&&this.serializableCache&&(this.logger.verbose("Persistence enabled, calling beforeCacheAccess"),h=new i5(this.serializableCache,!0),await this.persistencePlugin.beforeCacheAccess(h)),a&&!s&&g.account){let e=g.account.generateAccountKey();if(!this.cacheStorage.getAccount(e,n.correlationId,this.logger))return this.logger.warning("Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache"),await i9.generateAuthenticationResult(this.cryptoObj,t,g,!1,n,u,d,void 0,c)}await this.cacheStorage.saveCacheRecord(g,n.correlationId,n.storeInCache)}finally{this.persistencePlugin&&this.serializableCache&&h&&(this.logger.verbose("Persistence enabled, calling afterCacheAccess"),await this.persistencePlugin.afterCacheAccess(h))}return i9.generateAuthenticationResult(this.cryptoObj,t,g,!1,n,u,d,e,c)}generateCacheRecord(e,t,r,n,i,o,a){let s,c,l=t.getPreferredCache();if(!l)throw ea(B);let u=e4(i);e.id_token&&i&&(s=em(this.homeAccountIdentifier,l,e.id_token,this.clientId,u||""),c=i8(this.cacheStorage,t,this.homeAccountIdentifier,this.cryptoObj.base64Decode,n.correlationId,i,e.client_info,l,u,a,void 0,this.logger));let d=null;if(e.access_token){let i=e.scope?eJ.fromString(e.scope):new eJ(n.scopes||[]),a=("string"==typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0,s=("string"==typeof e.ext_expires_in?parseInt(e.ext_expires_in,10):e.ext_expires_in)||0,c=("string"==typeof e.refresh_in?parseInt(e.refresh_in,10):e.refresh_in)||void 0,h=r+a;d=ef(this.homeAccountIdentifier,l,e.access_token,this.clientId,u||t.tenant||"",i.printScopes(),h,h+s,this.cryptoObj.base64Decode,c&&c>0?r+c:void 0,e.token_type,o,e.key_id,n.claims,n.requestedClaimsHash)}let h=null;if(e.refresh_token){let t;e.refresh_token_expires_in&&(t=r+("string"==typeof e.refresh_token_expires_in?parseInt(e.refresh_token_expires_in,10):e.refresh_token_expires_in)),h=ey(this.homeAccountIdentifier,l,e.refresh_token,this.clientId,e.foci,o,t)}let g=null;return e.foci&&(g={clientId:this.clientId,environment:l,familyId:e.foci}),{account:c,idToken:s,accessToken:d,refreshToken:h,appMetadata:g}}static async generateAuthenticationResult(e,t,r,n,i,o,a,s,c){let u,d,h=l.YM.EMPTY_STRING,g=[],p=null,m=l.YM.EMPTY_STRING;if(r.accessToken){if(r.accessToken.tokenType!==l.IO.POP||i.popKid)h=r.accessToken.secret;else{let t=new i3(e),{secret:n,keyId:o}=r.accessToken;if(!o)throw ea(J);h=await t.signPopToken(n,o,i)}g=eJ.fromString(r.accessToken.target).asArray(),p=new Date(1e3*Number(r.accessToken.expiresOn)),u=new Date(1e3*Number(r.accessToken.extendedExpiresOn)),r.accessToken.refreshOn&&(d=new Date(1e3*Number(r.accessToken.refreshOn)))}r.appMetadata&&(m=r.appMetadata.familyId===l.hB?l.hB:"");let f=o?.oid||o?.sub||"",y=o?.tid||"";s?.spa_accountid&&r.account&&(r.account.nativeAccountId=s?.spa_accountid);let v=r.account?e6(r.account.getAccountInfo(),void 0,o,r.idToken?.secret):null;return{authority:t.canonicalAuthority,uniqueId:f,tenantId:y,scopes:g,account:v,idToken:r?.idToken?.secret||"",idTokenClaims:o||{},accessToken:h,fromCache:n,expiresOn:p,extExpiresOn:u,refreshOn:d,correlationId:i.correlationId,requestId:c||l.YM.EMPTY_STRING,familyId:m,tokenType:r.accessToken?.tokenType||l.YM.EMPTY_STRING,state:a?a.userRequestState:l.YM.EMPTY_STRING,cloudGraphHostName:r.account?.cloudGraphHostName||l.YM.EMPTY_STRING,msGraphHost:r.account?.msGraphHost||l.YM.EMPTY_STRING,code:s?.spa_code,fromNativeBroker:!1}}}function i8(e,t,r,n,i,o,a,s,c,l,u,d){d?.verbose("setCachedAccount called");let h=e.getAccountKeys().find(e=>e.startsWith(r)),g=null;h&&(g=e.getAccount(h,i,d));let p=g||e3.createAccount({homeAccountId:r,idTokenClaims:o,clientInfo:a,environment:s,cloudGraphHostName:l?.cloud_graph_host_name,msGraphHost:l?.msgraph_host,nativeAccountId:u},t,n),m=p.tenantProfiles||[],f=c||p.realm;if(f&&!m.find(e=>e.tenantId===f)){let e=e2(r,p.localAccountId,f,o);m.push(e)}return p.tenantProfiles=m,p}async function i7(e,t,r){return"string"==typeof e?e:e({clientId:t,tokenEndpoint:r})}class oe extends i4{constructor(e,t){super(e,t),this.includeRedirectUri=!0,this.oidcDefaultScopes=this.config.authOptions.authority.options.OIDCOptions?.defaultScopes}async getAuthCodeUrl(e){this.performanceClient?.addQueueMeasurement(tZ,e.correlationId);let t=await iy(this.createAuthCodeUrlQueryString.bind(this),t2,this.logger,this.performanceClient,e.correlationId)(e);return e8.appendQueryString(this.authority.authorizationEndpoint,t)}async acquireToken(e,t){if(this.performanceClient?.addQueueMeasurement(tX,e.correlationId),!e.code)throw ea(M);let r=eh(),n=await iy(this.executeTokenRequest.bind(this),t0,this.logger,this.performanceClient,e.correlationId)(this.authority,e),i=n.headers?.[l.OK.X_MS_REQUEST_ID],o=new i9(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin,this.performanceClient);return o.validateTokenResponse(n.body),iy(o.handleServerTokenResponse.bind(o),t4,this.logger,this.performanceClient,e.correlationId)(n.body,this.authority,r,e,t,void 0,void 0,void 0,i)}handleFragmentResponse(e,t){if(new i9(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,null,null).validateServerAuthorizationCodeResponse(e,t),!e.code)throw ea(Z);return e}getLogoutUri(e){if(!e)throw eV(eL);let t=this.createLogoutUrlQueryString(e);return e8.appendQueryString(this.authority.endSessionEndpoint,t)}async executeTokenRequest(e,t){let r;this.performanceClient?.addQueueMeasurement(t0,t.correlationId);let n=this.createTokenQueryParameters(t),i=e8.appendQueryString(e.tokenEndpoint,n),o=await iy(this.createTokenRequestBody.bind(this),t1,this.logger,this.performanceClient,t.correlationId)(t);if(t.clientInfo)try{let e=eX(t.clientInfo,this.cryptoUtils.base64Decode);r={credential:`${e.uid}${l.LR.CLIENT_INFO_SEPARATOR}${e.utid}`,type:iT}}catch(e){this.logger.verbose("Could not parse client info for CCS Header: "+e)}let a=this.createTokenRequestHeaders(r||t.ccsCredential),s={clientId:t.tokenBodyParameters?.clientId||this.config.authOptions.clientId,authority:e.canonicalAuthority,scopes:t.scopes,claims:t.claims,authenticationScheme:t.authenticationScheme,resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,sshKid:t.sshKid};return iy(this.executePostToTokenEndpoint.bind(this),tR,this.logger,this.performanceClient,t.correlationId)(i,o,a,s,t.correlationId,tR)}async createTokenRequestBody(e){let t;this.performanceClient?.addQueueMea
7surement(t1,e.correlationId);let r=new i2(e.correlationId,this.performanceClient);if(r.addClientId(e.embeddedClientId||e.tokenBodyParameters?.[iY]||this.config.authOptions.clientId),this.includeRedirectUri?r.addRedirectUri(e.redirectUri):i1.validateRedirectUri(e.redirectUri),r.addScopes(e.scopes,!0,this.oidcDefaultScopes),r.addAuthorizationCode(e.code),r.addLibraryInfo(this.config.libraryInfo),r.addApplicationTelemetry(this.config.telemetry.application),r.addThrottling(),this.serverTelemetryManager&&!tw(this.config)&&r.addServerTelemetry(this.serverTelemetryManager),e.codeVerifier&&r.addCodeVerifier(e.codeVerifier),this.config.clientCredentials.clientSecret&&r.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){let t=this.config.clientCredentials.clientAssertion;r.addClientAssertion(await i7(t.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),r.addClientAssertionType(t.assertionType)}if(r.addGrantType(l.$x.AUTHORIZATION_CODE_GRANT),r.addClientInfo(),e.authenticationScheme===l.IO.POP){let t,n=new i3(this.cryptoUtils,this.performanceClient);t=e.popKid?this.cryptoUtils.encodeKid(e.popKid):(await iy(n.generateCnf.bind(n),t6,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,r.addPopToken(t)}else if(e.authenticationScheme===l.IO.SSH)if(e.sshJwk)r.addSshJwk(e.sshJwk);else throw eV(eF);if((!eQ.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&r.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.clientInfo)try{let r=eX(e.clientInfo,this.cryptoUtils.base64Decode);t={credential:`${r.uid}${l.LR.CLIENT_INFO_SEPARATOR}${r.utid}`,type:iT}}catch(e){this.logger.verbose("Could not parse client info for CCS Header: "+e)}else t=e.ccsCredential;if(this.config.systemOptions.preventCorsPreflight&&t)switch(t.type){case iT:try{let e=e0(t.credential);r.addCcsOid(e)}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case"UPN":r.addCcsUpn(t.credential)}return e.embeddedClientId&&r.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&r.addExtraQueryParameters(e.tokenBodyParameters),!e.enableSpaAuthorizationCode||e.tokenBodyParameters&&e.tokenBodyParameters[iJ]||r.addExtraQueryParameters({[iJ]:"1"}),r.createQueryString()}async createAuthCodeUrlQueryString(e){let t=e.correlationId||this.config.cryptoInterface.createNewGuid();this.performanceClient?.addQueueMeasurement(t2,t);let r=new i2(t,this.performanceClient);r.addClientId(e.embeddedClientId||e.extraQueryParameters?.[iY]||this.config.authOptions.clientId);let n=[...e.scopes||[],...e.extraScopesToConsent||[]];if(r.addScopes(n,!0,this.oidcDefaultScopes),r.addRedirectUri(e.redirectUri),r.addCorrelationId(t),r.addResponseMode(e.responseMode),r.addResponseTypeCode(),r.addLibraryInfo(this.config.libraryInfo),tw(this.config)||r.addApplicationTelemetry(this.config.telemetry.application),r.addClientInfo(),e.codeChallenge&&e.codeChallengeMethod&&r.addCodeChallengeParams(e.codeChallenge,e.codeChallengeMethod),e.prompt&&r.addPrompt(e.prompt),e.domainHint&&r.addDomainHint(e.domainHint),e.prompt!==l._M.SELECT_ACCOUNT)if(e.sid&&e.prompt===l._M.NONE)this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request"),r.addSid(e.sid);else if(e.account){let t=this.extractAccountSid(e.account),n=this.extractLoginHint(e.account);if(n&&e.domainHint&&(this.logger.warning('AuthorizationCodeClient.createAuthCodeUrlQueryString: "domainHint" param is set, skipping opaque "login_hint" claim. Please consider not passing domainHint'),n=null),n){this.logger.verbose("createAuthCodeUrlQueryString: login_hint claim present on account"),r.addLoginHint(n);try{let t=e0(e.account.homeAccountId);r.addCcsOid(t)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(t&&e.prompt===l._M.NONE){this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account"),r.addSid(t);try{let t=e0(e.account.homeAccountId);r.addCcsOid(t)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(e.loginHint)this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from request"),r.addLoginHint(e.loginHint),r.addCcsUpn(e.loginHint);else if(e.account.username){this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from account"),r.addLoginHint(e.account.username);try{let t=e0(e.account.homeAccountId);r.addCcsOid(t)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}}else e.loginHint&&(this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request"),r.addLoginHint(e.loginHint),r.addCcsUpn(e.loginHint));else this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");if(e.nonce&&r.addNonce(e.nonce),e.state&&r.addState(e.state),(e.claims||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&r.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.embeddedClientId&&r.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),this.addExtraQueryParams(e,r),e.nativeBroker&&(r.addNativeBroker(),e.authenticationScheme===l.IO.POP)){let t,n=new i3(this.cryptoUtils);t=e.popKid?this.cryptoUtils.encodeKid(e.popKid):(await iy(n.generateCnf.bind(n),t6,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,r.addPopToken(t)}return r.createQueryString()}createLogoutUrlQueryString(e){let t=new i2(e.correlationId,this.performanceClient);return e.postLogoutRedirectUri&&t.addPostLogoutRedirectUri(e.postLogoutRedirectUri),e.correlationId&&t.addCorrelationId(e.correlationId),e.idTokenHint&&t.addIdTokenHint(e.idTokenHint),e.state&&t.addState(e.state),e.logoutHint&&t.addLogoutHint(e.logoutHint),this.addExtraQueryParams(e,t),t.createQueryString()}addExtraQueryParams(e,t){!(e.extraQueryParameters&&e.extraQueryParameters.hasOwnProperty("instance_aware"))&&this.config.authOptions.instanceAware&&(e.extraQueryParameters=e.extraQueryParameters||{},e.extraQueryParameters.instance_aware="true"),e.extraQueryParameters&&t.addExtraQueryParameters(e.extraQueryParameters)}extractAccountSid(e){return e.idTokenClaims?.sid||null}extractLoginHint(e){return e.idTokenClaims?.login_hint||null}}
7class ot{constructor(e,t){this.cacheOutcome=l.Rv.NOT_APPLICABLE,this.cacheManager=t,this.apiId=e.apiId,this.correlationId=e.correlationId,this.wrapperSKU=e.wrapperSKU||l.YM.EMPTY_STRING,this.wrapperVer=e.wrapperVer||l.YM.EMPTY_STRING,this.telemetryCacheKey=l.gT.CACHE_KEY+l.LR.CACHE_KEY_SEPARATOR+e.clientId}generateCurrentRequestHeaderValue(){let e=`${this.apiId}${l.gT.VALUE_SEPARATOR}${this.cacheOutcome}`,t=[this.wrapperSKU,this.wrapperVer],r=this.getNativeBrokerErrorCode();r?.length&&t.push(`broker_error=${r}`);let n=t.join(l.gT.VALUE_SEPARATOR),i=[e,this.getRegionDiscoveryFields()].join(l.gT.VALUE_SEPARATOR);return[l.gT.SCHEMA_VERSION,i,n].join(l.gT.CATEGORY_SEPARATOR)}generateLastRequestHeaderValue(){let e=this.getLastRequests(),t=ot.maxErrorsToSend(e),r=e.failedRequests.slice(0,2*t).join(l.gT.VALUE_SEPARATOR),n=e.errors.slice(0,t).join(l.gT.VALUE_SEPARATOR),i=e.errors.length,o=t<i?l.gT.OVERFLOW_TRUE:l.gT.OVERFLOW_FALSE,a=[i,o].join(l.gT.VALUE_SEPARATOR);return[l.gT.SCHEMA_VERSION,e.cacheHits,r,n,a].join(l.gT.CATEGORY_SEPARATOR)}cacheFailedRequest(e){let t=this.getLastRequests();t.errors.length>=l.gT.MAX_CACHED_ERRORS&&(t.failedRequests.shift(),t.failedRequests.shift(),t.errors.shift()),t.failedRequests.push(this.apiId,this.correlationId),e instanceof Error&&e&&e.toString()?e instanceof g.lR?e.subError?t.errors.push(e.subError):e.errorCode?t.errors.push(e.errorCode):t.errors.push(e.toString()):t.errors.push(e.toString()):t.errors.push(l.gT.UNKNOWN_ERROR),this.cacheManager.setServerTelemetry(this.telemetryCacheKey,t,this.correlationId)}incrementCacheHits(){let e=this.getLastRequests();return e.cacheHits+=1,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e,this.correlationId),e.cacheHits}getLastRequests(){return this.cacheManager.getServerTelemetry(this.telemetryCacheKey)||{failedRequests:[],errors:[],cacheHits:0}}clearTelemetryCache(){let e=this.getLastRequests(),t=ot.maxErrorsToSend(e);if(t===e.errors.length)this.cacheManager.removeItem(this.telemetryCacheKey,this.correlationId);else{let r={failedRequests:e.failedRequests.slice(2*t),errors:e.errors.slice(t),cacheHits:0};this.cacheManager.setServerTelemetry(this.telemetryCacheKey,r,this.correlationId)}}static maxErrorsToSend(e){let t,r=0,n=0,i=e.errors.length;for(t=0;t<i;t++){let i=e.failedRequests[2*t]||l.YM.EMPTY_STRING,o=e.failedRequests[2*t+1]||l.YM.EMPTY_STRING,a=e.errors[t]||l.YM.EMPTY_STRING;if((n+=i.toString().length+o.toString().length+a.length+3)<l.gT.MAX_LAST_HEADER_BYTES)r+=1;else break}return r}getRegionDiscoveryFields(){let e=[];return e.push(this.regionUsed||l.YM.EMPTY_STRING),e.push(this.regionSource||l.YM.EMPTY_STRING),e.push(this.regionOutcome||l.YM.EMPTY_STRING),e.join(",")}updateRegionDiscoveryMetadata(e){this.regionUsed=e.region_used,this.regionSource=e.region_source,this.regionOutcome=e.region_outcome}setCacheOutcome(e){this.cacheOutcome=e}setNativeBrokerErrorCode(e){let t=this.getLastRequests();t.nativeBrokerErrorCode=e,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,t,this.correlationId)}getNativeBrokerErrorCode(){return this.getLastRequests().nativeBrokerErrorCode}clearNativeBrokerErrorCode(){let e=this.getLastRequests();delete e.nativeBrokerErrorCode,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e,this.correlationId)}static makeExtraSkuString(e){return function(e){let{skus:t,libraryName:r,libraryVersion:n,extensionName:i,extensionVersion:o}=e,a=new Map([[0,[r,n]],[2,[i,o]]]),s=[];if(t?.length){if((s=t.split(",")).length<4)return t}else s=Array.from({length:4},()=>"|");return a.forEach((e,t)=>{2===e.length&&e[0]?.length&&e[1]?.length&&function(e){let{skuArr:t,index:r,skuName:n,skuVersion:i}=e;r>=t.length||(t[r]=[n,i].join("|"))}({skuArr:s,index:t,skuName:e[0],skuVersion:e[1]})}),s.join(",")}(e)}}class or{constructor(e,t,r,n,i,o,a,s,c){this.config=e,this.browserStorage=t,this.browserCrypto=r,this.networkClient=this.config.system.networkClient,this.eventHandler=i,this.navigationClient=o,this.nativeMessageHandler=s,this.correlationId=c||nj(),this.logger=n.clone(rp,n7,this.correlationId),this.performanceClient=a}async clearCacheOnLogout(e){if(e){e3.accountInfoIsEqual(e,this.browserStorage.getActiveAccount(this.correlationId),!1)&&(this.logger.verbose("Setting active account to null"),this.browserStorage.setActiveAccount(null,this.correlationId));try{await this.browserStorage.removeAccount(e3.generateAccountCacheKey(e),this.correlationId),this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.")}catch(e){this.logger.error("Account provided in logout request was not found. Local cache unchanged.")}}else try{this.logger.verbose("No account provided in logout request, clearing all cache items.",this.correlationId),await this.browserStorage.clear(this.correlationId),await this.browserCrypto.clearKeystore()}catch(e){this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.")}}getRedirectUri(e){this.logger.verbose("getRedirectUri called");let t=e||this.config.auth.redirectUri;return e8.getAbsoluteUrl(t,n6())}initializeServerTelemetryManager(e,t){return this.logger.verbose("initializeServerTelemetryManager called"),new ot({clientId:this.config.auth.clientId,correlationId:this.correlationId,apiId:e,forceRefresh:t||!1,wrapperSKU:this.browserStorage.getWrapperMetadata()[0],wrapperVer:this.browserStorage.getWrapperMetadata()[1]},this.browserStorage)}async getDiscoveredAuthority(e){let{account:t}=e,r=e.requestExtraQueryParameters&&e.requestExtraQueryParameters.hasOwnProperty("instance_aware")?e.requestExtraQueryParameters.instance_aware:void 0;this.performanceClient.addQueueMeasurement(tA,this.correlationId);let n={protocolMode:this.config.auth.protocolMode,OIDCOptions:this.config.auth.OIDCOptions,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},i=e.requestAuthority||this.config.auth.authority,o=r?.length?"true"===r:this.config.auth.instanceAware,a=t&&o?this.config.auth.authority.replace(e8.getDomainFromUrl(i),t.environment):i,s=iw.generateAuthority(a,e.requestAzureCloudOptions||this.config.auth.azureCloudOptions),c=await iy(i6,t5,this.logger,this.performanceClient,this.correlationId)(s,this.config.system.networkClient,this.browserStorage,n,this.logger,this.correlationId,this.performanceClient);if(t&&!c.isAlias(t.environment))throw eV(eY);return c}}async function on(e,t,r){e.addQueueMeasurement(rs,r);let n=im(oi,"generateCodeVerifier",t,e,r)(e,t,r),i=await iy(oo,rc,t,e,r)(n,e,t,r);return{verifier:n,challenge:i}}function oi(e,t,r){try{let n=new Uint8Array(32);return im(nK,"getRandomValues",t,e,r)(n),nN(n)}catch(e){throw nE(rF)}}async function oo(e,t,r,n){t.addQueueMeasurement(rc,n);try{let i=await iy(nF,rl,r,t,n)(e,t,n);return nN(new Uint8Array(i))}catch(e){throw nE(rF)}}async function oa(e,t,r,n){r.addQueueMeasurement(tH,e.correlationId);let i=e.authority||t.auth.authority,o=[...e&&e.scopes||[]],a={...e,correlationId:e.correlationId,authority:i,scopes:o};
7if(a.authenticationScheme){if(a.authenticationScheme===l.IO.SSH){if(!e.sshJwk)throw eV(eF);if(!e.sshKid)throw eV(eK)}n.verbose(`Authentication Scheme set to "${a.authenticationScheme}" as configured in Auth request`)}else a.authenticationScheme=l.IO.BEARER,n.verbose('Authentication Scheme wasn\'t explicitly set in request, defaulting to "Bearer" request');return t.cache.claimsBasedCachingEnabled&&e.claims&&!eQ.isEmptyObj(e.claims)&&(a.requestedClaimsHash=await nZ(e.claims)),a}async function os(e,t,r,n,i){n.addQueueMeasurement(tB,e.correlationId);let o=await iy(oa,tH,i,n,e.correlationId)(e,r,n,i);return{...e,...o,account:t,forceRefresh:e.forceRefresh||!1}}class oc extends or{async initializeAuthorizationCodeRequest(e){this.performanceClient.addQueueMeasurement(tW,this.correlationId);let t=await iy(on,rs,this.logger,this.performanceClient,this.correlationId)(this.performanceClient,this.logger,this.correlationId),r={...e,redirectUri:e.redirectUri,code:l.YM.EMPTY_STRING,codeVerifier:t.verifier};return e.codeChallenge=t.challenge,e.codeChallengeMethod=l.YM.S256_CODE_CHALLENGE_METHOD,r}initializeLogoutRequest(e){this.logger.verbose("initializeLogoutRequest called",e?.correlationId);let t={correlationId:this.correlationId||nj(),...e};if(e)if(e.logoutHint)this.logger.verbose("logoutHint has already been set in logoutRequest");else if(e.account){let r=this.getLogoutHintFromIdTokenClaims(e.account);r&&(this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided"),t.logoutHint=r)}else this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");else this.logger.verbose("logoutHint will not be set since no logout request was configured");return e&&null===e.postLogoutRedirectUri?this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri",t.correlationId):e&&e.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request",t.correlationId),t.postLogoutRedirectUri=e8.getAbsoluteUrl(e.postLogoutRedirectUri,n6())):null===this.config.auth.postLogoutRedirectUri?this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect",t.correlationId):this.config.auth.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to configured uri",t.correlationId),t.postLogoutRedirectUri=e8.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri,n6())):(this.logger.verbose("Setting postLogoutRedirectUri to current page",t.correlationId),t.postLogoutRedirectUri=e8.getAbsoluteUrl(n6(),n6())),t}getLogoutHintFromIdTokenClaims(e){let t=e.idTokenClaims;if(t)if(t.login_hint)return t.login_hint;else this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request");else this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");return null}async createAuthCodeClient(e){return this.performanceClient.addQueueMeasurement(tz,this.correlationId),new oe(await iy(this.getClientConfiguration.bind(this),tG,this.logger,this.performanceClient,this.correlationId)(e),this.performanceClient)}async getClientConfiguration(e){let{serverTelemetryManager:t,requestAuthority:r,requestAzureCloudOptions:n,requestExtraQueryParameters:i,account:o}=e;this.performanceClient.addQueueMeasurement(tG,this.correlationId);let a=await iy(this.getDiscoveredAuthority.bind(this),tA,this.logger,this.performanceClient,this.correlationId)({requestAuthority:r,requestAzureCloudOptions:n,requestExtraQueryParameters:i,account:o}),s=this.config.system.loggerOptions;return{authOptions:{clientId:this.config.auth.clientId,authority:a,clientCapabilities:this.config.auth.clientCapabilities,redirectUri:this.config.auth.redirectUri},systemOptions:{tokenRenewalOffsetSeconds:this.config.system.tokenRenewalOffsetSeconds,preventCorsPreflight:!0},loggerOptions:{loggerCallback:s.loggerCallback,piiLoggingEnabled:s.piiLoggingEnabled,logLevel:s.logLevel,correlationId:this.correlationId},cacheOptions:{claimsBasedCachingEnabled:this.config.cache.claimsBasedCachingEnabled},cryptoInterface:this.browserCrypto,networkInterface:this.networkClient,storageInterface:this.browserStorage,serverTelemetryManager:t,libraryInfo:{sku:rp,version:n7,cpu:l.YM.EMPTY_STRING,os:l.YM.EMPTY_STRING},telemetry:this.config.telemetry}}async initializeAuthorizationRequest(e,t){this.performanceClient.addQueueMeasurement(tY,this.correlationId);let r=this.getRedirectUri(e.redirectUri),n=ib.setRequestState(this.browserCrypto,e&&e.state||l.YM.EMPTY_STRING,{interactionType:t}),i={...await iy(oa,tH,this.logger,this.performanceClient,this.correlationId)({...e,correlationId:this.correlationId},this.config,this.performanceClient,this.logger),redirectUri:r,state:n,nonce:e.nonce||nj(),responseMode:this.config.auth.OIDCOptions.serverResponseType};if(e.loginHint||e.sid)return i;let o=e.account||this.browserStorage.getActiveAccount(this.correlationId);if(o&&(this.logger.verbose("Setting validated request account",this.correlationId),this.logger.verbosePii(`Setting validated request account: ${o.homeAccountId}`,this.correlationId),i.account=o),!i.loginHint&&!o){let e=this.browserStorage.getLegacyLoginHint();e&&(i.loginHint=e)}return i}}var ol=r(91566);let ou="user_switch",od={[ou]:"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again."};class oh extends g.lR{constructor(e,t,r){super(e,t),Object.setPrototypeOf(this,oh.prototype),this.name="NativeAuthError",this.ext=r}}function og(e){return!!e.ext&&!!e.ext.status&&("PERSISTENT_ERROR"===e.ext.status||"DISABLED"===e.ext.status)||!!e.ext&&!!e.ext.error&&-0x7ffb78ff===e.ext.error||"ContentError"===e.errorCode}function op(e,t,r){if(r&&r.status)switch(r.status){case"ACCOUNT_UNAVAILABLE":return(0,i_.IE)(iI.B);case"USER_INTERACTION_REQUIRED":return new i_.CB(e,t);case"USER_CANCEL":return nE(rJ);case"NO_NETWORK":return nE(no)}return new oh(e,od[e]||t,r)}class om extends i4{constructor(e,t){super(e,t)}async acquireToken(e){this.performanceClient?.addQueueMeasurement(tM,e.correlationId);let t=eh(),r=await iy(this.executeTokenRequest.bind(this),tO,this.logger,this.performanceClient,e.correlationId)(e,this.authority),n=r.headers?.[l.OK.X_MS_REQUEST_ID],i=new i9(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin);return i.validateTokenResponse(r.body),iy(i.handleServerTokenResponse.bind(i),t4,this.logger,this.performanceClient,e.correlationId)(r.body,this.authority,t,e,void 0,void 0,!0,e.forceCache,n)}async acquireTokenByRefreshToken(e){if(!e)throw eV(ex);if(this.performanceClient?.addQueueMeasurement(tN,e.correlationId),!e.account)throw ea(q);
7if(this.cacheManager.isAppMetadataFOCI(e.account.environment))try{return await iy(this.acquireTokenWithCachedRefreshToken.bind(this),tP,this.logger,this.performanceClient,e.correlationId)(e,!0)}catch(r){let e=r instanceof i_.CB&&r.errorCode===iI.oF,t=r instanceof iz&&r.errorCode===l.I.INVALID_GRANT_ERROR&&r.subError===l.I.CLIENT_MISMATCH_ERROR;if(e||t);else throw r}return iy(this.acquireTokenWithCachedRefreshToken.bind(this),tP,this.logger,this.performanceClient,e.correlationId)(e,!1)}async acquireTokenWithCachedRefreshToken(e,t){this.performanceClient?.addQueueMeasurement(tP,e.correlationId);let r=im(this.cacheManager.getRefreshToken.bind(this.cacheManager),"cacheManagerGetRefreshToken",this.logger,this.performanceClient,e.correlationId)(e.account,t,e.correlationId,void 0,this.performanceClient);if(!r)throw(0,i_.IE)(iI.oF);if(r.expiresOn&&eg(r.expiresOn,e.refreshTokenExpirationOffsetSeconds||300))throw(0,i_.IE)(iI.AG);let n={...e,refreshToken:r.secret,authenticationScheme:e.authenticationScheme||l.IO.BEARER,ccsCredential:{credential:e.account.homeAccountId,type:iT}};try{return await iy(this.acquireToken.bind(this),tM,this.logger,this.performanceClient,e.correlationId)(n)}catch(t){if(t instanceof i_.CB&&t.subError===iI.j9){this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache");let t=ep(r);this.cacheManager.removeRefreshToken(t,e.correlationId)}throw t}}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(tO,e.correlationId);let r=this.createTokenQueryParameters(e),n=e8.appendQueryString(t.tokenEndpoint,r),i=await iy(this.createTokenRequestBody.bind(this),tx,this.logger,this.performanceClient,e.correlationId)(e),o=this.createTokenRequestHeaders(e.ccsCredential),a={clientId:e.tokenBodyParameters?.clientId||this.config.authOptions.clientId,authority:t.canonicalAuthority,scopes:e.scopes,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid};return iy(this.executePostToTokenEndpoint.bind(this),tE,this.logger,this.performanceClient,e.correlationId)(n,i,o,a,e.correlationId,tE)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(tx,e.correlationId);let t=new i2(e.correlationId,this.performanceClient);if(t.addClientId(e.embeddedClientId||e.tokenBodyParameters?.[iY]||this.config.authOptions.clientId),e.redirectUri&&t.addRedirectUri(e.redirectUri),t.addScopes(e.scopes,!0,this.config.authOptions.authority.options.OIDCOptions?.defaultScopes),t.addGrantType(l.$x.REFRESH_TOKEN_GRANT),t.addClientInfo(),t.addLibraryInfo(this.config.libraryInfo),t.addApplicationTelemetry(this.config.telemetry.application),t.addThrottling(),this.serverTelemetryManager&&!tw(this.config)&&t.addServerTelemetry(this.serverTelemetryManager),t.addRefreshToken(e.refreshToken),this.config.clientCredentials.clientSecret&&t.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){let r=this.config.clientCredentials.clientAssertion;t.addClientAssertion(await i7(r.assertion,this.config.authOptions.clientId,e.resourceRequestUri)),t.addClientAssertionType(r.assertionType)}if(e.authenticationScheme===l.IO.POP){let r,n=new i3(this.cryptoUtils,this.performanceClient);r=e.popKid?this.cryptoUtils.encodeKid(e.popKid):(await iy(n.generateCnf.bind(n),t6,this.logger,this.performanceClient,e.correlationId)(e,this.logger)).reqCnfString,t.addPopToken(r)}else if(e.authenticationScheme===l.IO.SSH)if(e.sshJwk)t.addSshJwk(e.sshJwk);else throw eV(eF);if((!eQ.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&t.addClaims(e.claims,this.config.authOptions.clientCapabilities),this.config.systemOptions.preventCorsPreflight&&e.ccsCredential)switch(e.ccsCredential.type){case iT:try{let r=e0(e.ccsCredential.credential);t.addCcsOid(r)}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case"UPN":t.addCcsUpn(e.ccsCredential.credential)}return e.embeddedClientId&&t.addBrokerParameters({brokerClientId:this.config.authOptions.clientId,brokerRedirectUri:this.config.authOptions.redirectUri}),e.tokenBodyParameters&&t.addExtraQueryParameters(e.tokenBodyParameters),t.createQueryString()}}class of extends i4{constructor(e,t){super(e,t)}async acquireToken(e){try{let[t,r]=await this.acquireCachedToken({...e,scopes:e.scopes?.length?e.scopes:[...l.aZ]});return r===l.Rv.PROACTIVELY_REFRESHED&&(this.logger.info("SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed."),new om(this.config,this.performanceClient).acquireTokenByRefreshToken(e).catch(()=>{})),t}catch(t){if(t instanceof eo&&t.errorCode===G)return new om(this.config,this.performanceClient).acquireTokenByRefreshToken(e);throw t}}async acquireCachedToken(e){this.performanceClient?.addQueueMeasurement(tU,e.correlationId);let t=l.Rv.NOT_APPLICABLE;if(e.forceRefresh||!this.config.cacheOptions.claimsBasedCachingEnabled&&!eQ.isEmptyObj(e.claims))throw this.setCacheOutcome(l.Rv.FORCE_REFRESH_OR_CLAIMS,e.correlationId),ea(G);if(!e.account)throw ea(q);let r=e.account.tenantId||function(e){let t=new e8(e).getUrlComponents(),r=t.PathSegments.slice(-1)[0]?.toLowerCase();switch(r){case l.v2.COMMON:case l.v2.ORGANIZATIONS:case l.v2.CONSUMERS:return;default:return r}}(e.authority),n=this.cacheManager.getTokenKeys(),i=this.cacheManager.getAccessToken(e.account,e,n,r,this.performanceClient);if(i)if(Number(i.cachedAt)>eh()||eg(i.expiresOn,this.config.systemOptions.tokenRenewalOffsetSeconds))throw this.setCacheOutcome(l.Rv.CACHED_ACCESS_TOKEN_EXPIRED,e.correlationId),ea(G);else i.refreshOn&&eg(i.refreshOn,0)&&(t=l.Rv.PROACTIVELY_REFRESHED);else throw this.setCacheOutcome(l.Rv.NO_CACHED_ACCESS_TOKEN,e.correlationId),ea(G);let o=e.authority||this.authority.getPreferredCache(),a={account:this.cacheManager.readAccountFromCache(e.account,e.correlationId),accessToken:i,idToken:this.cacheManager.getIdToken(e.account,e.correlationId,n,r,this.performanceClient),refreshToken:null,appMetadata:this.cacheManager.readAppMetadataFromCac
7he(o)};return this.setCacheOutcome(t,e.correlationId),this.config.serverTelemetryManager&&this.config.serverTelemetryManager.incrementCacheHits(),[await iy(this.generateResultFromCacheRecord.bind(this),tD,this.logger,this.performanceClient,e.correlationId)(a,e),t]}setCacheOutcome(e,t){this.serverTelemetryManager?.setCacheOutcome(e),this.performanceClient?.addFields({cacheOutcome:e},t),e!==l.Rv.NOT_APPLICABLE&&this.logger.info(`Token refresh is required due to cache outcome: ${e}`)}async generateResultFromCacheRecord(e,t){let r;if(this.performanceClient?.addQueueMeasurement(tD,t.correlationId),e.idToken&&(r=eu(e.idToken.secret,this.config.cryptoInterface.base64Decode)),t.maxAge||0===t.maxAge){let e=r?.auth_time;if(!e)throw ea(A);ed(e,t.maxAge)}return i9.generateAuthenticationResult(this.cryptoUtils,this.authority,e,!0,t,r)}}class oy extends oc{async acquireToken(e){this.performanceClient.addQueueMeasurement(tb,e.correlationId);let t=this.initializeServerTelemetryManager(61),r=new of(await iy(this.getClientConfiguration.bind(this),tG,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:t,requestAuthority:e.authority,requestAzureCloudOptions:e.azureCloudOptions,account:e.account}),this.performanceClient);this.logger.verbose("Silent auth client created");try{let t=(await iy(r.acquireCachedToken.bind(r),tU,this.logger,this.performanceClient,e.correlationId)(e))[0];return this.performanceClient.addFields({fromCache:!0},e.correlationId),t}catch(e){throw e instanceof nk&&e.errorCode===nu&&this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair."),e}}logout(e){this.logger.verbose("logoutRedirect called");let t=this.initializeLogoutRequest(e);return this.clearCacheOnLogout(t?.account)}}class ov extends or{constructor(e,t,r,n,i,o,a,s,c,l,u,d){super(e,t,r,n,i,o,s,c,d),this.apiId=a,this.accountId=l,this.nativeMessageHandler=c,this.nativeStorageManager=u,this.silentCacheClient=new oy(e,this.nativeStorageManager,r,n,i,o,s,c,d),this.serverTelemetryManager=this.initializeServerTelemetryManager(this.apiId);const h=this.nativeMessageHandler.getExtensionId()===rf?"chrome":this.nativeMessageHandler.getExtensionId()?.length?"unknown":void 0;this.skus=ot.makeExtraSkuString({libraryName:rp,libraryVersion:n7,extensionName:h,extensionVersion:this.nativeMessageHandler.getExtensionVersion()})}addRequestSKUs(e){e.extraParameters={...e.extraParameters,"x-client-xtra-sku":this.skus}}async acquireToken(e){this.performanceClient.addQueueMeasurement(tk,e.correlationId),this.logger.trace("NativeInteractionClient - acquireToken called.");let t=this.performanceClient.startMeasurement(tk,e.correlationId),r=eh();try{let n=await this.initializeNativeRequest(e);try{let e=await this.acquireTokensFromCache(this.accountId,n);return t.end({success:!0,isNativeBroker:!1,fromCache:!0}),e}catch(e){this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call")}let{...i}=n,o=await this.nativeMessageHandler.sendMessage({method:rv,request:i}),a=this.validateNativeResponse(o);return await this.handleNativeResponse(a,n,r).then(e=>(t.end({success:!0,isNativeBroker:!0,requestId:e.requestId}),this.serverTelemetryManager.clearNativeBrokerErrorCode(),e)).catch(e=>{throw t.end({success:!1,errorCode:e.errorCode,subErrorCode:e.subError,isNativeBroker:!0}),e})}catch(e){throw e instanceof oh&&this.serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode),e}}createSilentCacheRequest(e,t){return{authority:e.authority,correlationId:this.correlationId,scopes:eJ.fromString(e.scope).asArray(),account:t,forceRefresh:!1}}async acquireTokensFromCache(e,t){if(!e)throw this.logger.warning("NativeInteractionClient:acquireTokensFromCache - No nativeAccountId provided"),ea(F);let r=this.browserStorage.getBaseAccountInfo({nativeAccountId:e},t.correlationId);if(!r)throw ea(F);try{let e=this.createSilentCacheRequest(t,r),n=await this.silentCacheClient.acquireToken(e),i={...r,idTokenClaims:n?.idTokenClaims,idToken:n?.idToken};return{...n,account:i}}catch(e){throw e}}async acquireTokenRedirect(e,t){this.logger.trace("NativeInteractionClient - acquireTokenRedirect called.");let{...r}=e;delete r.onRedirectNavigate;let n=await this.initializeNativeRequest(r);try{let e=await this.nativeMessageHandler.sendMessage({method:rv,request:n});this.validateNativeResponse(e)}catch(e){if(e instanceof oh&&(this.serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode),og(e)))throw e}this.browserStorage.setTemporaryCache(rR,JSON.stringify(n),!0);let i={apiId:861,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},o=this.config.auth.navigateToLoginRequestUrl?window.location.href:this.getRedirectUri(e.redirectUri);t.end({success:!0}),await this.navigationClient.navigateExternal(o,i)}async handleRedirectPromise(e,t){if(this.logger.trace("NativeInteractionClient - handleRedirectPromise called."),!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;let r=this.browserStorage.getCachedNativeRequest();if(!r)return this.logger.verbose("NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null."),e&&t&&e?.addFields({errorCode:"no_cached_request"},t),null;let{prompt:n,...i}=r;n&&this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, remov
7ing prompt from cached request to prevent second interaction with native broker window."),this.browserStorage.removeItem(this.browserStorage.generateCacheKey(rR));let o=eh();try{this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");let e=await this.nativeMessageHandler.sendMessage({method:rv,request:i});this.validateNativeResponse(e);let t=this.handleNativeResponse(e,i,o);this.browserStorage.setInteractionInProgress(!1);let r=await t;return this.serverTelemetryManager.clearNativeBrokerErrorCode(),r}catch(e){throw this.browserStorage.setInteractionInProgress(!1),e}}logout(){return this.logger.trace("NativeInteractionClient - logout called."),Promise.reject("Logout not implemented yet")}async handleNativeResponse(e,t,r){this.logger.trace("NativeInteractionClient - handleNativeResponse called.");let n=eu(e.id_token,il),i=this.createHomeAccountIdentifier(e,n);if(i!==this.browserStorage.getAccountInfoFilteredBy({nativeAccountId:t.accountId},this.correlationId)?.homeAccountId&&e.account.id!==t.accountId)throw op(ou);let o=await this.getDiscoveredAuthority({requestAuthority:t.authority}),a=i8(this.browserStorage,o,i,il,this.correlationId,n,e.client_info,void 0,n.tid,void 0,e.account.id,this.logger),s=await this.generateAuthenticationResult(e,t,n,a,o.canonicalAuthority,r);return this.cacheAccount(a),this.cacheNativeTokens(e,t,i,n,e.access_token,s.tenantId,r),s}createHomeAccountIdentifier(e,t){return e3.generateHomeAccountId(e.client_info||l.YM.EMPTY_STRING,0,this.logger,this.browserCrypto,t)}generateScopes(e,t){return e.scope?eJ.fromString(e.scope):eJ.fromString(t.scope)}async generatePopAccessToken(e,t){if(t.tokenType!==l.IO.POP||!t.signPopToken)return e.access_token;{if(e.shr)return this.logger.trace("handleNativeServerResponse: SHR is enabled in native layer"),e.shr;let r=new i3(this.browserCrypto),n={resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,shrNonce:t.shrNonce};if(!t.keyId)throw ea(J);return r.signPopToken(e.access_token,t.keyId,n)}}async generateAuthenticationResult(e,t,r,n,i,o){let a=this.addTelemetryFromNativeResponse(e),s=e.scope?eJ.fromString(e.scope):eJ.fromString(t.scope),c=e.account.properties||{},u=c.UID||r.oid||r.sub||l.YM.EMPTY_STRING,d=c.TenantId||r.tid||l.YM.EMPTY_STRING,h=e6(n.getAccountInfo(),void 0,r,e.id_token);h.nativeAccountId!==e.account.id&&(h.nativeAccountId=e.account.id);let g=await this.generatePopAccessToken(e,t),p=t.tokenType===l.IO.POP?l.IO.POP:l.IO.BEARER;return{authority:i,uniqueId:u,tenantId:d,scopes:s.asArray(),account:h,idToken:e.id_token,idTokenClaims:r,accessToken:g,fromCache:!!a&&this.isResponseFromCache(a),expiresOn:new Date(1e3*Number(o+e.expires_in)),tokenType:p,correlationId:this.correlationId,state:e.state,fromNativeBroker:!0}}cacheAccount(e){this.browserStorage.setAccount(e,this.correlationId),this.browserStorage.removeAccountContext(e,this.correlationId).catch(e=>{this.logger.error(`Error occurred while removing account context from browser storage. ${e}`)})}cacheNativeTokens(e,t,r,n,i,o,a){let s=em(r,t.authority,e.id_token||"",t.clientId,n.tid||""),c=t.tokenType===l.IO.POP?l.YM.SHR_NONCE_VALIDITY:("string"==typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0,u=this.generateScopes(e,t),d=ef(r,t.authority,i,t.clientId,n.tid||o,u.printScopes(),a+c,0,il,void 0,t.tokenType,void 0,t.keyId);this.nativeStorageManager.saveCacheRecord({idToken:s,accessToken:d},t.correlationId,t.storeInCache)}addTelemetryFromNativeResponse(e){let t=this.getMATSFromResponse(e);return t?(this.performanceClient.addFields({extensionId:this.nativeMessageHandler.getExtensionId(),extensionVersion:this.nativeMessageHandler.getExtensionVersion(),matsBrokerVersion:t.broker_version,matsAccountJoinOnStart:t.account_join_on_start,matsAccountJoinOnEnd:t.account_join_on_end,matsDeviceJoin:t.device_join,matsPromptBehavior:t.prompt_behavior,matsApiErrorCode:t.api_error_code,matsUiVisible:t.ui_visible,matsSilentCode:t.silent_code,matsSilentBiSubCode:t.silent_bi_sub_code,matsSilentMessage:t.silent_message,matsSilentStatus:t.silent_status,matsHttpStatus:t.http_status,matsHttpEventCount:t.http_event_c
7ount},this.correlationId),t):null}validateNativeResponse(e){if(e.hasOwnProperty("access_token")&&e.hasOwnProperty("id_token")&&e.hasOwnProperty("client_info")&&e.hasOwnProperty("account")&&e.hasOwnProperty("scope")&&e.hasOwnProperty("expires_in"))return e;throw(0,g.pz)(ol.W,"Response missing expected properties.")}getMATSFromResponse(e){if(e.properties.MATS)try{return JSON.parse(e.properties.MATS)}catch(e){this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead")}return null}isResponseFromCache(e){return void 0===e.is_cached?(this.logger.verbose("NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false."),!1):!!e.is_cached}async initializeNativeRequest(e){this.logger.trace("NativeInteractionClient - initializeNativeRequest called");let t=e.authority||this.config.auth.authority;e.account&&await this.getDiscoveredAuthority({requestAuthority:t,requestAzureCloudOptions:e.azureCloudOptions,account:e.account});let r=new e8(t);r.validateAsUri();let{scopes:n,...i}=e,o=new eJ(n||[]);o.appendScopes(l.aZ);let a=()=>{switch(this.apiId){case 863:case 61:return this.logger.trace("initializeNativeRequest: silent request sets prompt to none"),l._M.NONE}if(!e.prompt)return void this.logger.trace("initializeNativeRequest: prompt was not provided");switch(e.prompt){case l._M.NONE:case l._M.CONSENT:case l._M.LOGIN:return this.logger.trace("initializeNativeRequest: prompt is compatible with native flow"),e.prompt;default:throw this.logger.trace(`initializeNativeRequest: prompt = ${e.prompt} is not compatible with native flow`),nE(nC)}},s={...i,accountId:this.accountId,clientId:this.config.auth.clientId,authority:r.urlString,scope:o.printScopes(),redirectUri:this.getRedirectUri(e.redirectUri),prompt:a(),correlationId:this.correlationId,tokenType:e.authenticationScheme,windowTitleSubstring:document.title,extraParameters:{...e.extraQueryParameters,...e.tokenQueryParameters},extendedExpiryToken:!1,keyId:e.popKid};if(s.signPopToken&&e.popKid)throw nE(nI);if(this.handleExtraBrokerParams(s),s.extraParameters=s.extraParameters||{},s.extraParameters.telemetry="MATS",e.authenticationScheme===l.IO.POP){let t,r={resourceRequestUri:e.resourceRequestUri,resourceRequestMethod:e.resourceRequestMethod,shrClaims:e.shrClaims,shrNonce:e.shrNonce},n=new i3(this.browserCrypto);if(s.keyId)t=this.browserCrypto.base64UrlEncode(JSON.stringify({kid:s.keyId})),s.signPopToken=!1;else{let i=await iy(n.generateCnf.bind(n),t6,this.logger,this.performanceClient,e.correlationId)(r,this.logger);
7t=i.reqCnfString,s.keyId=i.kid,s.signPopToken=!0}s.reqCnf=t}return this.addRequestSKUs(s),s}handleExtraBrokerParams(e){let t=e.extraParameters&&e.extraParameters.hasOwnProperty(iX)&&e.extraParameters.hasOwnProperty(i0)&&e.extraParameters.hasOwnProperty(iY);if(!e.embeddedClientId&&!t)return;let r="",n=e.redirectUri;e.embeddedClientId?(e.redirectUri=this.config.auth.redirectUri,r=e.embeddedClientId):e.extraParameters&&(e.redirectUri=e.extraParameters[i0],r=e.extraParameters[iY]),e.extraParameters={child_client_id:r,child_redirect_uri:n},this.performanceClient?.addFields({embeddedClientId:r,embeddedRedirectUri:n},e.correlationId)}}class ow{constructor(e,t,r,n){this.logger=e,this.handshakeTimeoutMs=t,this.extensionId=n,this.resolvers=new Map,this.handshakeResolvers=new Map,this.messageChannel=new MessageChannel,this.windowListener=this.onWindowMessage.bind(this),this.performanceClient=r,this.handshakeEvent=r.startMeasurement("nativeMessageHandlerHandshake")}async sendMessage(e){this.logger.trace("NativeMessageHandler - sendMessage called.");let t={channel:rm,extensionId:this.extensionId,responseId:nj(),body:e};return this.logger.trace("NativeMessageHandler - Sending request to browser extension"),this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(t)}`),this.messageChannel.port1.postMessage(t),new Promise((e,r)=>{this.resolvers.set(t.responseId,{resolve:e,reject:r})})}static async createProvider(e,t,r){e.trace("NativeMessageHandler - createProvider called.");try{let n=new ow(e,t,r,rf);return await n.sendHandshakeRequest(),n}catch(i){let n=new ow(e,t,r);return await n.sendHandshakeRequest(),n}}async sendHandshakeRequest(){this.logger.trace("NativeMessageHandler - sendHandshakeRequest called."),window.addEventListener("message",this.windowListener,!1);let e={channel:rm,extensionId:this.extensionId,responseId:nj(),body:{method:ry}};return this.handshakeEvent.add({extensionId:this.extensionId,extensionHandshakeTimeoutMs:this.handshakeTimeoutMs}),this.messageChannel.port1.onmessage=e=>{this.onChannelMessage(e)},window.postMessage(e,window.origin,[this.messageChannel.port2]),new Promise((t,r)=>{this.handshakeResolvers.set(e.responseId,{resolve:t,reject:r}),this.timeoutId=window.setTimeout(()=>{window.removeEventListener("message",this.windowListener,!1),this.messageChannel.port1.close(),this.messageChannel.port2.close(),this.handshakeEvent.end({extensionHandshakeTimedOut:!0,success:!1}),r(nE(nf)),this.handshakeResolvers.delete(e.responseId)},this.handshakeTimeoutMs)})}onWindowMessage(e){if(this.logger.trace("NativeMessageHandler - onWindowMessage called"),e.source!==window)return;let t=e.data;if(t.channel&&t.channel===rm&&(!t.extensionId||t.extensionId===this.extensionId)&&t.body.method===ry){let e=this.handshakeResolvers.get(t.responseId);if(!e)return void this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${t.responseId}`);this.logger.verbose(t.extensionId?`Extension with id: ${t.extensionId} not installed`:"No extension installed"),clearTimeout(this.timeoutId),this.messageChannel.port1.close(),this.messageChannel.port2.close(),window.removeEventListener("message",this.windowListener,!1),this.handshakeEvent.end({success:!1,extensionInstalled:!1}),e.reject(nE(ny))}}onChannelMessage(e){this.logger.trace("NativeMessageHandler - onChannelMessage called.");let t=e.data,r=this.resolvers.get(t.responseId),n=this.handshakeResolvers.get(t.responseId);try{let e=t.body.method;if("Response"===e){if(!r)return;let e=t.body.response;if(this.logger.trace("NativeMessageHandler - Received response from browser extension"),this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(e)}`),"Success"!==e.status)r.reject(op(e.code,e.description,e.ext));else if(e.result)e.result.code&&e.result.description?r.reject(op(e.result.code,e.result.description,e.result.ext)):r.resolve(e.result);else throw(0,g.pz)(ol.W,"Event does not contain result.");this.resolvers.delete(t.responseId)}else if("HandshakeResponse"===e){if(!n)return void this.logger.trace(`NativeMessageHandler.onCh
7annelMessage - resolver can't be found for request ${t.responseId}`);clearTimeout(this.timeoutId),window.removeEventListener("message",this.windowListener,!1),this.extensionId=t.extensionId,this.extensionVersion=t.body.version,this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`),this.handshakeEvent.end({extensionInstalled:!0,success:!0}),n.resolve(),this.handshakeResolvers.delete(t.responseId)}}catch(t){this.logger.error("Error parsing response from WAM Extension"),this.logger.errorPii(`Error parsing response from WAM Extension: ${t}`),this.logger.errorPii(`Unable to parse ${e}`),r?r.reject(t):n&&n.reject(t)}}getExtensionId(){return this.extensionId}getExtensionVersion(){return this.extensionVersion}static isNativeAvailable(e,t,r,n){if(t.trace("isNativeAvailable called"),!e.system.allowNativeBroker)return t.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false"),!1;if(!r)return t.trace("isNativeAvailable: WAM extension provider is not initialized, returning false"),!1;if(n)switch(n){case l.IO.BEARER:case l.IO.POP:t.trace("isNativeAvailable: authenticationScheme is supported, returning true");break;default:return t.trace("isNativeAvailable: authenticationScheme is not supported, returning false"),!1}return!0}}class oC{constructor(e,t,r,n,i){this.authModule=e,this.browserStorage=t,this.authCodeRequest=r,this.logger=n,this.performanceClient=i}async handleCodeResponse(e,t){let r;this.performanceClient.addQueueMeasurement(tQ,t.correlationId);try{r=this.authModule.handleFragmentResponse(e,t.state)}catch(e){if(e instanceof iz&&e.subError===rJ)throw nE(rJ);throw e}return iy(this.handleCodeResponseFromServer.bind(this),tV,this.logger,this.performanceClient,t.correlationId)(r,t)}async handleCodeResponseFromServer(e,t,r=!0){if(this.performanceClient.addQueueMeasurement(tV,t.correlationId),this.logger.trace("InteractionHandler.handleCodeResponseFromServer called"),this.authCodeRequest.code=e.code,e.cloud_instance_host_name&&await iy(this.authModule.updateAuthority.bind(this.authModule),tJ,this.logger,this.performanceClient,t.correlationId)(e.cloud_instance_host_name,t.correlationId),r&&(e.nonce=t.nonce||void 0),e.state=t.state,e.client_info)this.authCodeRequest.clientInfo=e.client_info;else{let e=this.createCcsCredentials(t);e&&(this.authCodeRequest.ccsCredential=e)}return await iy(this.authModule.acquireToken.bind(this.authModule),tX,this.logger,this.performanceClient,t.correlationId)(this.authCodeRequest,e)}createCcsCredentials(e){return e.account?{credential:e.account.homeAccountId,type:iT}:e.loginHint?{credential:e.loginHint,type:"UPN"}:null}}function o_(e,t,r){let n=e9(e);if(!n)if(e5(e))throw r.error(`A ${t} is present in the iframe but it does not contain known properties. It's likely that the ${t} has been replaced by code running on the redirectUri page.`),r.errorPii(`The ${t} detected is: ${e}`),nE(rG);else throw r.error(`The request has returned to the redirectUri but a ${t} is not present. It's likely that the ${t} has been removed or the page has been redirected by code running on the redirectUri page.`),nE(rj);return n}class oI extends oc{constructor(e,t,r,n,i,o,a,s,c,l){super(e,t,r,n,i,o,a,c,l),this.unloadWindow=this.unloadWindow.bind(this),this.nativeStorage=s}acquireToken(e){try{let t={popupName:this.generatePopupName(e.scopes||l.aZ,e.authority||this.config.auth.authority),popupWindowAttributes:e.popupWindowAttributes||{},popupWindowParent:e.popupWindowParent??window};if(this.config.system.asyncPopups)return this.logger.verbose("asyncPopups set to true, acquiring token"),this.acquireTokenPopupAsync(e,t);return this.logger.verbose("asyncPopup set to false, opening popup before acquiring token"),t.popup=this.openSizedPopup("about:blank",t),this.acquireTokenPopupAsync(e,t)}catch(e){return Promise.reject(e)}}logout(e){try{this.logger.verbose("logoutPopup called");let t=this.initializeLogoutRequest(e),r={popupName:this.generateLogoutPopupName(t),popupWindowAttributes:e?.popupWindowAttributes||{},popupWindowParent:e?.popupWindowParent??window},n=e&&e.authority,i=e&&e.mainWindowRedirectUri;if(this.config.system.asyncPopups)return this.logger.verbose("asyncPopups set to true"),this.logoutPopupAsync(t,r,n,i);return this.logger.verbose("asyncPopup set to false, opening popup"),r.popup=this.openSizedPopup("about:blank",r),this.logoutPopupAsync(t,r,n,i)}catch(e){return Promise.reject(e)}}async acquireTokenPopupAsync(e,t){this.logger.verbose("acquireTokenPopupAsync called");let r=this.initializeServerTelemetryManager(862),n=await iy(this.initializeAuthorizationRequest.bind(this),tY,this.logger,this.performanceClient,this.correlationId)(e,a.Popup);n8(n.authority);try{let i,o=await iy(this.initializeAuthorizationCodeRequest.bind(this),tW,this.logger,this.performanceClient,this.correlationId)(n),s=await iy(this.createAuthCodeClient.bind(this),tz,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:n.authority,requestAzureCloudOptions:n.azureCloudOptions,requestExtraQueryParameters:n.extraQueryParameters,account:n.account}),c=ow.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme);c&&(i=this.performanceClient.startMeasurement("fetchAccountIdWithNativeBroker",e.correlationId));let l=await s.getAuthCodeUrl({...n,nativeBroker:c}),u=new oC(s,this.browserStorage,o,this.logger,this.performanceClient),d=this.initiateAuthRequest(l,t);this.eventHandler.emitEvent(iH,a.Popup,{popupWindow:d},null);let h=await this.monitorPopupForHash(d,t.popupWindowParent),g=im(o_,t3,this.logger,this.performanceClient,this.correlationId)(h,this.config.auth.OIDCOptions.serverResponseType,this.logger);if(iG.removeThrottle(this.browserStorage,this.config.auth.clientId,o),g.accountId){if
7(this.logger.verbose("Account id found in hash, calling WAM for token"),i&&i.end({success:!0,isNativeBroker:!0}),!this.nativeMessageHandler)throw nE(nv);let e=new ov(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,862,this.performanceClient,this.nativeMessageHandler,g.accountId,this.nativeStorage,n.correlationId),{userRequestState:t}=ib.parseRequestState(this.browserCrypto,n.state);return await e.acquireToken({...n,state:t,prompt:void 0})}return await u.handleCodeResponse(g,n)}catch(e){throw t.popup?.close(),e instanceof g.lR&&(e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e)),e}}async logoutPopupAsync(e,t,r,n){this.logger.verbose("logoutPopupAsync called"),this.eventHandler.emitEvent(iB,a.Popup,e);let i=this.initializeServerTelemetryManager(962);try{await this.clearCacheOnLogout(e.account);let o=await iy(this.createAuthCodeClient.bind(this),tz,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:i,requestAuthority:r,account:e.account||void 0});try{o.authority.endSessionEndpoint}catch{if(e.account?.homeAccountId&&e.postLogoutRedirectUri&&o.authority.protocolMode===d){if(this.browserStorage.removeAccount(e.account?.homeAccountId,this.correlationId),this.eventHandler.emitEvent(iF,a.Popup,e),n){let e={apiId:962,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=e8.getAbsoluteUrl(n,n6());await this.navigationClient.navigateInternal(t,e)}t.popup?.close();return}}let s=o.getLogoutUri(e);this.eventHandler.emitEvent(iF,a.Popup,e);let c=this.openPopup(s,t);if(this.eventHandler.emitEvent(iH,a.Popup,{popupWindow:c},null),await this.monitorPopupForHash(c,t.popupWindowParent).catch(()=>{}),n){let e={apiId:962,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=e8.getAbsoluteUrl(n,n6());this.logger.verbose("Redirecting main window to url specified in the request"),this.logger.verbosePii(`Redirecting main window to: ${t}`),await this.navigationClient.navigateInternal(t,e)}else this.logger.verbose("No main window navigation requested")}catch(e){throw t.popup?.close(),e instanceof g.lR&&(e.setCorrelationId(this.correlationId),i.cacheFailedRequest(e)),this.browserStorage.setInteractionInProgress(!1),this.eventHandler.emitEvent(iK,a.Popup,null,e),this.eventHandler.emitEvent(i$,a.Popup),e}this.eventHandler.emitEvent(i$,a.Popup)}initiateAuthRequest(e,t){if(e)return this.logger.infoPii(`Navigate to: ${e}`),this.openPopup(e,t);throw this.logger.error("Navigate url is empty"),nE(r$)}monitorPopupForHash(e,t){return new Promise((t,r)=>{this.logger.verbose("PopupHandler.monitorPopupForHash - polling started");let n=setInterval(()=>{if(e.closed){this.logger.error("PopupHandler.monitorPopupForHash - window closed"),clearInterval(n),r(nE(rJ));return}let i="";try{i=e.location.href}catch(e){}if(!i||"about:blank"===i)return;clearInterval(n);let o="",a=this.config.auth.OIDCOptions.serverResponseType;e&&(o=a===l.zL.QUERY?e.location.search:e.location.hash),this.logger.verbose("PopupHandler.monitorPopupForHash - popup window is on same origin as caller"),t(o)},this.config.system.pollIntervalMilliseconds)}).finally(()=>{this.cleanPopup(e,t)})}openPopup(e,t){try{let r;if(t.popup?(r=t.popup,this.logger.verbosePii(`Navigating popup window to: ${e}`),r.location.assign(e)):void 0===t.popup&&(this.logger.verbosePii(`Opening popup window to: ${e}`),r=this.openSizedPopup(e,t)),!r)throw nE(rQ);return r.focus&&r.focus(),this.currentWindow=r,t.popupWindowParent.addEventListener("beforeunload",this.unloadWindow),r}catch(e){throw this.logger.error("error opening popup "+e.message),this.browserStorage.setInteractionInProgress(!1),nE(rV)}}openSizedPopup(e,{popupName:t,popupWindowAttributes:r,popupWindowParent:n}){let i=n.screenLeft?n.screenLeft:n.screenX,o=n.screenTop?n.screenTop:n.screenY,a=n.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,s=n.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,c=r.popupSize?.width,l=r.popupSize?.height,u=r.popupPosition?.top,d=r.popupPosition?.left;return(!c||c<0||c>a)&&(this.logger.verbose("Default popup window width used. Window width not configured or invalid."),c=483),(!l||l<0||l>s)&&(this.logger.verbose("Default popup window height used. Window height not configured or invalid."),l=600),(!u||u<0||u>s)&&(this.logger.verbose("Default popup window top position used. Window top not configured or invalid."),u=Math.max(0,s/2-300+o)),(!d||d<0||d>
7a)&&(this.logger.verbose("Default popup window left position used. Window left not configured or invalid."),d=Math.max(0,a/2-241.5+i)),n.open(e,t,`width=${c}, height=${l}, top=${u}, left=${d}, scrollbars=yes`)}unloadWindow(e){this.browserStorage.cleanRequestByInteractionType(a.Popup),this.currentWindow&&this.currentWindow.close(),e.preventDefault()}cleanPopup(e,t){e.close(),t.removeEventListener("beforeunload",this.unloadWindow),this.browserStorage.setInteractionInProgress(!1)}generatePopupName(e,t){return`${rg}.${this.config.auth.clientId}.${e.join("-")}.${t}.${this.correlationId}`}generateLogoutPopupName(e){let t=e.account&&e.account.homeAccountId;return`${rg}.${this.config.auth.clientId}.${t}.${this.correlationId}`}}class ob{constructor(e,t,r,n,i){this.authModule=e,this.browserStorage=t,this.authCodeRequest=r,this.logger=n,this.performanceClient=i}async initiateAuthRequest(e,t){if(this.logger.verbose("RedirectHandler.initiateAuthRequest called"),e){t.redirectStartPage&&(this.logger.verbose("RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page"),this.browserStorage.setTemporaryCache(rb,t.redirectStartPage,!0)),this.browserStorage.setTemporaryCache(rE,this.authCodeRequest.correlationId,!0),this.browserStorage.cacheCodeRequest(this.authCodeRequest),this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${e}`);let r={apiId:861,timeout:t.redirectTimeout,noHistory:!1};if("function"==typeof t.onRedirectNavigate)return(this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback"),!1===t.onRedirectNavigate(e))?void this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation"):(this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating"),await t.navigationClient.navigateExternal(e,r),void 0);return this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url"),await t.navigationClient.navigateExternal(e,r),void 0}throw this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty"),nE(r$)}async handleCodeResponse(e,t){let r;this.logger.verbose("RedirectHandler.handleCodeResponse called"),this.browserStorage.setInteractionInProgress(!1);let n=this.browserStorage.generateStateKey(t),i=this.browserStorage.getTemporaryCache(n);if(!i)throw ea(T,"Cached State");try{r=this.authModule.handleFragmentResponse(e,i)}catch(e){if(e instanceof iz&&e.subError===rJ)throw nE(rJ);throw e}let o=this.browserStorage.generateNonceKey(i),a=this.browserStorage.getTemporaryCache(o);if(this.authCodeRequest.code=r.code,r.cloud_instance_host_name&&await iy(this.authModule.updateAuthority.bind(this.authModule),tJ,this.logger,this.performanceClient,this.authCodeRequest.correlationId)(r.cloud_instance_host_name,this.authCodeRequest.correlationId),r.nonce=a||void 0,r.state=i,r.client_info)this.authCodeRequest.clientInfo=r.client_info;else{let e=this.checkCcsCredentials();e&&(this.authCodeRequest.ccsCredential=e)}let s=await this.authModule.acquireToken(this.authCodeRequest,r);return this.browserStorage.cleanRequestByState(t),s}checkCcsCredentials(){let e=this.browserStorage.getTemporaryCache(rk,!0);if(e)try{return JSON.parse(e)}catch(t){this.authModule.logger.error("Cache credential could not be parsed"),this.authModule.logger.errorPii(`Cache
7credential could not be parsed: ${e}`)}return null}}class oT extends oc{constructor(e,t,r,n,i,o,a,s,c,l){super(e,t,r,n,i,o,a,c,l),this.nativeStorage=s}async acquireToken(e){let t=await iy(this.initializeAuthorizationRequest.bind(this),tY,this.logger,this.performanceClient,this.correlationId)(e,a.Redirect);this.browserStorage.updateCacheEntries(t.state,t.nonce,t.authority,t.loginHint||"",t.account||null);let r=this.initializeServerTelemetryManager(861),n=e=>{e.persisted&&(this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache."),this.browserStorage.cleanRequestByState(t.state),this.eventHandler.emitEvent("msal:restoreFromBFCache",a.Redirect))};try{let i=await iy(this.initializeAuthorizationCodeRequest.bind(this),tW,this.logger,this.performanceClient,this.correlationId)(t),o=await iy(this.createAuthCodeClient.bind(this),tz,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:t.authority,requestAzureCloudOptions:t.azureCloudOptions,requestExtraQueryParameters:t.extraQueryParameters,account:t.account}),a=new ob(o,this.browserStorage,i,this.logger,this.performanceClient),s=await o.getAuthCodeUrl({...t,nativeBroker:ow.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme)}),c=this.getRedirectStartPage(e.redirectStartPage);return this.logger.verbosePii(`Redirect start page: ${c}`),window.addEventListener("pageshow",n),await a.initiateAuthRequest(s,{navigationClient:this.navigationClient,redirectTimeout:this.config.system.redirectNavigationTimeout,redirectStartPage:c,onRedirectNavigate:e.onRedirectNavigate||this.config.auth.onRedirectNavigate})}catch(e){throw e instanceof g.lR&&(e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e)),window.removeEventListener("pageshow",n),this.browserStorage.cleanRequestByState(t.state),e}}async handleRedirectPromise(e="",t){let r=this.initializeServerTelemetryManager(865);try{if(!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;let[n,i]=this.getRedirectResponse(e||"");if(!n)return this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache."),this.browserStorage.cleanRequestByInteractionType(a.Redirect),"back_forward"!==function(){if("u"<typeof window||void 0===window.performance||"function"!=typeof window.performance.getEntriesByType)return;let e=window.performance.getEntriesByType("navigation"),t=e.length?e[0]:void 0;return t?.type}()?t.event.errorCode="no_server_response":this.logger.verbose("Back navigation event detected. Muting no_server_response error"),null;let o=this.browserStorage.getTemporaryCache(rb,!0)||l.YM.EMPTY_STRING,s=e8.removeHashFromUrl(o),c=e8.removeHashFromUrl(window.location.href);if(s===c&&this.config.auth.navigateToLoginRequestUrl){let e;return this.logger.verbose("Current page is loginRequestUrl, handling response"),o.indexOf("#")>-1&&((e=o.split("#")).shift(),window.location.hash=e.length>0?e.join("#"):""),await this.handleResponse(n,r)}if(!this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response"),await this.handleResponse(n,r);if(!n2()||this.config.system.allowRedirectInIframe){this.browserStorage.setTemporaryCache(rT,i,!0);let e={apiId:865,timeout:this.config.system.redirectNavigationTimeout,noHistory:!0},t=!0;if(o&&"null"!==o)this.logger.verbose(`Navigating to loginRequestUrl: ${o}`),t=await this.navigationClient.navigateInternal(o,e);else{let r,n=(r=new e8(window.location.href).getUrlComponents(),`${r.Protocol}//${r.HostNameAndPort}/`);this.browserStorage.setTemporaryCache(rb,n,!0),this.logger.warning("Unable to get valid login request url from cache, redirecting to home page"),t=await this.navigationClient.navigateInternal(n,e)}if(!t)return await this.handleResponse(n,r)}return null}catch(e){throw e instanceof g.lR&&(e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e)),this.browserStorage.cleanRequestByInteractionType(a.Redirect),e}}getRedirectResponse(e){this.logger.verbose("getRedirectResponseHash called");let t=e;t||(t=this.config.auth.OIDCOptions.serverResponseType===l.zL.QUERY?window.location.search:window.location.hash);let r=e9(t);if(r){var n;try{!function(e,t,r){if(!e.state)throw nE(rz);let n=ik(t,e.state);if(!n)throw nE(rY);if(n.interactionType!==r)throw nE(rW)}(r,this.browserCrypto,a.Redirect)}catch(e){return e instanceof g.lR&&this.logger.error(`Interaction type validation failed due to ${e.errorCode}: ${e.errorMessage}`),[null,""]}return(n=window).location.hash="","function"==typeof n.history.replaceState&&n.history.replaceState(null,"",`${n.location.origin}${n.location.pathname}${n.location.search}`),this.logger.verbose("Hash contains known properties, returning response hash"),[r,t]}let i=this.browserStorage.getTemporaryCache(rT,!0);return(this.browserStorage.removeItem(this.browserStorage.generateCacheKey(rT)),i&&(r=e9(i)))?(this.logger.verbose("Hash does not contain known properties, returning c
7ached hash"),[r,i]):[null,""]}async handleResponse(e,t){let r=e.state;if(!r)throw nE(rz);let n=this.browserStorage.getCachedRequest(r);if(this.logger.verbose("handleResponse called, retrieved cached request"),e.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw nE(nv);let t=new ov(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,862,this.performanceClient,this.nativeMessageHandler,e.accountId,this.nativeStorage,n.correlationId),{userRequestState:i}=ib.parseRequestState(this.browserCrypto,r);return t.acquireToken({...n,state:i,prompt:void 0}).finally(()=>{this.browserStorage.cleanRequestByState(r)})}let i=this.browserStorage.getCachedAuthority(r);if(!i)throw nE(ne);let o=await iy(this.createAuthCodeClient.bind(this),tz,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:t,requestAuthority:i});return iG.removeThrottle(this.browserStorage,this.config.auth.clientId,n),new ob(o,this.browserStorage,n,this.logger,this.performanceClient).handleCodeResponse(e,r)}async logout(e){this.logger.verbose("logoutRedirect called");let t=this.initializeLogoutRequest(e),r=this.initializeServerTelemetryManager(961);try{this.eventHandler.emitEvent(iB,a.Redirect,e),await this.clearCacheOnLogout(t.account);let n={apiId:961,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},i=await iy(this.createAuthCodeClient.bind(this),tz,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:r,requestAuthority:e&&e.authority,requestExtraQueryParameters:e?.extraQueryParameters,account:e&&e.account||void 0});if(i.authority.protocolMode===d)try{i.authority.endSessionEndpoint}catch{if(t.account?.homeAccountId){this.browserStorage.removeAccount(t.account?.homeAccountId,this.correlationId),this.eventHandler.emitEvent(iF,a.Redirect,t);return}}let o=i.getLogoutUri(t);if(this.eventHandler.emitEvent(iF,a.Redirect,t),e&&"function"==typeof e.onRedirectNavigate){let t=e.onRedirectNavigate(o);if(!1!==t){this.logger.verbose("Logout onRedirectNavigate did not return false, navigating"),this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),await this.navigationClient.navigateExternal(o,n);return}this.browserStorage.setInteractionInProgress(!1),this.logger.verbose("Logout onRedirectNavigate returned false, stopping navigation")}else{this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),await this.navigationClient.navigateExternal(o,n);return}}catch(e){throw e instanceof g.lR&&(e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e)),this.eventHandler.emitEvent(iK,a.Redirect,null,e),this.eventHandler.emitEvent(i$,a.Redirect),e}this.eventHandler.emitEvent(i$,a.Redirect)}getRedirectStartPage(e){let t=e||window.location.href;return e8.getAbsoluteUrl(t,n6())}}async function oS(e,t,r,n,i){if(t.addQueueMeasurement(tK,n),!e)throw r.info("Navigate url is empty"),nE(r$);return i?iy(ok,tj,r,t,n)(e,i,t,n):im(oE,"silentHandlerLoadFrameSync",r,t,n)(e)}async function oA(e,t,r,n,i,o,a){return n.addQueueMeasurement(t$,o),new Promise((n,o)=>{t<1e4&&i.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${t}ms) than the default (10000ms). This may result in timeouts.`);let s=window.setTimeout(()=>{window.clearInterval(c),o(nE(r0))},t),c=window.setInterval(()=>{let t="",r=e.contentWindow;try{t=r?r.location.href:""}catch(e){}if(!t||"about:blank"===t)return;let i="";r&&(i=a===l.zL.QUERY?r.location.search:r.location.hash),window.clearTimeout(s),window.clearInterval(c),n(i)},r)}).finally(()=>{im(oO,"removeHiddenIframe",i,n,o)(e)})}function ok(e,t,r,n){return r.addQueueMeasurement(tj,n),new Promise((r,n)=>{let i=oR();window.setTimeout(()=>{i?(i.src=e,r(i)):n("Unable to load iframe")},t)})}function oE(e){let t=oR();return t.src=e,t}function oR(){let e=document.createElement("iframe");return e.className="msalSilentIframe",e.style.visibility="hidden",e.style.position="absolute",e.style.width=e.style.height="0",e.style.border="0",e.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),document.body.appendChild(e),e}function oO(e){document.body===e.parentNode&&document.body.removeChild(e)}class oM extends oc{constructor(e,t,r,n,i,o,a,s,c,l,u){super(e,t,r,n,i,o,s,l,u),this.apiId=a,this.nativeStorage=c}async acquireToken(e){let t;this.performanceClient.addQueueMeasurement(tT,e.correlationId),e.loginHint||e.sid||e.account&&e.account.username||this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");let r={...e};r.prompt?r.prompt!==l._M.NONE&&r.prompt!==l._M.NO_SESSION&&(this.logger.warning(`SilentIframeClient. Replacing invalid prompt ${r.prompt} with ${l._M.NONE}`),r.prompt=l._M.NONE):r.prompt=l._M.NONE;let n=await iy(this.initializeAuthorizationRequest.bind(this),tY,this.logger,this.performanceClient,e.correlationId)(r,a.Silent);n8(n.authority);let i=this.initializeServerTelemetryManager(this.apiId);try{return t=await iy(this.createAuthCodeClient.bind(this),tz,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:i,requestAuthority:n.authority,requestAzureCloudOptions:n.azureCloudOptions,requestExtraQueryParameters:n.extraQueryParameters,account:n.account}),await iy(this.silentTokenHelper.bind(this),tF,this.logger,this.performanceClient,e.correlationId)(t,n)}catch(o){if(o instanceof g.lR&&(o.setCorrelationId(this.correlationId),i.cacheFailedRequest(o)),!t||!(o instanceof g.lR)||o.errorCode!==rh)throw o;this.performanceClient.addFields({retryError:o.errorCode},this.correlationId);let n=await iy(this.initializeAuthorizationRequest.bind(this),tY,this.logger,this.performanceClient,e.correlationId)(r,a.Silent);return await iy(this.silentTokenHelper.bind(this),tF,this.logger,this.performanceClient,this.correlationId)(t,n)}}logout(){return Promise.reject(nE(r3))}async silentTokenHelper(e,t){let r=t.correlationId;this.performanceClient.addQueueMeasurement(tF,r);let n=await iy(this.initializeAuthorizationCodeRequest.bind(this),tW,this.logger,this.performanceClient,r)(t),i=await iy(e.getAuthCodeUrl.bind(e),tZ,this.logger,this.performanceClient,r)({...t,nativeBroker:ow.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,t.authenticationScheme)}),o=new oC(e,this.browserStorage,n,this.logger,this.performanceClient),a=await iy(oS,tK,this.logger,this.performanceClient,r)(i,this.performanceClient,this.logger,r,this.config.system.navigateFrameWait),s=this.config.auth.OIDCOptions.serverResponseType,c=await iy(oA,t$,this.logger,this.performanceClient,r)(a,this.config.system.iframeHashTimeout,this.config.system.pollIntervalMilliseconds,this.performanceClient,this.logger,r,s),u=im(o_,t3,this.logger,this.performanceClient,this.correlationId)(c,s,this.logger);
7if(u.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw nE(nv);let e=new ov(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.apiId,this.performanceClient,this.nativeMessageHandler,u.accountId,this.browserStorage,r),{userRequestState:n}=ib.parseRequestState(this.browserCrypto,t.state);return iy(e.acquireToken.bind(e),tk,this.logger,this.performanceClient,r)({...t,state:n,prompt:t.prompt||l._M.NONE})}return iy(o.handleCodeResponse.bind(o),tQ,this.logger,this.performanceClient,r)(u,t)}}class oP extends oc{async acquireToken(e){this.performanceClient.addQueueMeasurement(tS,e.correlationId);let t=await iy(oa,tH,this.logger,this.performanceClient,e.correlationId)(e,this.config,this.performanceClient,this.logger),r={...e,...t};e.redirectUri&&(r.redirectUri=this.getRedirectUri(e.redirectUri));let n=this.initializeServerTelemetryManager(61),i=await this.createRefreshTokenClient({serverTelemetryManager:n,authorityUrl:r.authority,azureCloudOptions:r.azureCloudOptions,account:r.account});return iy(i.acquireTokenByRefreshToken.bind(i),tN,this.logger,this.performanceClient,e.correlationId)(r).catch(e=>{throw e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e),e})}logout(){return Promise.reject(nE(r3))}async createRefreshTokenClient(e){return new om(await iy(this.getClientConfiguration.bind(this),tG,this.logger,this.performanceClient,this.correlationId)({serverTelemetryManager:e.serverTelemetryManager,requestAuthority:e.authorityUrl,requestAzureCloudOptions:e.azureCloudOptions,requestExtraQueryParameters:e.extraQueryParameters,account:e.account}),this.performanceClient)}}class oN{constructor(e,t,r,n){this.isBrowserEnvironment="u">typeof window,this.config=e,this.storage=t,this.logger=r,this.cryptoObj=n}loadExternalTokens(e,t,r){if(!this.isBrowserEnvironment)throw nE(nn);let n=e.correlationId||nj(),i=t.id_token?eu(t.id_token,il):void 0,o={protocolMode:this.config.auth.protocolMode,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},a=e.authority?new iw(iw.generateAuthority(e.authority,e.azureCloudOptions),this.config.system.networkClient,this.storage,o,this.logger,e.correlationId||nj()):void 0,s=this.loadAccount(e,r.clientInfo||t.client_info||"",n,i,a),c=this.loadIdToken(t,s.homeAccountId,s.environment,s.realm,n),l=this.loadAccessToken(e,t,s.homeAccountId,s.environment,s.realm,r,n),u=this.loadRefreshToken(t,s.homeAccountId,s.environment,n);return this.generateAuthenticationResult(e,{account:s,idToken:c,accessToken:l,refreshToken:u},i,a)}loadAccount(e,t,r,n,i){if(this.logger.verbose("TokenCache - loading account"),e.account){let t=e3.createFromAccountInfo(e.account);return this.storage.setAccount(t,r),t}if(!i||!t&&!n)throw this.logger.error("TokenCache - if an account is not provided on the request, authority and either clientInfo or idToken must be provided instead."),nE(nl);let o=e3.generateHomeAccountId(t,i.authorityType,this.logger,this.cryptoObj,n),a=n?.tid,s=i8(this.storage,i,o,il,r,n,t,i.hostnameAndPort,a,void 0,void 0,this.logger);return this.storage.setAccount(s,r),s}loadIdToken(e,t,r,n,i){if(!e.id_token)return this.logger.verbose("TokenCache - no id token found in response"),null;this.logger.verbose("TokenCache - loading id token");let o=em(t,r,e.id_token,this.config.auth.clientId,n);return this.storage.setIdTokenCredential(o,i),o}loadAccessToken(e,t,r,n,i,o,a){if(!t.access_token)return this.logger.verbose("TokenCache - no access token found in response"),null;if(!t.expires_in)return this.logger.error("TokenCache - no expiration set on the access token. Cannot add it to the cache."),null;if(!t.scope&&(!e.scopes||!e.scopes.length))return this.logger.error("TokenCache - scopes not specified in the request or response. Cannot add token to the cache."),null;this.logger.verbose("TokenCache - loading access token");let s=t.scope?eJ.fromString(t.scope):new eJ(e.scopes),c=o.expiresOn||t.expires_in+new Date().getTime()/1e3,l=o.extendedExpiresOn||(t.ext_expires_in||t.expires_in)+new Date().getTime()/1e3,u=ef(r,n,t.access_token,this.config.auth.clientId,i,s.printScopes(),c,l,il);return this.storage.setAccessTokenCredential(u,a),u}loadRefreshToken(e,t,r,n){if(!e.refresh_token)return this.logger.verbose("TokenCache - no refresh token found in response"),null;this.logger.verbose("TokenCache - loading refresh token");let i=ey(t,r,e.refresh_token,this.config.auth.clientId,e.foci,void 0,e.refresh_token_expires_in);return this.storage.setRefreshTokenCredential(i,n),i}generateAuthenticationResult(e,t,r,n){let i,o="",a=[],s=null;t?.accessToken&&(o=t.accessToken.secret,a=eJ.fromString(t.accessToken.target).asArray(),s=new Date(1e3*Number(t.accessToken.expiresOn)),i=new Date(1e3*Number(t.accessToken.extendedExpiresOn)));let c=t.account;return{authority:n?n.canonicalAuthority:"",uniqueId:t.account.localAccountId,tenantId:t.account.realm,scopes:a,account:c.getAccountInfo(),idToken:t.idToken?.secret||"",idTokenClaims:r||{},accessToken:o,fromCache:!0,expiresOn:s,correlationId:e.correlationId||"",requestId:"",extExpiresOn:i,familyId:t.refreshToken?.familyId||"",tokenType:t?.accessToken?.tokenType||"",state:e.state||"",cloudGraphHostName:c.cloudGraphHostName||"",msGraphHost:c.msGraphHost||"",fromNativeBroker:!1}}}class ox extends oe{constructor(e){super(e),this.includeRedirectUri=!1}}class oL extends oc{constructor(e,t,r,n,i,o,a,s,c,l){super(e,t,r,n,i,o,s,c,l),this.apiId=a}async acquireToken(e){if(!e.code)throw nE(nd);let t=await iy(this.initializeAuthorizationRequest.bind(this),tY,this.logger,this.performanceClient,e.correlationId)(e,a.Silent),r=this.initializeServerTelemetryManager(this.apiId);try{let n={...t,code:e.code},i=await iy(this.getClientConfiguration.bind(this),tG,this.logger,this.performanceClient,e.correlationId)({serverTelemetryManager:r,requestAuthority:t.authority,requestAzureCloudOptions:t.azureCloudOptions,requestExtraQueryParameters:t.extraQueryParameters,account:t.account}),o=new ox(i);this.logger.verbose("Auth code client created");let a=new oC(o,this.browserStorage,n,this.logger,this.performanceClient);return await iy(a.handleCodeResponseFromServer.bind(a),tV,this.logger,this.performanceClient,e.correlationId)({code:e.code,msgraph_host:e.msGraphHost,cloud_graph_host_name:e.cloudGraphHostName,cloud_instance_host_name:e.cloudInstanceHostName},t,!1)}catch(e){throw e instanceof g.lR&&(e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e)),e}}logout(){return Promise.reject(nE(r3))}}function oU(e){let t=e?.idTokenClaims;return t?.tfp||t?.acr?"B2C":t?.tid?t?.tid==="9188040d-6c67-4c5b-b112-36a304b66dad"?"MSA":"AAD":void 0}function oD(e,t){try{n5(e)}catch(e){throw t.end({success:!1},e),e}}class oq{constructor(e){this.operatingContext=e,this.isBrowserEnvironment=this.operatingContext.
7isBrowserEnvironment(),this.config=e.getConfig(),this.initialized=!1,this.logger=this.operatingContext.getLogger(),this.networkClient=this.config.system.networkClient,this.navigationClient=this.config.system.navigationClient,this.redirectResponse=new Map,this.hybridAuthCodeResponses=new Map,this.performanceClient=this.config.telemetry.client,this.browserCrypto=this.isBrowserEnvironment?new ig(this.logger,this.performanceClient):es,this.eventHandler=new ij(this.logger),this.browserStorage=this.isBrowserEnvironment?new iR(this.config.auth.clientId,this.config.cache,this.browserCrypto,this.logger,function(e){let t,r=e.cloudDiscoveryMetadata;if(r)try{t=JSON.parse(r)}catch(e){throw eV(eq)}return{canonicalAuthority:e.authority?iC(e.authority):void 0,knownAuthorities:e.knownAuthorities,cloudDiscoveryMetadata:t}}(this.config.auth),this.performanceClient):((e,t)=>new iR(e,{cacheLocation:r_,temporaryCacheLocation:r_,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1},es,t))(this.config.auth.clientId,this.logger),this.nativeInternalStorage=new iR(this.config.auth.clientId,{cacheLocation:r_,temporaryCacheLocation:r_,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1},this.browserCrypto,this.logger,void 0,this.performanceClient),this.tokenCache=new oN(this.config,this.browserStorage,this.logger,this.browserCrypto),this.activeSilentTokenRequests=new Map,this.trackPageVisibility=this.trackPageVisibility.bind(this),this.trackPageVisibilityWithMeasurement=this.trackPageVisibilityWithMeasurement.bind(this),this.listeningToStorageEvents=!1,this.handleAccountCacheChange=this.handleAccountCacheChange.bind(this)}static async createController(e,t){let r=new oq(e);return await r.initialize(t),r}trackPageVisibility(e){e&&(this.logger.info("Perf: Visibility change detected"),this.performanceClient.incrementFields({visibilityChangeCount:1},e))}async initialize(e){if(this.logger.trace("initialize called"),this.initialized)return void this.logger.info("initialize has already been called, exiting early.");if(!this.isBrowserEnvironment){this.logger.info("in non-browser environment, exiting early."),this.initialized=!0,this.eventHandler.emitEvent(iO);return}let t=e?.correlationId||this.getRequestCorrelationId(),r=this.config.system.allowNativeBroker,n=this.performanceClient.startMeasurement("initializeClientApplication",t);if(this.eventHandler.emitEvent("msal:initializeStart"),r)try{this.nativeExtensionProvider=await ow.createProvider(this.logger,this.config.system.nativeBrokerHandshakeTimeout,this.performanceClient)}catch(e){this.logger.verbose(e)}this.config.cache.claimsBasedCachingEnabled||(this.logger.verbose("Claims-based caching is disabled. Clearing the previous cache with claims"),await iy(this.browserStorage.clearTokensAndKeysWithClaims.bind(this.browserStorage),ra,this.logger,this.performanceClient,t)(this.performanceClient,t)),this.initialized=!0,this.eventHandler.emitEvent(iO),n.end({allowNativeBroker:r,success:!0})}async handleRedirectPromise(e){if(this.logger.verbose("handleRedirectPromise called"),n3(this.initialized),this.isBrowserEnvironment){let t=e||"",r=this.redirectResponse.get(t);return void 0===r?(r=this.handleRedirectPromiseInternal(e),this.redirectResponse.set(t,r),this.logger.verbose("handleRedirectPromise has been called for the first time, storing the promise")):this.logger.verbose("handleRedirectPromise has been called previously, returning the result from the first call"),r}return this.logger.verbose("handleRedirectPromise returns null, not browser environment"),null}async handleRedirectPromiseInternal(e){let t,r=this.getAllAccounts(),n=this.browserStorage.getCachedNativeRequest(),i=n&&ow.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider)&&this.nativeExtensionProvider&&!e,o=i?n?.correlationId:this.browserStorage.getTemporaryCache(rE,!0)||"",s=this.performanceClient.startMeasurement("acquireTokenRedirect",o);if(this.eventHandler.emitEvent("msal:handleRedirectStart",a.Redirect),i&&this.nativeExtensionProvider){this.logger.trace("handleRedirectPromise - acquiring token from native platform");let e=new ov(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,865,this.performanceClient,this.nativeExtensionProvider,n.accountId,this.nativeInternalStorage,n.correlationId);t=iy(e.handleRedirectPromise.bind(e),"handleNativeRedirectPromise",this.logger,this.performanceClient,s.event.correlationId)(this.performanceClient,s.event.correlationId)}else{this.logger.trace("handleRedirectPromise - acquiring token from web flow");let r=this.createRedirectClient(o);t=iy(r.handleRedirectPromise.bind(r),"handleRedirectPromise",this.logger,this.performanceClient,s.event.correlationId)(e,s)}return t.then(e=>(e?(r.length<this.getAllAccounts().length?(this.eventHandler.emitEvent(iP,a.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, login success")):(this.eventHandler.emitEvent(iL,a.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, acquire token success")),s.end({success:!0,accountType:oU(e.account)})):s.event.errorCode?s.end({success:!1}):s.discard(),this.eventHandler.emitEvent(iq,a.Redirect),e)).catch(e=>{throw r.length>0?this.eventHandler.emitEvent(iU,a.Redirect,null,e):this.eventHandler.emitEvent(iN,a.Redirect,null,e),this.eventHandler.emitEvent(iq,a.Redirect),s.end({success:!1},e),e})}async acquireTokenRedirect(e){let t=this.getRequestCorrelationId(e);this.logger.verbose("acquireTokenRedirect called",t);let r=this.performanceClient.startMeasurement("acquireTokenPreRedirect",t);r.add({accountType:oU(e.account),scenarioId:e.scenarioId});let n=e.onRedirectNavigate;if(n)e.onRedirectNavigate=e=>{let t="function"==typeof n?n(e):void 0;return!1!==t?r.end({success:!0}):r.discard(),t};else{let e=this.config.auth.onRedirectNavigate;this.config.auth.onRedirectNavigate=t=>{let n="function"==typeof e?e(t):void 0;return!1!==n?r.end({success:!0}):r.discard(),n}}let i=this.getAllAccounts().length>0;try{let n;return n9(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),i?this.eventHandler.emitEvent(ix,a.Redirect,e):this.eventHandler.emitEvent(iM,a.Redirect,e),n=this.nativeExtensionProvider&&this.canUseNative(e)?new ov(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,861,this.performanceClient,this.nativeExtensionProvider,this.getNativeAccountId(e),this.nativeInternalStorage,t).acquireTokenRedirect(e,r).catch(r=>{if(r instanceof oh&&og(r))return this.nativeExtensionProvider=void 0,this.createRedirectClient(t).acquireToken(e);if(r instanceof i_.CB)return this.logger.verbose("acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createRedirectClient(t).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),r}):this.createRedirectClient(t).acquireToken(e),await n}catch(e){throw r.end({success:!1},e),i?this.eventHandler.emitEvent(iU,a.Redirect,null,e):this.eventHandler.emitEvent(iN,a.Redirect,null,e),e}}acquireTokenPopup(e){let t=this.getRequestCorrelationId(e),r=this.performanceClient.startMeasurement("acquireTokenPopup",t);r.add({scenarioId:e.scenarioId,accountType:oU(e.account)});try{this.logger.verbose("acquireTokenPopup called",t),oD(this.initialized,r),this.browserStorage.setInteractionInProgress(!0)}catch(e){return Promise.reject(e)}let n=this.getAllAccounts();return n.length>0?this.eventHandler.emitEvent(ix,a.Popup,e):this.eventHandler.emitEvent(iM,a.Popup,e),(this.canUseNative(e)?this.acquireTokenNative({...e,correlationId:t},862).then(e=>(this.browserStorage.setInteractionInProgress(!1),r.end({success:!0,isNativeBroker:!0,accountType:oU(e.account)}),e)).catch(r=>{if(r instanceof oh&&og(r))return this.nativeExtensionProvider=void 0,this.createPopupClient(t).acquireToken(e);if(r instanceof i_.CB)return this.logger.verbose("acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow"),this.createPopupClient(t).acquireToken(e);throw this.browserStorage.setInteractionInProgress(!1),r}):this.createPopupClient(t).acquireToken(e)).then(e=>(n.length<this.getAllAccounts().length?this.eventHandler.emitEvent(iP,a.Popup,e):this.eventHandler.emitEvent(iL,a.Popup,e),r.end({success:!0,accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length,accountType:oU(e.account)}),e)).catch(e=>(n.length>0?this.eventHandler.emitEvent(iU,a.Popup,null,e):this.eventHandler.emitEvent(iN,a.Popup,null,e),r.end({success:!1},e),Promise.reject(e)))}trackPageVisibilityWithMeasurement(){let e=this.ssoSilentMeasurement||this.acquireTokenByCodeAsyncMeasurement;e&&(this.logger.info("Perf: Visibility change detected in ",e.event.name),e.increment({visibilityChangeCount:1}))}async ssoSilent(e){let t=this.getRequestCorrelationId(e),r={...e,prompt:e.prompt,correlationId:t};return this.ssoSilentMeasurement=this.performanceClient.startMeasurement("ssoSilent",t),this.ssoSilentMeasurement?.add({scenarioId:e.scenarioId,accountType:oU(e.account)}),oD(this.initialized,this.ssoSilentMeasurement),this.ssoSilentMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),this.logger.verbose("ssoSilent called",t),this.eventHandler.emitEvent("msal:ssoSilentStart",a.Silent,r),(this.canUseNative(r)?this.acquireTokenNative(r,863).catch(e=>{if(e instanceof oh&&og(e))return this.nativeExtensionProvider=void 0,this.createSilentIframeClient(r.correlationId).acquireToken(r);throw e}):this.createSilentIframeClient(r.correlationId).acquireToken(r)).then(e=>(this.eventHandler.emitEvent("msal:ssoSilentSuccess",a.Silent,e),this.ssoSilentMeasurement?.end({success:!0,isNativeBroker:e.fromNativeBroker,accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length,accountType:oU(e.account)}),e)).catch(e=>{throw this.eventHandler.emitEvent("msal:ssoSilentFailure",a.Silent,null,e),this.ssoSilentMeasurement?.end({success:!1},e),e}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenByCode(e){let t=this.getRequestCorrelationId(e);this.logger.trace("acquireTokenByCode called",t);let r=this.performanceClient.startMeasurement("acquireTokenByCode",t);oD(this.initialized,r),this.eventHandler.emitEvent("msal:acquireTokenByCodeStart",a.Silent,e),r.add({scenarioId:e.scenarioId});try{if(e.code&&e.nativeAccountId)throw nE(ng);
7if(e.code){let n=e.code,i=this.hybridAuthCodeResponses.get(n);return i?(this.logger.verbose("Existing acquireTokenByCode request found",t),r.discard()):(this.logger.verbose("Initiating new acquireTokenByCode request",t),i=this.acquireTokenByCodeAsync({...e,correlationId:t}).then(e=>(this.eventHandler.emitEvent("msal:acquireTokenByCodeSuccess",a.Silent,e),this.hybridAuthCodeResponses.delete(n),r.end({success:!0,isNativeBroker:e.fromNativeBroker,accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length,accountType:oU(e.account)}),e)).catch(e=>{throw this.hybridAuthCodeResponses.delete(n),this.eventHandler.emitEvent(iD,a.Silent,null,e),r.end({success:!1},e),e}),this.hybridAuthCodeResponses.set(n,i)),await i}if(e.nativeAccountId)if(this.canUseNative(e,e.nativeAccountId)){let n=await this.acquireTokenNative({...e,correlationId:t},866,e.nativeAccountId).catch(e=>{throw e instanceof oh&&og(e)&&(this.nativeExtensionProvider=void 0),e});return r.end({accountType:oU(n.account),success:!0}),n}else throw nE(nm);else throw nE(nh)}catch(e){throw this.eventHandler.emitEvent(iD,a.Silent,null,e),r.end({success:!1},e),e}}async acquireTokenByCodeAsync(e){this.logger.trace("acquireTokenByCodeAsync called",e.correlationId),this.acquireTokenByCodeAsyncMeasurement=this.performanceClient.startMeasurement("acquireTokenByCodeAsync",e.correlationId),this.acquireTokenByCodeAsyncMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement);let t=this.createSilentAuthCodeClient(e.correlationId);return await t.acquireToken(e).then(e=>(this.acquireTokenByCodeAsyncMeasurement?.end({success:!0,fromCache:e.fromCache,isNativeBroker:e.fromNativeBroker}),e)).catch(e=>{throw this.acquireTokenByCodeAsyncMeasurement?.end({success:!1},e),e}).finally(()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)})}async acquireTokenFromCache(e,t){switch(this.performanceClient.addQueueMeasurement(tL,e.correlationId),t){case 0:case 1:case 2:let r=this.createSilentCacheClient(e.correlationId);return iy(r.acquireToken.bind(r),tb,this.logger,this.performanceClient,e.correlationId)(e);default:throw ea(G)}}async acquireTokenByRefreshToken(e,t){switch(this.performanceClient.addQueueMeasurement(t_,e.correlationId),t){case 0:case 2:case 3:case 4:let r=this.createSilentRefreshClient(e.correlationId);return iy(r.acquireToken.bind(r),tS,this.logger,this.performanceClient,e.correlationId)(e);default:throw ea(G)}}async acquireTokenBySilentIframe(e){this.performanceClient.addQueueMeasurement(tq,e.correlationId);let t=this.createSilentIframeClient(e.correlationId);return iy(t.acquireToken.bind(t),tT,this.logger,this.performanceClient,e.correlationId)(e)}async logout(e){let t=this.getRequestCorrelationId(e);return this.logger.warning("logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.",t),this.logoutRedirect({correlationId:t,...e})}async logoutRedirect(e){let t=this.getRequestCorrelationId(e);return n9(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0),this.createRedirectClient(t).logout(e)}logoutPopup(e){try{let t=this.getRequestCorrelationId(e);return n5(this.initialized),this.browserStorage.setInteractionInProgress(!0),this.createPopupClient(t).logout(e)}catch(e){return Promise.reject(e)}}async clearCache(e){if(!this.isBrowserEnvironment)return void this.logger.info("in non-browser environment, returning early.");let t=this.getRequestCorrelationId(e);return this.createSilentCacheClient(t).logout(e)}getAllAccounts(e){var t,r,n;let i=this.getRequestCorrelationId();return t=this.logger,r=this.browserStorage,n=this.isBrowserEnvironment,t.verbose("getAllAccounts called"),n?r.getAllAccounts(i,e):[]}getAccount(e){let t=this.getRequestCorrelationId();return function(e,t,r,n){if(t.trace("getAccount called"),0===Object.keys(e).length)return t.warning("getAccount: No accountFilter provided"),null;let i=r.getAccountInfoFilteredBy(e,n);return i?(t.verbose("getAccount: Account matching provided filter found, returning"),i):(t.verbose("getAccount: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}getAccountByUsername(e){let t=this.getRequestCorrelationId();return function(e,t,r,n){if(t.trace("getAccountByUsername called"),!e)return t.warning("getAccountByUsername: No username provided"),null;let i=r.getAccountInfoFilteredBy({username:e},n);return i?(t.verbose("getAccountByUsername: Account matching username found, returning"),t.verbosePii(`getAccountByUsername: Returning signed-in accounts matching username: ${e}`),i):(t.verbose("getAccountByUsername: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}getAccountByHomeId(e){let t=this.getRequestCorrelationId();return function(e,t,r,n){if(t.trace("getAccountByHomeId called"),!e)return t.warning("getAccountByHomeId: No homeAccountId provided"),null;let i=r.getAccountInfoFilteredBy({homeAccountId:e},n);return i?(t.verbose("getAccountByHomeId: Account matching homeAccountId found, returning"),t.verbosePii(`getAccountByHomeId: Returning signed-in accounts matching homeAccountId: ${e}`),i):(t.verbose("getAccountByHomeId: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}getAccountByLocalId(e){let t=this.getRequestCorrelationId();return function(e,t,r,n){if(t.trace("getAccountByLocalId called"),!e)return t.warning("getAccountByLocalId: No localAccountId provided"),null;let i=r.getAccountInfoFilteredBy({localAccountId:e},n);return i?(t.verbose("getAccountByLocalId: Account matching localAccountId found, returning"),t.verbosePii(`getAccountByLocalId: Returning signed-in accounts matching localAccountId: ${e}`),i):(t.verbose("getAccountByLocalId: No matching account found, returning null"),null)}(e,this.logger,this.browserStorage,t)}setActiveAccount(e){var t;let r=this.getRequestCorrelationId();t=this.browserStorage,t.setActiveAccount(e,r)}getActiveAccount(){var e;let t=this.getRequestCorrelationId();return e=this.browserStorage,e.getActiveAccount(t)}async hydrateCache(e,t){this.logger.verbose("hydrateCache called");let r=e3.createFromAccountInfo(e.account,e.cloudGraphHostName,e.msGraphHost);return(this.browserStorage.setAccount(r,e.correlationId),e.fromNativeBroker)?(this.logger.verbose("Response was from native broker, storing in-memory"),this.nativeInternalStorage.hydrateCache(e,t)):this.browserStorage.hydrateCache(e,t)}async acquireTokenNative(e,t,r){if(this.logger.trace("acquireTokenNative called"),!this.nativeExtensionProvider)throw nE(nv);return new ov(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,t,this.performanceClient,this.nativeExtensionProvider,r||this.getNativeAccountId(e),this.nativeInternalStorage,e.correlationId).acquireToken(e)}canUseNative(e,t){if(this.logger.trace("canUseNative called"),!ow.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme))return this.logger.trace("canUseNative: isNativeAvailable returned false, returning false"),!1;if(e.prompt)switch(e.prompt){case l._M.NONE:case l._M.CONSENT:case l._M.LOGIN:this.logger.trace("canUseNative: prompt is compatible with native flow");break;default:return this.logger.trace(`canUseNative: prompt = ${e.prompt} is not compatible with native flow, returning false`),!1}return!!t||!!this.getNativeAccountId(e)||(this.logger.trace("canUseNative: nativeAccountId is not available, returning false"),!1)}getNativeAccountId(e){let t=e.account||this.getAccount({loginHint:e.loginHint,sid:e.sid})||this.getActiveAccount();return t&&t.nativeAccountId||""}createPopupClient(e){return new oI(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createRedirectClient(e){return new oT(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentIframeClient(e){return new oM(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,863,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentCacheClient(e){return new oy(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentRefreshClient(e){return new oP(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentAuthCodeClient(e){return new oL(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,866,this.performanceClient,this.nativeExtensionProvider,e)}addEventCallback(e,t){return this.eventHandler.addEventCallback(e,t)}removeEventCallback(e){this.eventHandler.removeEventCallback(e)}addPerformanceCallback(e){return n4(),this.performanceClient.addPerformanceCallback(e)}removePerformanceCallback(e){return this.performanceClient.removePerformanceCallback(e)}enableAccountStorageEvents(){"u">typeof window&&(this.listeningToStorageEvents?this.logger.verbose("Account storage listener already registered."):(this.logger.verbose("Adding account storage listener."),this.listeningToStorageEvents=!0,window.addEventListener("storage",this.handleAccountCacheChange)))}disableAccountStorageEvents(){"u">typeof window&&(this.listeningToStorageEvents?(this.logger.verbose("Removing account storage listener."),window.removeEventListener("storage",this.handleAccountCacheChange),this.listeningToStorageEvents=!1):this.logger.verbose("No account storage listener registered."))}handleAccountCacheChange(e){try{e.key?.includes(l.Gd.ACTIVE_ACCOUNT_FILTERS)&&this.eventHandler.emitEvent("msal:activeAccountChanged");let t=e.newValue||e.oldValue;if(!t)return;let r=JSON.parse(t);if("object"!=typeof r||!e3.isAccountEntity(r))return;let n=tl.toObject(new e3,r).getAccountInfo();!e.oldValue&&e.newValue?(this.logger.info("Account was added to cache in a different window"),this.eventHandler.emitEvent("msal:accountAdded",void 0,n)):!e.newValue&&e.oldValue&&(this.logger.info("Account was removed from cache in a different window"),this.eventHandler.emitEvent("msal:accountRemoved",void 0,n))}catch(e){return}}getTokenCache(){return this.tokenCache}getLogger(){return this.logger}setLogger(e){this.logger=e}initializeWrapperLibrary(e,t){this.browserStorage.setWrapperMetadata(e,t)}setNavigationClient(e){this.navigationClient=e}getConfiguration(){return this.config}getPerformanceClient(){return this.performanceClient}isBrowserEnv(){return this.isBrowserEnvironment}getRequestCorrelationId(e){return e?.correlationId?e.correlationId:this.isBrowserEnvironment?nj():l.YM.EMPTY_STRING}async loginRedirect(e){let t=this.getRequestCorrelationId(e);return this.logger.verbose("loginRedirect called",t),this.acquireTokenRedirect({correlationId:t,...e||rL})}loginPopup(e){let t=this.getRequestCorrelationId(e);return this.logger.verbose("loginPopup called",t),this.acquireTokenPopup({correlationId:t,...e||rL})}async acquireTokenSilent(e){let t=this.getRequestCorrelationId(e),r=this.performanceClient.startMeasurement("acquireTokenSilent",t);r.add({cacheLookupPolicy:e.cacheLookupPolicy,scenarioId:e.scenarioId}),oD(this.initialized,r),this.logger.verbose("acquireTokenSilent called",t);let n=e.account||this.getActiveAccount();if(!n)throw nE(r5);r.add({accountType:oU(n)});let i=JSON.stringify({clientId:this.config.auth.clientId,authority:e.authority||l.YM.EMPTY_STRING,scopes:e.scopes,homeAccountIdentifier:n.homeAccountId,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid,shrOptions:e.shrOptions}),o=this.activeSilentTokenRequests.get(i);if(void 0!==o)return this.logger.verbose("acquireTokenSilent has been called previously, returning the result from the first call",t),r.discard(),{...await o,state:e.state};{this.logger.verbose("acquireTokenSilent called for the first time, storing active request",t);let o=iy(this.acquireTokenSilentAsync.bind(this),tI,this.logger,this.performanceClient,t)({...e,correlationId:t},n).then(t=>(this.activeSilentTokenRequests.delete(i),r.end({success:!0,fromCache:t.fromCache,isNativeBroker:t.fromNativeBroker,cacheLookupPolicy:e.cacheLookupPolicy,accessTokenSize:t.accessToken.length,idTokenSize:t.idToken.length}),t)).catch(e=>{throw this.activeSilentTokenRequests.delete(i),r.end({success:!1},e),e});return this.activeSilentTokenRequests.set(i,o),{...await o,state:e.state}}}async acquireTokenSilentAsync(e,t){let r=()=>this.trackPageVisibility(e.correlationId);this.performanceClient.addQueueMeasurement(tI,e.correlationId),this.eventHandler.emitEvent(ix,a.Silent,e),e.correlationId&&this.performanceClient.incrementFields({visibilityChangeCount:0},e.correlationId),document.addEventListener("visibilitychange",r);let n=await iy(os,tB,this.logger,this.performanceClient,e.correlationId)(e,t,this.config,this.performanceClient,this.logger),i=e.cacheLookupPolicy||0;return this.acquireTokenSilentNoIframe(n,i).catch(async e=>{var t,r;let o,a,s,c;
7if(t=e,r=i,o=!(t instanceof i_.CB&&t.subError!==iI.j9),a=t.errorCode===rh||t.errorCode===G,s=o&&a||t.errorCode===iI.oF||t.errorCode===iI.AG,c=rq.includes(r),s&&c)if(this.activeIframeRequest)if(5===i)return this.logger.warning("Another iframe request is currently in progress and CacheLookupPolicy is set to Skip. This may result in degraded performance and/or reliability for both calls. Please consider changing the CacheLookupPolicy to take advantage of request queuing and token cache.",n.correlationId),iy(this.acquireTokenBySilentIframe.bind(this),tq,this.logger,this.performanceClient,n.correlationId)(n);else{let[t,r]=this.activeIframeRequest;this.logger.verbose(`Iframe request is already in progress, awaiting resolution for request with correlationId: ${r}`,n.correlationId);let o=this.performanceClient.startMeasurement("awaitConcurrentIframe",n.correlationId);o.add({awaitIframeCorrelationId:r});let a=await t;if(o.end({success:a}),a)return this.logger.verbose(`Parallel iframe request with correlationId: ${r} succeeded. Retrying cache and/or RT redemption`,n.correlationId),this.acquireTokenSilentNoIframe(n,i);throw this.logger.info(`Iframe request with correlationId: ${r} failed. Interaction is required.`),e}else{let e;return this.activeIframeRequest=[new Promise(t=>{e=t}),n.correlationId],this.logger.verbose("Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.",n.correlationId),iy(this.acquireTokenBySilentIframe.bind(this),tq,this.logger,this.performanceClient,n.correlationId)(n).then(t=>(e(!0),t)).catch(t=>{throw e(!1),t}).finally(()=>{this.activeIframeRequest=void 0})}throw e}).then(t=>(this.eventHandler.emitEvent(iL,a.Silent,t),e.correlationId&&this.performanceClient.addFields({fromCache:t.fromCache,isNativeBroker:t.fromNativeBroker},e.correlationId),t)).catch(e=>{throw this.eventHandler.emitEvent(iU,a.Silent,null,e),e}).finally(()=>{document.removeEventListener("visibilitychange",r)})}async acquireTokenSilentNoIframe(e,t){return ow.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme)&&e.account.nativeAccountId?(this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform"),this.acquireTokenNative(e,61).catch(async e=>{if(e instanceof oh&&og(e))throw this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow"),this.nativeExtensionProvider=void 0,ea(G);throw e})):(this.logger.verbose("acquireTokenSilent - attempting to acquire token from web flow"),iy(this.acquireTokenFromCache.bind(this),tL,this.logger,this.performanceClient,e.correlationId)(e,t).catch(r=>{if(1===t)throw r;return this.eventHandler.emitEvent("msal:acquireTokenFromNetworkStart",a.Silent,e),iy(this.acquireTokenByRefreshToken.bind(this),t_,this.logger,this.performanceClient,e.correlationId)(e,t)}))}}async function oH(e,t){let r=new it(e);return await r.initialize(),oq.createController(r,t)}class oB{static async createPublicClientApplication(e){let t=await oH(e);return new oB(e,t)}constructor(e,t){this.controller=t||new oq(new it(e))}async initialize(e){return this.controller.initialize(e)}async acquireTokenPopup(e){return this.controller.acquireTokenPopup(e)}acquireTokenRedirect(e){return this.controller.acquireTokenRedirect(e)}acquireTokenSilent(e){return this.controller.acquireTokenSilent(e)}acquireTokenByCode(e){return this.controller.acquireTokenByCode(e)}addEventCallback(e,t){return this.controller.addEventCallback(e,t)}removeEventCallback(e){return this.controller.removeEventCallback(e)}addPerformanceCallback(e){return this.controller.addPerformanceCallback(e)}removePerformanceCallback(e){return this.controller.removePerformanceCallback(e)}enableAccountStorageEvents(){this.controller.enableAccountStorageEvents()}disableAccountStorageEvents(){this.controller.disableAccountStorageEvents()}getAccount(e){return this.controller.getAccount(e)}getAccountByHomeId(e){return this.controller.getAccountByHomeId(e)}getAccountByLocalId(e){return this.controller.getAccountByLocalId(e)}getAccountByUsername(e){return this.controller.getAccountByUsername(e)}getAllAccounts(e){return this.controller.getAllAccounts(e)}handleRedirectPromise(e){return this.controller.handleRedirectPromise(e)}loginPopup(e){return this.controller.loginPopup(e)}loginRedirect(e){return this.controller.loginRedirect(e)}logout(e){return this.controller.logout(e)}logoutRedirect(e){return this.controller.logoutRedirect(e)}logoutPopup(e){return this.controller.logoutPopup(e)}ssoSilent(e){return this.controller.ssoSilent(e)}getTokenCache(){return this.controller.getTokenCache()}getLogger(){return this.controller.getLogger()}setLogger(e){this.controller.setLogger(e)}setActiveAccount(e){this.controller.setActiveAccount(e)}getActiveAccount(){return this.controller.getActiveAccount()}initializeWrapperLibrary(e,t){return this.controller.initializeWrapperLibrary(e,t)}setNavigationClient(e){this.controller.setNavigationClient(e)}getConfiguration(){return this.controller.getConfiguration()}async hydrateCache(e,t){return this.controller.hydrateCache(e,t)}clearCache(e){return this.controller.clearCache(e)}}var oF=r(3974),oK=r(39007);let o$=(0,c.createContext)(null),oj=e=>{var t,r,n,i;let[o,a]=(0,c.useState)(null),[l,u]=(0,c.useState)(!1),[d,h]=(0,c.useState)(!1),[g,p]=(0,c.useState)(null),m=(0,c.useRef)(!1),f=(0,c.useRef)(null),y=(0,c.useCallback)(e=>{m.current=e},[]),v=(0,c.useCallback)(()=>m.current,[]),w=(0,c.useCallback)(()=>f.current,[]),{locale:C,msalConfig:_,msalEnabledFeatureFlag:I,transcendEmailFeatureFlag:b,children:T,site:S,redirectUri:A="",startPageUri:k=""}=e,E="u">typeof window?null==(t=null==window?void 0:window.location)?void 0:t.hostname:"",R=""!==E&&((null==(i=null==(n=null==(r=null==_?void 0:_.custom)?void 0:r[S])?void 0:n.domains)?void 0:i.includes(E))??!1),[O]=(0,oF.M)("msal_temp",void 0),[M]=(0,oK.F)("beta_tester",void 0),P=(0,c.useMemo)(()=>{var e,t,r,n;return{profileAttrAPI:null==(t=null==(e=null==_?void 0:_.custom)?void 0:e[S])?void 0:t.profileAttrAPI,welcomeMessageApi:null==(n=null==(r=null==_?void 0:_.custom)?void 0:r[S])?void 0:n.welcomeMessageApi}},[_,S]),N=I||!!O||!!M||R,x=(0,c.useMemo)(()=>{var e,t,r,n,i,o,a,s,c,l,u,d,h,g,p,m,f,y,v,w,I,b,T,E,R,O,M,P;if(!_||!N)return{};let x="u">typeof window?window.location.origin:"",L=null==(t=null==(e=null==_?void 0:_.custom)?void 0:e[S])?void 0:t.redirectUri,U=null==(n=null==(r=null==_?void 0:_.custom)?void 0:r[S])?void 0:n.interruptUri,D=""!==A?A:L?`${x}${L}`:x,q=k&&""!==k?k:U&&""!==U?`${x}${U}`:"";return{configUrl:null==(o=null==(i=null==_?void 0:_.custom)?void 0:i[S])?void 0:o.configUrl,msalConfig:{auth:{clientId:null==(s=null==(a=null==_?void 0:_.custom)?void 0:a[S])?void 0:s.clientId,authority:null==(l=null==(c=null==_?void 0:_.custom)?void 0:c[S])?void 0:l.authority,knownAuthorities:[null==(d=null==(u=null==_?void 0:_.custom)?void 0:u[S])?void 0:d.knownAuthorities],redirectUri:D,postLogoutRedirectUri:x,clientName:null==(g=null==(h=null==_?void 0:_.custom)?void 0:h[S])?void 0:g.site,tc:null==(m=null==(p=null==_?void 0:_.custom)?void 0:p[S])?void 0:m.tc},cache:{cacheLocation:null==(y=null==(f=null==_?void 0:_.custom)?void 0:f[S])?void 0:y.cacheLocation,storeAuthStateInCookie:null==(w=null==(v=null==_?void 0:_.custom)?void 0:v[S])?void 0:w.storeAuthStateInCookie},system:{tokenRenewalOffsetSeconds:null==(b=null==(I=null==_?void 0:_.custom)?void 0:I[S])?void 0:b.tokenRenewalOffsetSeconds},wcs:{subscriptionKey:null==(E=null==(T=null==_?void 0:_.custom)?void 0:T[S])?void 0:E.wcsSubscriptionKey}},extraQueryParameters:{ui_locales:C||"en-US"},editEmailAuthority:null==(O=null==(R=null==_?void 0:_.custom)?void 0:R[S])?void 0:O.editEmailAuthority,editPasswordAuthority:null==(P=null==(M=null==_?void 0:_.custom)?void 0:M[S])?void 0:P.editPasswordAuthority,redirectStartPage:q}},[N,_,C,S,A,k]);return(0,c.useEffect)(()=>
7{if(null==x?void 0:x.msalConfig){let e=x.msalConfig;a(new oB({...e,auth:{...e.auth,navigateToLoginRequestUrl:!1}}))}else I&&(!x||0===Object.keys(x).length)&&console.error("MSAL Provider Client:: MSAL Config is missing")},[x,I]),(0,c.useEffect)(()=>{if(o){let e,t,r;"u">typeof window&&(e=window.location.search||"",t=window.location.hash||"",f.current=(r=new URLSearchParams(e).get("code"))||new URLSearchParams(t.startsWith("#")?t.slice(1):t).get("code")),o.initialize().then(()=>(u(!0),o.handleRedirectPromise())).then(e=>{p(e??null),h(!0)}).catch(()=>{p(null),h(!0)})}},[o]),(0,s.jsx)(o$.Provider,{value:{baseMsalConfig:x,msalEnabledFeatureFlag:N,transcendEmailFeatureFlag:b,msalInstance:o,msalInstanceLoaded:l,msalRedirectHandled:d,msalRedirectResult:g,getPostRedirectInFlight:v,setMsalPostRedirectInFlight:y,getAzureAuthorizationCode:w,memberApiConfig:P,site:S},children:T})}},90901:(e,t,r)=>{"use strict";r.d(t,{aw:()=>u,iX:()=>s,qm:()=>l});var n=r(67198),i=r(12115);let o=n.i&&window.__SWR_DEVTOOLS_USE__,a=o?window.__SWR_DEVTOOLS_USE__:[],s=()=>{let e=(0,i.useContext)(n.S);return(0,i.useMemo)(()=>(0,n.m)(n.d,e),[e])},c=a.concat(e=>(t,r,i)=>{let o=r&&((...e)=>{let[i]=(0,n.s)(t),[,,,o]=n.b.get(n.c);if(i.startsWith("$inf$"))return r(...e);let a=o[i];return(0,n.e)(a)?r(...e):(delete o[i],a)});return e(t,o,i)}),l=e=>function(...t){let r=s(),[i,o,a]=(0,n.a)(t[1])?[t[0],t[1],t[2]||{}]:[t[0],null,(null===t[1]?t[2]:t[1])||{}],l=(0,n.f)(r,a),u=e,{use:d}=l,h=(d||[]).concat(c);for(let e=h.length;e--;)u=h[e](u);return u(i,o||l.fetcher||null,l)},u=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let e=n.indexOf(r);e>=0&&(n[e]=n[n.length-1],n.pop())}};o&&(window.__SWR_DEVTOOLS_REACT__=i)},91566:(e,t,r)=>{"use strict";r.d(t,{W:()=>n,z:()=>i});let n="unexpected_error",i="post_request_failed"},92262:(e,t,r)=>{"use strict";r.d(t,{P5:()=>a,bQ:()=>o,gD:()=>n,vP:()=>i});let n="altbody",i="title",o="viewmorelocations",a={"en-us":"mi","en-ca":"km","fr-ca":"km"}},92437:(e,t,r)=>{"use strict";r.d(t,{k:()=>i});var n=r(46759);let i=(e,{useSalesLocationsApi:t=!1}={})=>{var r,i,o;if(t&&(null==(r=e.subType)?void 0:r.code)===n.DU)return n.aN.GAS_STATION_ONLY;if((null==(i=e.subType)?void 0:i.code)===n.kn)return n.aN.BUSINESS_CENTER;if(t){if((null==(o=e.subType)?void 0:o.code)===n.OB||e.regionCode===n.Cw)return n.aN.SHOWROOM}else if(e.regionCode===n.Cw)return n.aN.SHOWROOM;return n.aN.STANDARD}},94571:(e,t,r)=>{"use strict";r.d(t,{$J:()=>m,$q:()=>N,$r:()=>S,$t:()=>j,AJ:()=>f,Af:()=>h,CH:()=>R,D9:()=>$,Ey:()=>M,Hn:()=>A,IZ:()=>d,JP:()=>v,MP:()=>g,N0:()=>b,Oi:()=>B,QG:()=>P,SM:()=>O,Sv:()=>H,TN:()=>q,Xx:()=>U,aG:()=>I,iN:()=>E,jA:()=>L,jQ:()=>p,mX:()=>C,o4:()=>k,q8:()=>T,r1:()=>K,rA:()=>x,tH:()=>F,vS:()=>D,wQ:()=>y,zQ:()=>_,zq:()=>z});
7var n=r(5233),i=r(68585),o=r(34462),a=r(20974),s=r(46759),c=r(92437),l=r(16002),u=r(92262);let d={WAREHOUSE_COMING_SOON:"warehouse-coming-soon",GAS_COMING_SOON:"gas-coming-soon",BOTH_COMING_SOON:"both-coming-soon",GAS_OPEN_WAREHOUSE_COMING:"gas-open-warehouse-coming",WAREHOUSE_OPEN_GAS_COMING:"warehouse-open-gas-coming",WAREHOUSE_OPEN_GAS_OPEN:"warehouse-open-gas-open",WAREHOUSE_ONLY:"warehouse-only",GAS_ONLY:"gas-only"};function h(e,t={}){let{inclusive:r=!1}=t;if(null==e||"string"!=typeof e)return 999;let n=e.split("T")[0].split("-").map(Number);if(3!==n.length||n.some(e=>Number.isNaN(e)))return 999;let[i,o,a]=n;if(o<1||o>12||a<1||a>31)return 999;let s=new Date(i,o-1,a);if(isNaN(s.getTime()))return 999;let c=new Date;c.setHours(0,0,0,0);let l=(s.getTime()-c.getTime())/864e5;return l<0?0:0===l?+!!r:r?Math.floor(l)+1:Math.floor(l)}function g(e){return 0===h(e)}function p(e,t=!1){return(0,c.k)(e,{useSalesLocationsApi:t})===s.aN.SHOWROOM}function m(e,t=!1){return(0,c.k)(e,{useSalesLocationsApi:t})===s.aN.GAS_STATION_ONLY}function f(e,t=!1){return!!e&&(0,c.k)(e,{useSalesLocationsApi:t})===s.aN.STANDARD&&g(e.openingDate)}function y(e){let t=h(e.openingDate);return t>0&&t<=30}function v(e){var t;if((null==e?void 0:e.services)&&Array.isArray(e.services))return null==(t=e.services)?void 0:t.find(e=>"gas"===e.code)}function w(e){let t=e.trim();if(!t)return null;let r=t.split(":").map(e=>e.trim()),n=[];for(let e of r){if(""===e)return null;let t=parseInt(e,10);if(Number.isNaN(t))return null;n.push(t)}let i=n[0]??0,o=n[1]??0,a=n[2]??0;return`${String(i).padStart(2,"0")}:${String(o).padStart(2,"0")}:${String(a).padStart(2,"0")}`}function C(e,t=!1){var r,n,i;let o=m(e,t)?null==(r=e.hours)?void 0:r[0]:null==(i=null==(n=v(e))?void 0:n.hours)?void 0:i[0];if(!o)return!1;let a=o.open,s=o.close;if(!(null==a?void 0:a.trim())||!(null==s?void 0:s.trim()))return!1;let c=w(a),l=w(s);return null!==c&&null!==l&&c===l}function _(e,t=!1){if(m(e,t))return e.openingDate?h(e.openingDate):0;let r=v(e);return(null==r?void 0:r.openingDate)?isNaN(new Date(r.openingDate).getTime())?1/0:h(r.openingDate):0}function I(e,t=!1){if(m(e,t))return h(e.openingDate);let r=v(e);return(null==r?void 0:r.openingDate)?h(r.openingDate):h(e.openingDate)}function b(e,t=!1){let r=h(e.openingDate),n=_(e,t),i=!!v(e);if((0,c.k)(e,{useSalesLocationsApi:t})===s.aN.GAS_STATION_ONLY){let t=h(e.openingDate);return t>0&&t<=30?d.GAS_COMING_SOON:d.GAS_ONLY}return r>0&&r<=30&&i&&n<=0?d.GAS_OPEN_WAREHOUSE_COMING:r>0&&r<=30?d.WAREHOUSE_COMING_SOON:0===r?n>0&&n<=30?d.WAREHOUSE_OPEN_GAS_COMING:i&&n<=0?d.WAREHOUSE_OPEN_GAS_OPEN:d.WAREHOUSE_ONLY:n>0&&n<=30?d.GAS_COMING_SOON:i&&n<=0&&r>30?d.GAS_OPEN_WAREHOUSE_COMING:i&&n<=0?d.WAREHOUSE_OPEN_GAS_OPEN:d.WAREHOUSE_ONLY}let T=(e,t)=>{let r=e.findIndex(e=>e.warehouseId===t);return r>-1?[e[r],...e.filter((e,t)=>t!==r)]:e},S=(e,t)=>t&&e.some(e=>e.warehouseId===t)?T(e,t):e,A=(e,t)=>{let r=u.P5[t.toLowerCase()]||u.P5["en-us"];return e.map(e=>{if(!e.distance||e.distanceUnit===r)return e;if("mi"===e.distanceUnit&&"km"===r){let t=Number((0,l.eS)(e.distance));return{...e,distance:t,distanceUnit:"km"}}return e})},k=async({agent:e,filters:t,locale:r,location:n,preferredWarehouse:i,invokeSalesLocationsAPI:o})=>{var a;let s;if(!(s=o&&e.getSalesLocationByLatLng?await e.getSalesLocationByLatLng(null==n?void 0:n.latitude,null==n?void 0:n.longitude,r,!1,t):await e.getWarehousesByLatLng(null==n?void 0:n.latitude,null==n?void 0:n.longitude,r,!1,t)))return[];{let{context:e,warehouses:t}=s;return(null==(a=null==e?void 0:e.statusMessage)?void 0:a.statusCode)==="Success"&&(null==t?void 0:t.length)>0?S(A(t,r),i):[]}},E=async({agent:e,locale:t,warehouseId:r,invokeSalesLocationsAPI:n=!1})=>{let i=(0,l.OT)(r);if(/^\d+$/.test(i))try{let r=n&&e.getSalesLocation?await e.getSalesLocation(t,i):await e.getWarehouse(t,i);return(null==r?void 0:r.warehouse)??void 0}catch(e){o.v.error(e,`Error fetching warehouse by id: ${i}`);return}},R=async({agent:e,sortedWarehouses:t})=>{if(!t.length)return[];try{let r=t.map(e=>e.warehouseId),n=await e.getWarehousesGasPrices(r);if(n)return t.map(e=>({...e,gasPrices:e.warehouseId in n?n[Number(e.warehouseId)]:null}));return t.map(e=>({...e,gasPrices:null}))}catch(e){return o.v.error(e,"Error fetching gas prices"),t.map(e=>({...e,gasPrices:null}))}};function O(e,t,r){return{id:`${(0,l.OT)(e)}${s.Kc}`,...t&&{postalCode:t},...(null==r?void 0:r.isFromProfileApi)&&{fromProfileApi:!0}}}let M=async(e,t)=>
7{if(null==e?void 0:e.custom_properties)try{if(!t)return;let r=await (0,i.YQ)(e,t,e.custom_properties.profileProperty);if("string"==typeof r){let e=r.trim();if(e.startsWith("{")&&e.endsWith("}")){try{let t=JSON.parse(e);if(t&&"string"==typeof t.id)return(0,l.OT)(t.id)}catch{}return}return(0,l.OT)(e)}}catch(e){o.v.error(e,"Error fetching preferred warehouse")}},P=async(e,t,r)=>{if(!e||!t||!r)return!1;let n=!1;try{let o=e.getProfileAttributeService();if(!(null==o?void 0:o.custom_properties))return!1;n=!0,await (0,i.ze)(o,t,o.custom_properties.profileProperty,r)}catch(e){o.v.error(e,"Error saving preferred warehouse")}return n},N=async(e,t)=>{if(null==e?void 0:e.custom_properties)try{if(!t||!e.custom_properties.profileZip)return;let r=await (0,i.YQ)(e,t,e.custom_properties.profileZip);if(null==r)return;let n=String(r).trim();return n.length>0?n:void 0}catch(e){o.v.error(e,"Error fetching delivery location from profile")}},x=async(e,t,r)=>{var n;let a=r.trim();if(!e||!t||!a)return!1;let s=e.getProfileAttributeService();if(!(null==(n=null==s?void 0:s.custom_properties)?void 0:n.profileZip))return!1;let c=!1;try{c=!0,await (0,i.ze)(s,t,s.custom_properties.profileZip,a)}catch(e){o.v.error(e,"Error saving delivery location to profile")}return c},L=e=>{var t;return U(null==(t=null==e?void 0:e.getProfileAttributeService)?void 0:t.call(e))},U=e=>{var t;let r=null==(t=null==e?void 0:e.custom_properties)?void 0:t.sessionExpiryInMinutes;return"number"==typeof r&&Number.isFinite(r)&&r>0?60*r*1e3:36e5},D=e=>{let t=(()=>{if("u">typeof localStorage)try{let e=localStorage.getItem(n.ce);if(!e)return;let t=JSON.parse(e);if(!t.fromProfileApi)return;return(0,l.OT)(t.id)}catch(e){o.v.warn(e,"Error accessing warehouse in localStorage")}})();return t||(e&&e.catalog?(0,l.OT)(e.catalog):"")},q=e=>e.split("-")[1].toUpperCase(),H=e=>{let t={};return e.forEach(e=>{t[e.address]||(t[e.address]=e)}),Object.values(t)},B=e=>e.address??"";function F(e){var t;return null==(t=a.x[e])?void 0:t.validationSchema}function K(){if("u">typeof localStorage)try{let e=localStorage.getItem(n.np);if(!e)return;let t=JSON.parse(e);return!t||"object"!=typeof t||Array.isArray(t)||void 0!==t.whExpiresAt&&"string"!=typeof t.whExpiresAt||void 0!==t.zipExpiresAt&&"string"!=typeof t.zipExpiresAt?void 0:t}catch(e){o.v.warn(e,"Failed to parse userPref_expiresAt from localStorage");return}}function $(e){if("u">typeof localStorage)try{let t={...void 0!==e.whExpiresAt&&{whExpiresAt:e.whExpiresAt},...void 0!==e.zipExpiresAt&&{zipExpiresAt:e.zipExpiresAt}},r={...K(),...t};localStorage.setItem(n.np,JSON.stringify(r))}catch(e){o.v.error(e,"Failed to save userPref_expiresAt to localStorage")}}function j(){try{let e=K();if(!(null==e?void 0:e.whExpiresAt))return!1;return new Date(e.whExpiresAt).getTime()>new Date().getTime()}catch{return!1}}function z(){try{let e=K();if(!(null==e?void 0:e.zipExpiresAt))return!1;return new Date(e.zipExpiresAt).getTime()>new Date().getTime()}catch{return!1}}},98349:(e,t,r)=>{e.exports=(function e(t,r,n){function i(a,s){if(!r[a]){if(!t[a]){if(o)return o(a,!0);var c=Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[a]={exports:{}};t[a][0].call(l.exports,function(e){return i(t[a][1][e]||e)},l,l.exports,e,t,r,n)}return r[a].exports}for(var o=void 0,a=0;a<n.length;a++)i(n[a]);return i})({1:[function(e,t,n){(function(e){"use strict";var r,n,i=e.MutationObserver||e.WebKitMutationObserver;if(i){var o=0,a=new i(u),s=e.document.createTextNode("");a.observe(s,{characterData:!0}),r=function(){s.data=o=++o%2}}else if(e.setImmediate||void 0===e.MessageChannel)r="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var c=new e.MessageChannel;c.port1.onmessage=u,r=function(){c.port2.postMessage(0)}}var l=[];function u(){n=!0;for(var e,t,r=l.length;r;){for(t=l,l=[],e=-1;++e<r;)t[e]();r=l.length}n=!1}t.exports=function(e){1!==l.push(e)||n||r()}}).call(this,void 0!==r.g?r.g:"u">typeof self?self:"u">typeof window?window:{})},{}],2:[function(e,t,r){"use strict";var n=e(1);function i(){}var o={},a=["REJECTED"],s=["FULFILLED"],c=["PENDING"];function l(e){if("function"!=typeof e)throw TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,e!==i&&g(this,e)}function u(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function d(e,t,r){n(function(){var n;try{n=t(r)}catch(t){return o.reject(e,t)}n===e?o.reject(e,TypeError("Cannot resolve promise with itself")):o.resolve(e,n)})}function h(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function g(e,t){var r=!1;function n(t){r||(r=!0,o.reject(e,t))}function i(t){r||(r=!0,o.resolve(e,t))}var a=p(function(){t(i,n)});"error"===a.status&&n(a.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}t.exports=l,l.prototype.catch=function(e){return this.then(null,e)},l.prototype.then=function(e,t){if("function"!=typeof e&&this.state===s||"function"!=typeof t&&this.state===a)return this;var r=new this.constructor(i);return this.state!==c?d(r,this.state===s?e:t,this.outcome):this.queue.push(new u(r,e,t)),r},u.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){d(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){o.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){d(this.promise,this.onRejected,e)},o.resolve=function(e,t){var r=p(h,t);if("error"===r.status)return o.reject(e,r.value);var n=r.value;if(n)g(e,n);else{e.state=s,e.outcome=t;for(var i=-1,a=e.queue.length;++i<a;)e.queue[i].callFulfilled(t)}return e},o.reject=function(e,t){e.state=a,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},l.resolve=function(e){return e instanceof this?e:o.resolve(new this(i),e)},l.reject=function(e){var t=new this(i);return o.reject(t,e)},l.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);for(var a=Array(r),s=0,c=-1,l=new this(i);++c<r;)!function(e,i){t.resolve(e).then(function(e){a[i]=e,++s!==r||n||(n=!0,o.resolve(l,a))},function(e){n||(n=!0,o.reject(l,e))})}(e[c],c);return l},l.race=function(e){var t,r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(TypeError("must be an array"));var n=e.length,a=!1;if(!n)return this.resolve([]);for(var s=-1,c=new this(i);++s<n;){t=e[s],r.resolve(t).then(function(e){a||(a=!0,o.resolve(c,e))},function(e){a||(a=!0,o.reject(c,e))})}return c}},{1:1}],3:[function(e,t,n){(function(t){"use strict";"function"!=typeof t.Promise&&(t.Promise=e(2))}).call(this,void 0!==r.g?r.g:"u">typeof self?self:"u">typeof window?window:{})},{2:2}],4:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){try{if("u">typeof indexedDB)return indexedDB;if("u">typeof webkitIndexedDB)return webkitIndexedDB;if("u">typeof mozIndexedDB)return mozIndexedDB;if("u">typeof OIndexedDB)return OIndexedDB;if("u">typeof msIndexedDB)return msIndexedDB}catch(e){return}}();function o(e,t){e=e||[],t=t||{};try{return new Blob(e,t)}catch(i){if("TypeError"!==i.name)throw i;for(var r=new("u">typeof BlobBuilder?BlobBuilder:"u">typeof MSBlobBuilder?MSBlobBuilder:"u">typeof MozBlobBuilder?MozBlobBuilder:WebKitBlobBuilder),n=0;n<e.length;n+=1)r.append(e[n]);return r.getBlob(t.type)}}"u"<typeof Promise&&e(3);var a=Promise;function s(e,t){t&&e.then(function(e){t(null,e)},function(e){t(e)})}function c(e,t,r){"function"==typeof t&&e.then(t),"function"==typeof r&&e.catch(r)}function l(e){return"string"!=typeof e&&(console.warn(e+" used as a key, but it is not a string."),e=String(e)),e}function u(){if(arguments.length&&"function"==typeof arguments[arguments.length-1])return arguments[arguments.length-1]}var d="local-forage-detect-blob-support",h=void 0,g={},p=Object.prototype.toString,m="readonly",f="readwrite";function y(e){var t=g[e.name],r={};r.promise=new a(function(e,t){r.resolve=e,r.reject=t}),t.deferredOperations.push(r),t.dbReady?t.dbReady=t.dbReady.then(function(){return r.promise}):t.dbReady=r.promise}function v(e){var t=g[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function w(e,t){var r=g[e.name].deferredOperations.pop();if(r)return r.reject(t),r.promise}function C(e,t){return new a(function(r,n){if(g[e.name]=g[e.name]||A(),e.db)if(!t)return r(e.db);else y(e),e.db.close();var o=[e.name];t&&o.push(e.version);var a=i.open.apply(i,o);t&&(a.onupgradeneeded=function(t){var r=a.result;try{r.createObjectStore(e.storeName),t.oldVersion<=1&&r.createObjectStore(d)}catch(r){if("ConstraintError"===r.name)console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.');else throw r}}),a.onerror=function(e){e.preventDefault(),n(a.error)},a.onsuccess=function(){var t=a.result;t.onversionchange=function(e){e.target.close()},r(t),v(e)}})}function _(e,t){if(!e.db)return!0;var r=!e.db.objectStoreNames.contains(e.storeName),n=e.version<e.db.version,i=e.version>e.db.version;if(n&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),i||r){if(r){var o=e.db.version+1;o>e.version&&(e.version=o)}return!0}return!1}function I(e){return o([function(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}(atob(e.data))],{type:e.type})}function b(e){return e&&e.__local_forage_encoded_blob}function T(e){var t=this,r=t._initReady().then(function(){var e=g[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady});return c(r,e,e),r}function S(e,t,r,n){void 0===n&&(n=1);try{var i=e.db.transaction(e.storeName,t);r(null,i)}catch(i){if(n>0&&(!e.db||"InvalidStateError"===i.name||"NotFoundError"===i.name))return a.resolve().then(function(){if(!e.db||"NotFoundError"===i.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),C(e,!0)}).then(function(){return(function(e){y(e);for(var t=g[e.name],r=t.forages,n=0;n<r.length;n++){var i=r[n];i._dbInfo.db&&(i._dbInfo.db.close(),i._dbInfo.db=null)}return e.db=null,C(e,!1).then(function(t){return(e.db=t,_(e))?C(e,!0):t}).then(function(n){e.db=t.db=n;for(var i=0;i<r.length;i++)r[i]._dbInfo.db=n}
7).catch(function(t){throw w(e,t),t})})(e).then(function(){S(e,t,r,n-1)})}).catch(r);r(i)}}function A(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}var k={_driver:"asyncStorage",_initStorage:function(e){var t=this,r={db:null};if(e)for(var n in e)r[n]=e[n];var i=g[r.name];i||(i=A(),g[r.name]=i),i.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=T);var o=[];function s(){return a.resolve()}for(var c=0;c<i.forages.length;c++){var l=i.forages[c];l!==t&&o.push(l._initReady().catch(s))}var u=i.forages.slice(0);return a.all(o).then(function(){return r.db=i.db,C(r,!1)}).then(function(e){return(r.db=e,_(r,t._defaultConfig.version))?C(r,!0):e}).then(function(e){r.db=i.db=e,t._dbInfo=r;for(var n=0;n<u.length;n++){var o=u[n];o!==t&&(o._dbInfo.db=r.db,o._dbInfo.version=r.version)}})},_support:function(){try{if(!i||!i.open)return!1;var e="u">typeof openDatabase&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),t="function"==typeof fetch&&-1!==fetch.toString().indexOf("[native code");return(!e||t)&&"u">typeof indexedDB&&"u">typeof IDBKeyRange}catch(e){return!1}}(),iterate:function(e,t){var r=this,n=new a(function(t,n){r.ready().then(function(){S(r._dbInfo,m,function(i,o){if(i)return n(i);try{var a=o.objectStore(r._dbInfo.storeName).openCursor(),s=1;a.onsuccess=function(){var r=a.result;if(r){var n=r.value;b(n)&&(n=I(n));var i=e(n,r.key,s++);void 0!==i?t(i):r.continue()}else t()},a.onerror=function(){n(a.error)}}catch(e){n(e)}})}).catch(n)});return s(n,t),n},getItem:function(e,t){var r=this;e=l(e);var n=new a(function(t,n){r.ready().then(function(){S(r._dbInfo,m,function(i,o){if(i)return n(i);try{var a=o.objectStore(r._dbInfo.storeName).get(e);a.onsuccess=function(){var e=a.result;void 0===e&&(e=null),b(e)&&(e=I(e)),t(e)},a.onerror=function(){n(a.error)}}catch(e){n(e)}})}).catch(n)});return s(n,t),n},setItem:function(e,t,r){var n=this;e=l(e);var i=new a(function(r,i){var s;n.ready().then(function(){return(s=n._dbInfo,"[object Blob]"===p.call(t))?(function(e){return"boolean"==typeof h?a.resolve(h):new a(function(t){var r=e.transaction(d,f),n=o([""]);r.objectStore(d).put(n,"key"),r.onabort=function(e){e.preventDefault(),e.stopPropagation(),t(!1)},r.oncomplete=function(){var e=navigator.userAgent.match(/Chrome\/(\d+)/);t(navigator.userAgent.match(/Edge\//)||!e||parseInt(e[1],10)>=43)}}).catch(function(){return!1}).then(function(e){return h=e})})(s.db).then(function(e){return e?t:new a(function(e,r){var n=new FileReader;n.onerror=r,n.onloadend=function(r){e({__local_forage_encoded_blob:!0,data:btoa(r.target.result||""),type:t.type})},n.readAsBinaryString(t)})}):t}).then(function(t){S(n._dbInfo,f,function(o,a){if(o)return i(o);try{var s=a.objectStore(n._dbInfo.storeName);null===t&&(t=void 0);var c=s.put(t,e);a.oncomplete=function(){void 0===t&&(t=null),r(t)},a.onabort=a.onerror=function(){var e=c.error?c.error:c.transaction.error;i(e)}}catch(e){i(e)}})}).catch(i)});return s(i,r),i},removeItem:function(e,t){var r=this;e=l(e);var n=new a(function(t,n){r.ready().then(function(){S(r._dbInfo,f,function(i,o){if(i)return n(i);try{var a=o.objectStore(r._dbInfo.storeName).delete(e);o.oncomplete=function(){t()},o.onerror=function(){n(a.error)},o.onabort=function(){var e=a.error?a.error:a.transaction.error;n(e)}}catch(e){n(e)}})}).catch(n)});return s(n,t),n},clear:function(e){var t=this,r=new a(function(e,r){t.ready().then(function(){S(t._dbInfo,f,function(n,i){if(n)return r(n);try{var o=i.objectStore(t._dbInfo.storeName).clear();i.oncomplete=function(){e()},i.onabort=i.onerror=function(){var e=o.error?o.error:o.transaction.error;r(e)}}catch(e){r(e)}})}).catch(r)});return s(r,e),r},length:function(e){var t=this,r=new a(function(e,r){t.ready().then(function(){S(t._dbInfo,m,function(n,i){if(n)return r(n);try{var o=i.objectStore(t._dbInfo.storeName).count();o.onsuccess=function(){e(o.result)},o.onerror=function(){r(o.error)}}catch(e){r(e)}})}).catch(r)});return s(r,e),r},key:function(e,t){var r=this,n=new a(function(t,n){e<0?t(null):r.ready().then(function(){S(r._dbInfo,m,function(i,o){if(i)return n(i);try{var a=o.objectStore(r._dbInfo.storeName),s=!1,c=a.openKeyCursor();c.onsuccess=function(){var r=c.result;r?0===e||s?t(r.key):(s=!0,r.advance(e)):t(null)},c.onerror=function(){n(c.error)}}catch(e){n(e)}})}).catch(n)});return s(n,t),n},keys:function(e){var t=this,r=new a(function(e,r){t.ready().then(function(){S(t._dbInfo,m,function(n,i){if
7(n)return r(n);try{var o=i.objectStore(t._dbInfo.storeName).openKeyCursor(),a=[];o.onsuccess=function(){var t=o.result;t?(a.push(t.key),t.continue()):e(a)},o.onerror=function(){r(o.error)}}catch(e){r(e)}})}).catch(r)});return s(r,e),r},dropInstance:function(e,t){t=u.apply(this,arguments);var r,n=this.config();if((e="function"!=typeof e&&e||{}).name||(e.name=e.name||n.name,e.storeName=e.storeName||n.storeName),e.name){var o=e.name===n.name&&this._dbInfo.db?a.resolve(this._dbInfo.db):C(e,!1).then(function(t){var r=g[e.name],n=r.forages;r.db=t;for(var i=0;i<n.length;i++)n[i]._dbInfo.db=t;return t});r=e.storeName?o.then(function(t){if(t.objectStoreNames.contains(e.storeName)){var r=t.version+1;y(e);var n=g[e.name],o=n.forages;t.close();for(var s=0;s<o.length;s++){var c=o[s];c._dbInfo.db=null,c._dbInfo.version=r}return new a(function(t,n){var o=i.open(e.name,r);o.onerror=function(e){o.result.close(),n(e)},o.onupgradeneeded=function(){o.result.deleteObjectStore(e.storeName)},o.onsuccess=function(){var e=o.result;e.close(),t(e)}}).then(function(e){n.db=e;for(var t=0;t<o.length;t++){var r=o[t];r._dbInfo.db=e,v(r._dbInfo)}}).catch(function(t){throw(w(e,t)||a.resolve()).catch(function(){}),t})}}):o.then(function(t){y(e);var r=g[e.name],n=r.forages;t.close();for(var o=0;o<n.length;o++)n[o]._dbInfo.db=null;return new a(function(t,r){var n=i.deleteDatabase(e.name);n.onerror=function(){var e=n.result;e&&e.close(),r(n.error)},n.onblocked=function(){console.warn('dropInstance blocked for database "'+e.name+'" until all open connections are closed')},n.onsuccess=function(){var e=n.result;e&&e.close(),t(e)}}).then(function(e){r.db=e;for(var t=0;t<n.length;t++)v(n[t]._dbInfo)}).catch(function(t){throw(w(e,t)||a.resolve()).catch(function(){}),t})})}else r=a.reject("Invalid arguments");return s(r,t),r}},E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",R=/^~~local_forage_type~([^~]+)~/,O="__lfsc__:",M=O.length,P="arbf",N="blob",x="si08",L="ui08",U="uic8",D="si16",q="si32",H="ur16",B="ui32",F="fl32",K="fl64",$=M+P.length,j=Object.prototype.toString;function z(e){var t,r,n,i,o,a=.75*e.length,s=e.length,c=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);var l=new ArrayBuffer(a),u=new Uint8Array(l);for(t=0;t<s;t+=4)r=E.indexOf(e[t]),n=E.indexOf(e[t+1]),i=E.indexOf(e[t+2]),o=E.indexOf(e[t+3]),u[c++]=r<<2|n>>4,u[c++]=(15&n)<<4|i>>2,u[c++]=(3&i)<<6|63&o;return l}function G(e){var t,r=new Uint8Array(e),n="";for(t=0;t<r.length;t+=3)n+=E[r[t]>>2],n+=E[(3&r[t])<<4|r[t+1]>>4],n+=E[(15&r[t+1])<<2|r[t+2]>>6],n+=E[63&r[t+2]];return r.length%3==2?n=n.substring(0,n.length-1)+"=":r.length%3==1&&(n=n.substring(0,n.length-2)+"=="),n}var Y={serialize:function(e,t){var r="";if(e&&(r=j.call(e)),e&&("[object ArrayBuffer]"===r||e.buffer&&"[object ArrayBuffer]"===j.call(e.buffer))){var n,i=O;e instanceof ArrayBuffer?(n=e,i+=P):(n=e.buffer,"[object Int8Array]"===r?i+=x:"[object Uint8Array]"===r?i+=L:"[object Uint8ClampedArray]"===r?i+=U:"[object Int16Array]"===r?i+=D:"[object Uint16Array]"===r?i+=H:"[object Int32Array]"===r?i+=q:"[object Uint32Array]"===r?i+=B:"[object Float32Array]"===r?i+=F:"[object Float64Array]"===r?i+=K:t(Error("Failed to get type for BinaryArray"))),t(i+G(n))}else if("[object Blob]"===r){var o=new FileReader;o.onload=function(){t(O+N+("~~local_forage_type~"+e.type+"~")+G(this.result))},o.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(r){console.error("Couldn't convert value into a JSON string: ",e),t(null,r)}},deserialize:function(e){if(e.substring(0,M)!==O)return JSON.parse(e);var t,r=e.substring($),n=e.substring(M,$);if(n===N&&R.test(r)){var i=r.match(R);t=i[1],r=r.substring(i[0].length)}var a=z(r);switch(n){case P:return a;case N:return o([a],{type:t});case x:return new Int8Array(a);case L:return new Uint8Array(a);case U:return new Uint8ClampedArray(a);case D:return new Int16Array(a);case H:return new Uint16Array(a);case q:return new Int32Array(a);case B:return new Uint32Array(a);case F:return new Float32Array(a);case K:return new Float64Array(a);default:throw Error("Unkown type: "+n)}},stringToBuffer:z,bufferToString:G};function W(e,t,r,n){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],r,n)}function Z(e,t,r,n,i,o){e.executeSql(r,n,i,function(e,a){a.code===a.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],function(e,s){s.rows.length?o(e,a):W(e,t,function(){e.executeSql(r,n,i,o)},o)},o):o(e,a)},o)}function V(e,t,r,n){var i=this;e=l(e);var o=new a(function(o,a){i.ready().then(function(){void 0===t&&(t=null);var s=t,c=i._dbInfo;c.serializer.serialize(t,function(t,l){l?a(l):c.db.transaction(function(r){Z(r,c,"INSERT OR REPLACE INTO "+c.storeName+" (key, value) VALUES (?, ?)",[e,t],function(){o(s)},function(e,t){a(t)})},function(t){if(t.code===t.QUOTA_ERR){if(n>0)return void o(V.apply(i,[e,s,r,n-1]));a(t)}})})}).catch(a)});return s(o,r),o}var Q={_driver:"webSQLStorage",_initStorage:function(e){var t=this,r={db:null};if(e)for(var n in e)r[n]="string"!=typeof e[n]?e[n].toString():e[n];var i=new a(function(e,n){try{r.db=openDatabase(r.name,String(r.version),r.description,r.size)}catch(e){return n(e)}r.db.transaction(function(i){W(i,r,function(){t._dbInfo=r,e()},function(e,t){n(t)})},n)});
7return r.serializer=Y,i},_support:"function"==typeof openDatabase,iterate:function(e,t){var r=this,n=new a(function(t,n){r.ready().then(function(){var i=r._dbInfo;i.db.transaction(function(r){Z(r,i,"SELECT * FROM "+i.storeName,[],function(r,n){for(var o=n.rows,a=o.length,s=0;s<a;s++){var c=o.item(s),l=c.value;if(l&&(l=i.serializer.deserialize(l)),void 0!==(l=e(l,c.key,s+1)))return void t(l)}t()},function(e,t){n(t)})})}).catch(n)});return s(n,t),n},getItem:function(e,t){var r=this;e=l(e);var n=new a(function(t,n){r.ready().then(function(){var i=r._dbInfo;i.db.transaction(function(r){Z(r,i,"SELECT * FROM "+i.storeName+" WHERE key = ? LIMIT 1",[e],function(e,r){var n=r.rows.length?r.rows.item(0).value:null;n&&(n=i.serializer.deserialize(n)),t(n)},function(e,t){n(t)})})}).catch(n)});return s(n,t),n},setItem:function(e,t,r){return V.apply(this,[e,t,r,1])},removeItem:function(e,t){var r=this;e=l(e);var n=new a(function(t,n){r.ready().then(function(){var i=r._dbInfo;i.db.transaction(function(r){Z(r,i,"DELETE FROM "+i.storeName+" WHERE key = ?",[e],function(){t()},function(e,t){n(t)})})}).catch(n)});return s(n,t),n},clear:function(e){var t=this,r=new a(function(e,r){t.ready().then(function(){var n=t._dbInfo;n.db.transaction(function(t){Z(t,n,"DELETE FROM "+n.storeName,[],function(){e()},function(e,t){r(t)})})}).catch(r)});return s(r,e),r},length:function(e){var t=this,r=new a(function(e,r){t.ready().then(function(){var n=t._dbInfo;n.db.transaction(function(t){Z(t,n,"SELECT COUNT(key) as c FROM "+n.storeName,[],function(t,r){e(r.rows.item(0).c)},function(e,t){r(t)})})}).catch(r)});return s(r,e),r},key:function(e,t){var r=this,n=new a(function(t,n){r.ready().then(function(){var i=r._dbInfo;i.db.transaction(function(r){Z(r,i,"SELECT key FROM "+i.storeName+" WHERE id = ? LIMIT 1",[e+1],function(e,r){t(r.rows.length?r.rows.item(0).key:null)},function(e,t){n(t)})})}).catch(n)});return s(n,t),n},keys:function(e){var t=this,r=new a(function(e,r){t.ready().then(function(){var n=t._dbInfo;n.db.transaction(function(t){Z(t,n,"SELECT key FROM "+n.storeName,[],function(t,r){for(var n=[],i=0;i<r.rows.length;i++)n.push(r.rows.item(i).key);e(n)},function(e,t){r(t)})})}).catch(r)});return s(r,e),r},dropInstance:function(e,t){t=u.apply(this,arguments);var r,n=this.config();(e="function"!=typeof e&&e||{}).name||(e.name=e.name||n.name,e.storeName=e.storeName||n.storeName);var i=this;return s(r=e.name?new a(function(t){var r;(r=e.name===n.name?i._dbInfo.db:openDatabase(e.name,"","",0),e.storeName)?t({db:r,storeNames:[e.storeName]}):t(new a(function(e,t){r.transaction(function(n){n.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(t,n){for(var i=[],o=0;o<n.rows.length;o++)i.push(n.rows.item(o).name);e({db:r,storeNames:i})},function(e,r){t(r)})},function(e){t(e)})}))}).then(function(e){return new a(function(t,r){e.db.transaction(function(n){for(var i=[],o=0,s=e.storeNames.length;o<s;o++)i.push(function(e){return new a(function(t,r){n.executeSql("DROP TABLE IF EXISTS "+e,[],function(){t()},function(e,t){r(t)})})}(e.storeNames[o]));a.all(i).then(function(){t()}).catch(function(e){r(e)})},function(e){r(e)})})}):a.reject("Invalid arguments"),t),r}};function J(e,t){var r=e.name+"/";return e.storeName!==t.storeName&&(r+=e.storeName+"/"),r}var X={_driver:"localStorageWrapper",_initStorage:function(e){var t={};if(e)for(var r in e)t[r]=e[r];return(t.keyPrefix=J(e,this._defaultConfig),!function(){var e="_localforage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(e){return!0}}()||localStorage.length>0)?(this._dbInfo=t,t.serializer=Y,a.resolve()):a.reject()},_support:function(){try{return"u">typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}(),iterate:function(e,t){var r=this,n=r.ready().then(function(){for(var t=r._dbInfo,n=t.keyPrefix,i=n.length,o=localStorage.length,a=1,s=0;s<o;s++){var c=localStorage.key(s);if(0===c.indexOf(n)){var l=localStorage.getItem(c);if(l&&(l=t.serializer.deserialize(l)),void 0!==(l=e(l,c.substring(i),a++)))return l}}});return s(n,t),n},getItem:function(e,t){var r=this;e=l(e);var n=r.ready().then(function(){var t=r._dbInfo,n=localStorage.getItem(t.keyPrefix+e);return n&&(n=t.serializer.deserialize(n)),n});return s(n,t),n},setItem:function(e,t,r){var n=this;e=l(e);var i=n.ready().then(function(){void 0===t&&(t=null);var r=t;return new a(function(i,o){var a=n._dbInfo;a.serializer.serialize(t,function(t,n){if(n)o(n);else try{localStorage.setItem(a.keyPrefix+e,t),i(r)}catch(e){("QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&o(e),o(e)}})})});return s(i,r),i},removeItem:function(e,t){var r=this;e=l(e);var n=r.ready().then(function(){var t=r._dbInfo;localStorage.removeItem(t.keyPrefix+e)});return s(n,t),n},clear:function(e){var t=this,r=t.ready().then(function(){for(var e=t._dbInfo.keyPrefix,r=localStorage.length-1;r>=0;r--){var n=localStorage.key(r);0===n.indexOf(e)&&localStorage.removeItem(n)}});return s(r,e),r},length:function(e){var t=this.keys().then(function(e){return e.length});return s(t,e),t},key:function(e,t){var r=this,n=r.ready().then(function(){var t,n=r._dbInfo;try{t=localStorage.key(e)}catch(e){t=null}return t&&(t=t.substring(n.keyPrefix.length)),t});return s(n,t),n},keys:function(e){var t=this,r=t.ready().then(function(){for(var e=t._dbInfo,r=localStorage.length,n=[],i=0;i<r;i++){var o=localStorage.key(i);0===o.indexOf(e.keyPrefix)&&n.push(o.substring(e.keyPrefix.length))}return n});return s(r,e),r},dropInstance:function(e,t){if(t=u.apply(this,arguments),!(e="function"!=typeof e&&e||{}).name){var r,n=this.config();e.name=e.name||n.name,e.storeName=e.storeName||n.storeName}var i=this;return s(r=e.name?new a(function(t){t(e.storeName?J(e,i._defaultConfig):e.name+"/")}).then(function(e){for(var t=localStorage.length-1;t>=0;t--){var r=localStorage.key(t);0===r.indexOf(e)&&localStorage.removeItem(r)}}):a.reject("Invalid arguments"),t),r}},ee=function(e,t){for(var r,n=e.length,i=0;i<n;){if((r=e[i])===t||"number"==typeof r&&"number"==typeof t&&isNaN(r)&&isNaN(t))return!0;
7i++}return!1},et=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},er={},en={},ei={INDEXEDDB:k,WEBSQL:Q,LOCALSTORAGE:X},eo=[ei.INDEXEDDB._driver,ei.WEBSQL._driver,ei.LOCALSTORAGE._driver],ea=["dropInstance"],es=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(ea),ec={description:"",driver:eo.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};function el(){for(var e=1;e<arguments.length;e++){var t=arguments[e];if(t)for(var r in t)t.hasOwnProperty(r)&&(et(t[r])?arguments[0][r]=t[r].slice():arguments[0][r]=t[r])}return arguments[0]}t.exports=new(function(){function e(t){if(!(this instanceof e))throw TypeError("Cannot call a class as a function");for(var r in ei)if(ei.hasOwnProperty(r)){var n=ei[r],i=n._driver;this[r]=i,er[i]||this.defineDriver(n)}this._defaultConfig=el({},ec),this._config=el({},this._defaultConfig,t),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){})}return e.prototype.config=function(e){if((void 0===e?"undefined":n(e))==="object"){if(this._ready)return Error("Can't call config() after localforage has been used.");for(var t in e){if("storeName"===t&&(e[t]=e[t].replace(/\W/g,"_")),"version"===t&&"number"!=typeof e[t])return Error("Database version must be a number.");this._config[t]=e[t]}return!("driver"in e)||!e.driver||this.setDriver(this._config.driver)}return"string"==typeof e?this._config[e]:this._config},e.prototype.defineDriver=function(e,t,r){var n=new a(function(t,r){try{var n=e._driver,i=Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!e._driver)return void r(i);for(var o=es.concat("_initStorage"),c=0,l=o.length;c<l;c++){var u=o[c];if((!ee(ea,u)||e[u])&&"function"!=typeof e[u])return void r(i)}for(var d=function(e){return function(){var t=Error("Method "+e+" is not implemented by the current driver"),r=a.reject(t);return s(r,arguments[arguments.length-1]),r}},h=0,g=ea.length;h<g;h++){var p=ea[h];e[p]||(e[p]=d(p))}var m=function(r){er[n]&&console.info("Redefining LocalForage driver: "+n),er[n]=e,en[n]=r,t()};"_support"in e?e._support&&"function"==typeof e._support?e._support().then(m,r):m(!!e._support):m(!0)}catch(e){r(e)}});return c(n,t,r),n},e.prototype.driver=function(){return this._driver||null},e.prototype.getDriver=function(e,t,r){var n=er[e]?a.resolve(er[e]):a.reject(Error("Driver not found."));return c(n,t,r),n},e.prototype.getSerializer=function(e){var t=a.resolve(Y);return c(t,e),t},e.prototype.ready=function(e){var t=this,r=t._driverSet.then(function(){return null===t._ready&&(t._ready=t._initDriver()),t._ready});return c(r,e,e),r},e.prototype.setDriver=function(e,t,r){var n=this;et(e)||(e=[e]);var i=this._getSupportedDrivers(e);function o(){n._config.driver=n.driver()}function s(e){return n._extend(e),o(),n._ready=n._initStorage(n._config),n._ready}var l=null!==this._driverSet?this._driverSet.catch(function(){return a.resolve()}):a.resolve();return this._driverSet=l.then(function(){var e=i[0];return n._dbInfo=null,n._ready=null,n.getDriver(e).then(function(e){n._driver=e._driver,o(),n._wrapLibraryMethodsWithReady(),n._initDriver=function(){var e=0;return function t(){for(;e<i.length;){var r=i[e];return e++,n._dbInfo=null,n._ready=null,n.getDriver(r).then(s).catch(t)}o();var c=Error("No available storage method found.");return n._driverSet=a.reject(c),n._driverSet}()}})}).catch(function(){o();var e=Error("No available storage method found.");return n._driverSet=a.reject(e),n._driverSet}),c(this._driverSet,t,r),this._driverSet},e.prototype.supports=function(e){return!!en[e]},e.prototype._extend=function(e){el(this,e)},e.prototype._getSupportedDrivers=function(e){for(var t=[],r=0,n=e.length;r<n;r++){var i=e[r];this.supports(i)&&t.push(i)}return t},e.prototype._wrapLibraryMethodsWithReady=function(){for(var e=0,t=es.length;e<t;e++)!function(e,t){e[t]=function(){var r=arguments;return e.ready().then(function(){return e[t].apply(e,r)})}}(this,es[e])},e.prototype.createInstance=function(t){return new e(t)},e}())},{3:3}]},{},[4])(4)}
7,98822:(e,t,r)=>{"use strict";function n(e){let t="/LogonForm";e&&(t+=`?URL=${e}`),window.location.href=t}r.d(t,{H$:()=>i,Jv:()=>n,au:()=>o});let i=async()=>{if("u">typeof window){let e=window.location.href.replace(window.location.origin,"").replace(/^\//,"");window.location.href=`${window.location.origin}/ChangePassword?fromPage=${e}`}},o=async()=>{if("u">typeof window){let e=window.location.href.replace(window.location.origin,"").replace(/^\//,"");window.location.href=`${window.location.origin}/editAzureUserEmail?fromPage=${e}`}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.