1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60],{2421:(e,t,n)=>{n.d(t,{rH:()=>w,jc:()=>m,Mm:()=>f});var r=n(57184),o=n(12101),a=n(53330),i=n(30620),s=n(50060);let c=async()=>{let e=encodeURIComponent("persist:root"),t=null;return!!((t=(0,s.yA)({name:e}))&&JSON.parse(t)?.debugReducer)&&(JSON.parse(JSON.parse(t)?.debugReducer)?.debugMode||!1)};var u=n(43e3);n(55036);let l=new Map,d="https://b12.nahdionline.com",h=["time-slots","nuhdeek/profile"],p=[/^cart\/mini-basket$/];function f(e,t,n,o){let a,i=(0,r.CA)(t,n);a=h.some(t=>e.includes(t))?`${d}/api/v2/${e}`:`${d}/api/v1/${e}`;let s=new URLSearchParams(o||"");return s.has("locale")||s.append("locale",i),s.has("device")||s.append("device","web"),`${a}?${s.toString()}`}function m(e,t,n){let r=e.replace(/^\/?(cms\/)?/,"");return`/api/proxy/mw/cms/${t.toLowerCase()}/${n.toLowerCase()}/${r}`}async function g({baseUrl:e,path:t,query:n,options:r,cache:a,revalidate:i,language:c,region:l}){let d=t?.includes("cms"),h=a&&!d&&p.some(e=>e.test(t)),f=h?{cache:"default"}:(0,o.z)({cache:a,revalidate:i,url:t}),m=r;if("/api/proxy/mw"===e&&r?.headers){let e={...r.headers};delete e.Authorization,delete e["X-ID-Token"],m={...r,headers:e}}let y=new URLSearchParams({path:encodeURIComponent(t),...n?{query:encodeURIComponent(n)}:{},...m?{options:encodeURIComponent(JSON.stringify(m))}:{},cache:a&&d?"true":"false",...i&&d?{revalidate:i.toString()}:{},...h?{privatecache:"true",epoch:(0,s.tS)(u.aq)||"0"}:{},language:c,region:l}),w=await fetch(`${e}?${y.toString()}`,{method:h?"GET":r?.method,headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(1e4),...f}),S=await w.json();return w.ok||!S||"object"!=typeof S||Array.isArray(S)||void 0!==S.status||(S.status=w.status),S}async function y({path:e,query:t,options:n,cache:r,revalidate:o,language:a,region:i}){let s=f(e,a,i,t),c={...function(e){if(!e)return e;let t=e.headers||{},n=t.originalMethod;if(!n)return e;let r={...t};return delete r.originalMethod,{...e,headers:r,method:n}}(n),credentials:"omit"};return await S({language:a,region:i,url:s,options:c,cache:r,revalidate:o,errorName:e,requestSource:"mw",unauthorizedRetry:!0})}async function w({path:e,query:t,options:n,cache:r,revalidate:o,language:a,region:i}){var s;let u=n;if(u){let e=await c();e&&(u={...u,headers:{...u?.headers,"X-DEBUG-MODE":String(e),is_debug:String(e),originalMethod:u?.method||"GET"},method:"POST"})}0;return await g({baseUrl:"/api/proxy/mw",path:e,query:t,options:u,cache:r,revalidate:o,language:a,region:i})}async function S({language:e,region:t,url:n,options:r,cache:c,revalidate:d,errorName:h,unauthorizedRetry:p,requestSource:f,timeoutMs:m}){let g=(0,o.z)({cache:c,revalidate:d,url:n}),y={...r,headers:{"Content-Type":"application/json",client_id:"aedc0445-ba8a-41b0-a0d2-19394dbd78d7",...r?.headers},signal:r?.signal??AbortSignal.timeout(m??8e3),...g};r?.overrideMethod&&(y.method=r.overrideMethod,delete y.overrideMethod);let w=await fetch(n,y),k=await w.json();if(!w?.ok){if(k?.status===401&&k?.error==="Unauthorized"&&!p&&!(0,s.tS)(u.n$)){let o,i=await (0,a.l)({forceRefresh:!0,language:e,region:t,trigger:"unauthorized_retry"});if(i?.customer_token)return await S({language:e,region:t,url:n,options:r,cache:c,revalidate:d,errorName:h,unauthorizedRetry:!0,timeoutMs:m});o&&function(e){let t=function(e){let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)}(e);if(l.set(t,Date.now()+3e4),l.size>1e3){let e=Date.now();for(let[t,n]of l)n<e&&l.delete(t)}}(o)}throw new i.G(k,w.status,n,h)}return k}},12101:(e,t,n)=>{n.d(t,{z:()=>r});function r({cache:e,revalidate:t,url:n}){return n?.includes("cms")?{...!t&&{cache:"force-cache"},..."boolean"==typeof e&&!1===e&&{cache:"no-store"},...t&&{next:{revalidate:t}}}:{cache:"no-store"}}},30620:(e,t,n)=>{n.d(t,{G:()=>r});class r extends Error{constructor(e,t,n,r,o){super(e?.message||e?.error||"UNKNOWN_ERROR"),this.errorObj=e,this.status=t,this.url=n,this.errorName=r,this.reqMetaData=o,this.name=r||"RequestError",this.date=new Date().toUTCString()}}},38034:(e,t,n)=>{n.d(t,{g:()=>o,k:()=>r});let r={oneMinute_60:60,threeMinutes_180:180,fiveMinutes_300:300,tenMinutes_600:600,fifteenMinutes_900:900,thirtyMinutes_1800:1800,oneHour_3600:3600,fourHours_14400:14400,oneDay_86400:86400},o={product:"product",products:"products",productTiles:"productTiles",content:"content",cmsContent:"cmscontent",cart:"cart"}}
1,43e3:(e,t,n)=>{n.d(t,{C$:()=>o,C0:()=>h,D7:()=>D,Dg:()=>v,FU:()=>w,GX:()=>j,Ib:()=>p,Js:()=>u,Ls:()=>g,Mc:()=>c,Mm:()=>l,OZ:()=>T,Oh:()=>E,Qn:()=>f,ST:()=>k,Sm:()=>b,UX:()=>S,VT:()=>R,WL:()=>y,Xn:()=>_,Yo:()=>r,aq:()=>U,bC:()=>$,bx:()=>A,cQ:()=>a,jV:()=>m,jZ:()=>s,n$:()=>d,o_:()=>i,ze:()=>C});let r="basketId",o="customerToken",a="customerIdToken",i="customerRefreshToken",s="customerAccessToken",c="zoneId",u="customerNuhdeekId",l="magento_customer_id",d="impR",h="routableStoreId",p="consentPromo",f="consentPrime",m="popup_erxOrderConfirmation",g="popup_orderConfirmation",y="popup_registrationConfirmation",w="_dyid_server",S="_dyjsession",k="shipping_method",$="mergedBasket",C="clang",_="webpagecookie",b="algoliaGuestKey",R="spa_device_id",v="spa_session_id",T=[o,a,s,i,u,l],U="cartEpoch",E="loginPhone",A="orderNumber",D="orderId",j="paymentLink"},50060:(e,t,n)=>{n.d(t,{DY:()=>p,Ig:()=>s,JI:()=>u,T7:()=>f,dR:()=>i,tS:()=>c,yA:()=>a});var r=n(43e3),o=n(54212);function a({name:e,cookiesData:t}){return document?.cookie?c(e):t?t.get(e)?.value:null}function i({name:e,value:t,path:n,expires:r,cookiesData:o}){if(document?.cookie)u(e,t,n,r);else if(o){let a=r||new Date(Date.now()+36e5);o.set(p({name:e,value:t,path:n||"/",expires:a}))}}function s({name:e,cookiesData:t}){document?.cookie?(0,o.Yj)(e):t&&t.delete(e)}function c(e){if(!document?.cookie)return null;let t=e.length+1;return document.cookie.split(";").map(e=>e.trim()).filter(n=>n.substring(0,t)===`${e}=`).map(e=>decodeURIComponent(e.substring(t)))[0]||null}function u(e,t,n="/",r){if("u"<typeof document)return;let o=r||new Date(Date.now()+36e5),a=`${e}=${encodeURIComponent(t)}; path=${n}; expires=${"string"==typeof o?o:o.toUTCString()};`;document.cookie=a}let l={[r.Yo]:"lax",[r.C$]:"lax",[r.cQ]:"lax",[r.ze]:"lax"},d={httpOnly:!1,secure:!0,path:"/"};function h(e){return l[e]||"strict"}function p(e){return{...d,...e,sameSite:h(e.name),...e.sameSite&&{sameSite:e.sameSite}}}function f(e){let t=e.name;return delete e.name,{...d,...e,expires:function(e){let t=e;if("string"==typeof e){let e=new Date;e.setDate(e.getDate()+5),t=e}return t}(e.expires),sameSite:h(t)}}},53330:(e,t,n)=>{n.d(t,{l:()=>o});var r=n(9700);let o=(0,r.createServerReference)("40665a1be7fe0d637f0e08b340e694f06024a46754",r.callServer,void 0,r.findSourceMapURL,"consumeRefreshToken")},54212:(e,t,n)=>{n.d(t,{FU:()=>$,Gy:()=>u,LY:()=>f,PC:()=>l,Re:()=>h,Ur:()=>y,X6:()=>g,Yj:()=>w,eX:()=>S,iD:()=>k,w3:()=>p,yU:()=>d});var r=n(82224),o=n(2421),a=n(38034),i=n(43e3),s=n(50060),c=n(88944);async function u(e,t,n){return await r.V.post({url:"/api/auth/customer/address/add",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e}),params:{language:t,region:n}})}async function l(e,t,n){let r=(0,s.tS)(i.C$),a=(0,s.tS)(i.cQ);return await (0,o.rH)({path:`address/${e}/remove`,options:{method:"DELETE",headers:{...r&&{Authorization:r},...a&&{"X-ID-Token":`Bearer ${a}`}}},cache:!1,language:t,region:n})}async function d(e,t,n){let r=`/api/auth/customer/address/edit?language=${t}®ion=${n}`,o=await fetch(r,{method:"PUT",body:JSON.stringify(e)});return await o.json()}async function h(e,t){let n=(0,s.tS)(i.C$),r=(0,s.tS)(i.cQ);return await (0,o.rH)({path:"address/list",options:{headers:{...n&&{Authorization:n},...r&&{"X-ID-Token":`Bearer ${r}`}}},cache:!1,language:e,region:t})}async function p(e){m(i.Mc,e,365),window.dispatchEvent(new CustomEvent("algoliaRefetch"))}async function f(e,t,n,r){let s=await (0,o.rH)({path:"customer/get-zone",query:`longitude=${e}&latitude=${t}`,cache:!0,revalidate:a.k.oneHour_3600,language:n,region:r});return s?.zone_id&&m(i.Mc,s.zone_id??"",365),s}function m(e,t,n){let r=new Date;r.setTime(r.getTime()+24*n*36e5);let{path:o,sameSite:a,httpOnly:i,secure:c}=(0,s.DY)({name:e,value:t}),u=`${e}=${t}; expires=${r.toUTCString()}; path=${o}; SameSite=${a};`;c&&(u+=" Secure;"),i&&(u+=" HttpOnly;"),document.cookie=u}async function g(e,t){return await (0,o.rH)({path:"store/address",cache:!0,revalidate:a.k.oneDay_86400,language:e,region:t})}async function y(e,t,n,r){try{let i=await (0,o.rH)({path:"store/list",query:`district_id=${e}&skus=${r}
1`,cache:!0,revalidate:a.k.oneHour_3600,language:t,region:n});if(!Array.isArray(i))return[];return i}catch(e){return console.error(e),[]}}function w(e){document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`}async function S({lng:e,lat:t,radius:n,products:r,language:o,region:a}){try{let i=await fetch(`/api/cart/availability/list?lng=${e}&lat=${t}&radius=${n}&language=${o}®ion=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});return await i.json()}catch(e){return console.error(e),[]}}async function k({products:e,zoneId:t,language:n,region:r}){try{let a=await (0,o.rH)({path:"products/availability/cart",options:{method:"POST",body:JSON.stringify({products:e,zone_id:t})},cache:!1,language:n,region:r});if(!Array.isArray(a))return[];return a}catch(e){return console.error(e),[]}}async function $(e,t,n=c.tf,r,i){return await (0,o.rH)({path:"store/list",query:`long=${e}&lat=${t}&radius=${n}`,cache:!0,revalidate:a.k.oneHour_3600,language:r,region:i})}},57184:(e,t,n)=>{n.d(t,{CA:()=>i,LT:()=>o,sz:()=>a});var r=n(86586);let o=e=>{if(!e||!e.includes("-"))return{language:r.eG,region:r._h};let[t,n]=e.split("-");return{language:r.eo.includes(t)?t:r.eG,region:n&&r.Ei.includes(n.toUpperCase())?n.toUpperCase():r._h}},a=(e,t)=>`${e}-${t.toLowerCase()}`,i=(e,t)=>`${e}-${t}`},80868:(e,t,n)=>{n.d(t,{Q:()=>s,f:()=>c});var r=n(88492);let o=null;async function a(){if(o)return o;try{let e=await fetch("/api/csrf-token");if(!e.ok)throw Error("Failed to fetch CSRF token");let t=await e.json(),n=i();if(n)return o=n,n;if(t.token)return"u">typeof document&&(document.cookie=`${r.eS}=${encodeURIComponent(t.token)}; path=/; secure; samesite=lax; max-age=86400`),o=t.token,t.token;throw Error("CSRF token not found in cookie or response")}catch(e){throw console.error("Error fetching CSRF token:",e),e}}function i(){if("u"<typeof document)return null;for(let e of document.cookie.split(";")){let[t,n]=e.trim().split("=");if(t===r.eS)return decodeURIComponent(n)}return null}async function s(){let e=i();return e?(o=e,e):(o=null,await a())}function c(){o=null}},82224:(e,t,n)=>{n.d(t,{V:()=>u});var r=n(12101);let o=e=>e?.message||e?.error||"UNKNOWN_ERROR";var a=n(30620),i=n(80868),s=n(88492);function c(e,t){let n=[];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let o=e[r],a=t?`${t}[${encodeURIComponent(r)}]`:encodeURIComponent(r);"object"==typeof o&&null!==o?n.push(c(o,a)):n.push(`${a}=${encodeURIComponent(o)}`)}return n.join("&")}class u{static async get({url:e,params:t={},headers:n={},prefix:i="?",signal:s,cache:u,revalidate:l}){let d=e+i+c(t),h=(0,r.z)({cache:u,revalidate:l,url:d}),p=await fetch(d,{method:"GET",headers:n,signal:s,...h}),f=await p.json();if(!p?.ok){let e=o(f);throw new a.G({message:e},p.status,d)}return f}static async post({url:e,params:t={},headers:n={},prefix:r="?",body:u,signal:l}){let d=e+r+c(t),h=n;try{let e=await (0,i.Q)();h={...n,[s.V1]:e}}catch(e){console.warn("Failed to get CSRF token:",e)}let p=await fetch(d,{body:u,method:"POST",headers:h,signal:l}),f=await p.json();if(!p?.ok){let e=o(f);throw new a.G({message:e},p.status,d)}return f}static async put({url:e,params:t={},headers:n={},prefix:u="?",body:l,signal:d,cache:h,revalidate:p,responseFormat:f="json"}){let m=e+u+c(t),g=(0,r.z)({cache:h,revalidate:p}),y=n;try{let e=await (0,i.Q)();y={...n,[s.V1]:e}}catch(e){console.warn("Failed to get CSRF token:",e)}let w=await fetch(m,{body:l,method:"PUT",headers:y,signal:d,...g}),S="json"==f?await w.json():await w.text();if(!w?.ok){let e=o(S);throw new a.G({message:e},w.status,m)}return S}static async delete({url:e,params:t={},headers:n={},prefix:u="?",signal:l,cache:d,revalidate:h}){let p=e+u+c(t),f=(0,r.z)({cache:d,revalidate:h}),m=n;try{let e=await (0,i.Q)();m={...n,[s.V1]:e}}catch(e){console.warn("Failed to get CSRF token:",e)}let g=await fetch(p,{method:"DELETE",headers:m,signal:l,...f}),y=await g.json();if(!g?.ok){let e=o(y);throw new a.G({message:e},g.status,p)}return y}}},86586:(e,t,n)=>{n.d(t,{$E:()=>p,Ei:()=>l,IB:()=>i,WF:()=>h,_h:()=>r,eG:()=>o,eo:()=>u,iy:()=>d,wZ:()=>s});let r="SA",o="ar",a="ar-sa",i=["en-sa","ar-sa","ar-ae","en-ae"],s=["ar-sa","ar-ae"],c="common",u=["en","ar"],l=["SA","AE"],d={SA:"KSA",AE:"UAE"},h={SA:"SAR",AE:"AED"};function p(e=a,t=c){return{lng:e,fallbackLng:a,supportedLngs:i,defaultNS:c,fallbackNS:c,lowerCaseLng:!0,ns:t,preload:i,debug:!1}}},88492:(e,t,n)=>{n.d(t,{V1:()=>o,eS:()=>r});let r="csrf_token",o="x-csrf-token"},88944:(e,t,n)=>{n.d(t,{S5:()=>o,cM:()=>i,hs:()=>r,tf:()=>a});let r=12,o=16,a=10,i={AE:{lat:25.2684,lng:55.2962},SA:{lat:24.774265,lng:46.738586}}}}]);
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.