1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9623],{36070:(e,n,t)=>{t.d(n,{Ib:()=>d,LJ:()=>c,O3:()=>u,bC:()=>r,nC:()=>s,sc:()=>l});var a=t(12175),o=t(43714);let r=a.Ay,i=!1;function c(){if(i)return!0;let e=function(){let e="phc_f5GR96V5ivec4nU8oxzFwXpw3lE8YOnMlUpFA53iReA";return e?{apiKey:e,apiHost:"https://us.i.posthog.com",debug:!1}:(o.ph.warn("NEXT_PUBLIC_POSTHOG_KEY not set - analytics disabled"),null)}();if(!e)return!1;try{return r.init(e.apiKey,{api_host:e.apiHost,capture_pageview:!1,capture_pageleave:!0,session_recording:{maskAllInputs:!0,maskTextSelector:"[data-mask]"},autocapture:!1,loaded:n=>{e.debug&&(n.debug(),o.ph.debug("Initialized successfully"))},on_request_error:e=>{o.ph.warn("Request error (non-fatal):",e)},respect_dnt:!0,persistence:"localStorage+cookie",disable_session_recording:!1,bootstrap:{}}),i=!0,!0}catch(e){return o.ph.warn("Initialization failed (non-fatal):",e),i=!0,!1}}function l(){return i&&void 0!==r._isIdentified}function u(e,n){l()&&r.capture("$pageview",{$current_url:window.location.origin+e,...n})}function d(e,n){l()&&(r.identify(e,n),(null==n?void 0:n.company_id)&&r.group("company",n.company_id,{name:n.company_name}),(null==n?void 0:n.workspace_id)&&r.group("workspace",n.workspace_id,{name:n.workspace_name}))}function s(){l()&&r.reset()}},96700:(e,n,t)=>{t.d(n,{RegionProvider:()=>g,cd:()=>E,G0:()=>m,VN:()=>y});var a=t(11974),o=t(17094);t(85078);let r="nudg3_country_override",i="true"===t(26133).env.NEXT_PUBLIC_STRIPE_ENABLED,c=new Set(["ZA"]),l={ZA:"ZAR",GB:"GBP",IE:"EUR",DE:"EUR",FR:"EUR",IT:"EUR",ES:"EUR",NL:"EUR",BE:"EUR",AT:"EUR",PT:"EUR",FI:"EUR"};function u(e){if("undefined"==typeof document)return null;let n=document.cookie.split("; ").find(n=>n.startsWith("".concat(e,"=")));return n?decodeURIComponent(n.split("=")[1]):null}function d(e,n){var t;let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return{countryCode:e,countryName:n,currency:null!=(t=l[e.toUpperCase()])?t:"USD",paymentGateway:i?c.has(e)?"payfast":"stripe":"payfast",isLoading:a,error:o}}async function s(){let e=null;for(let o=0;o<3;o++){o>0&&await new Promise(e=>setTimeout(e,1e3*Math.pow(2,o-1)));try{var n,t,a;let e=await fetch("https://ipapi.co/json/",{headers:{Accept:"application/json"}});if(!e.ok)throw Error("ipapi.co responded ".concat(e.status));let o=await e.json();if(o.error)throw Error(null!=(n=o.reason)?n:"ipapi.co returned error");return{code:null!=(t=o.country_code)?t:"US",name:null!=(a=o.country_name)?a:"United States"}}catch(n){e=n instanceof Error?n:Error(String(n)),o<2&&console.warn("[region] ipapi.co attempt ".concat(o+1,"/").concat(3," failed:"),e.message)}}throw null!=e?e:Error("Region detection failed")}let p={countryCode:"US",countryName:"United States",currency:"USD",paymentGateway:i?"stripe":"payfast",isLoading:!0,error:null},f=(0,o.createContext)(null);function g(e){let{children:n}=e,[t,i]=(0,o.useState)(p),c=(0,o.useRef)(!1),l=(0,o.useCallback)((e,n)=>{i(d(e,n,!1,null))},[]),g=(0,o.useCallback)(async()=>{let e=u(r);if(e)return void l(e,h(e));let n=u("nudg3_geo_country");if(n)return void l(n,h(n));i(e=>({...e,isLoading:!0,error:null}));try{let{code:e,name:n}=await s();l(e,n)}catch(n){let e=n instanceof Error?n.message:"Region detection failed";console.warn("[region] Falling back to US/USD after detection failure:",e),i({...d("US","United States"),isLoading:!1,error:e})}},[l]);(0,o.useEffect)(()=>{c.current||(c.current=!0,g())},[g]);let m=(0,o.useCallback)((e,n)=>{let t="undefined"!=typeof location&&"https:"===location.protocol?"; Secure":"";document.cookie="".concat(r,"=").concat(encodeURIComponent(e),"; Path=/; Max-Age=").concat(86400,"; SameSite=Lax").concat(t),l(e,n)},[l]),y={...t,setRegion:m,refreshRegion:g,isSouthAfrica:"ZA"===t.countryCode};return(0,a.jsx)(f.Provider,{value:y,children:n})}function m(){let e=(0,o.useContext)(f);if(!e)throw Error("useRegion must be used within a RegionProvider");return e}function y(){return m()}function h(e){var n,t;return null!=(t=null==(n=E.find(n=>n.code===e))?void 0:n.name)?t:e}
1let E=[{code:"ZA",name:"South Africa",flag:"\uD83C\uDDFF\uD83C\uDDE6"},{code:"US",name:"United States",flag:"\uD83C\uDDFA\uD83C\uDDF8"},{code:"GB",name:"United Kingdom",flag:"\uD83C\uDDEC\uD83C\uDDE7"},{code:"CA",name:"Canada",flag:"\uD83C\uDDE8\uD83C\uDDE6"},{code:"AU",name:"Australia",flag:"\uD83C\uDDE6\uD83C\uDDFA"},{code:"DE",name:"Germany",flag:"\uD83C\uDDE9\uD83C\uDDEA"},{code:"FR",name:"France",flag:"\uD83C\uDDEB\uD83C\uDDF7"},{code:"NL",name:"Netherlands",flag:"\uD83C\uDDF3\uD83C\uDDF1"},{code:"SG",name:"Singapore",flag:"\uD83C\uDDF8\uD83C\uDDEC"},{code:"AE",name:"United Arab Emirates",flag:"\uD83C\uDDE6\uD83C\uDDEA"},{code:"IN",name:"India",flag:"\uD83C\uDDEE\uD83C\uDDF3"},{code:"NG",name:"Nigeria",flag:"\uD83C\uDDF3\uD83C\uDDEC"},{code:"KE",name:"Kenya",flag:"\uD83C\uDDF0\uD83C\uDDEA"},{code:"GH",name:"Ghana",flag:"\uD83C\uDDEC\uD83C\uDDED"}]}}]);
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.