1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8813],{59040:(e,t,n)=>{n.d(t,{$Y:()=>E,C1:()=>b,J$:()=>A,N1:()=>h,PU:()=>g,Sk:()=>s,d7:()=>w,g7:()=>u,lE:()=>c,lJ:()=>f,mt:()=>p,rI:()=>v,wu:()=>a,zZ:()=>m});var r=n(62939);function i(e){if("string"!=typeof e)return null;let t=e.trim();return!t.startsWith("/")||t.startsWith("//")||t.includes("\\")||/[\u0000-\u001f\u007f]/.test(t)||t.length>512||RegExp("[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]").test(t)||/(^|\/)(\.|%2e){1,2}(\/|$)/i.test(t.split(/[?#]/,1)[0])?null:t}function o(e,t){let n=e.split(/[?#]/,1)[0].replace(/\/+$/,"")||"/";return n===t||n.startsWith("".concat(t,"/"))}function a(e,t){let n=i(e);if(!n)return null;let r="admin"===t||"store"===t;return o(n,"/wholesale")?r?n:null:o(n,"/admin/ecom-operations")?"admin"===t||"ops"===t?n:null:o(n,"/admin")?r?n:null:n}let l=/^(SIM|ESIM|GB|TB|MB|USB|LTE|GPS|XL|XR|XS|SE|FE|NFC|ID|OLED|HD|RAM)$/;function s(e){let t=String(null!=e?e:"");return t!==t.toUpperCase()?t:t.split(/(\s+)/).map(e=>!e.trim()||/^\(PRODUCT\)/.test(e)?e:/^WI-?FI$/.test(e)?"Wi-Fi":e.split("/").map(e=>{let t=e.replace(/[^A-Z]/g,"");return/\d/.test(e)||t.length<=1||l.test(t)?e.replace(/^ESIM$/,"eSIM"):e.charAt(0)+e.slice(1).toLowerCase()}).join("/")).join("")}function c(e){return String(null!=e?e:"").split(",").map(e=>{let t=e.indexOf(":");return s((t>=0?e.slice(t+1):e).trim())}).filter(Boolean).join(" \xb7 ")}function u(e){let t=String(null!=e?e:"").trim();return t?(0,r.Qk)((0,r.NM)({repairDeskName:t})):""}let d=["brand new","new","open box","flawless","excellent","very good","good","fair","acceptable","defective"];function p(e){let t=new Map;for(let n of e){let e=String(null!=n?n:"").trim();if(!e)continue;let r=e.toLowerCase(),i=t.get(r);i?i.count+=1:t.set(r,{label:e,count:1})}let n=e=>{let t=d.indexOf(e);return t<0?d.length:t};return[...t.entries()].sort((e,t)=>{let[r]=e,[i]=t;return n(r)-n(i)||r.localeCompare(i)}).map(e=>{let[,t]=e;return t})}function f(e,t){return"number"==typeof e&&Number.isFinite(e)&&e<t}function g(e){let t=i(e);return t?"/login?next=".concat(encodeURIComponent(t)):"/login"}function m(e){let t=String(null!=e?e:"").replace(/[\s-]+/g,"").toUpperCase();return t.length>5?t.slice(-5):t}function h(e,t){let n=String(null!=e?e:"").trim();if(!/^\d+$/.test(n))return null;let r=Number(n);return!Number.isSafeInteger(r)||r<1?null:Math.min(r,"number"==typeof t&&Number.isFinite(t)&&t>=1?Math.floor(t):1/0)}function b(e){var t,n,r,i;if(!e)return{tone:"unknown",title:"Your order",body:"We could not load this order just now. Check your orders before placing it again."};let o=null!=(r=null==(t=e.units)?void 0:t.length)?r:0,a=null!=(i=null==(n=e.unfulfilledItems)?void 0:n.length)?i:0;return"placing"===e.fulfilmentState?{tone:"pending",title:"Order still being recorded",body:"This order was not finished when it was last saved. Head office has been told â check your orders, or call us, before ordering the same stock again."}:0===o||"none"===e.fulfilmentState?{tone:"failed",title:"Nothing was reserved",body:"None of the lines could be reserved, so nothing has been invoiced and nothing is owed."}:a>0?{tone:"partial",title:"Order partly placed",body:"".concat(o," unit").concat(1===o?" is":"s are"," reserved and invoiced on your account; ")+"".concat(a," line").concat(1===a?"":"s"," could not be reserved (listed below). Nothing has been charged.")}:{tone:"success",title:"Order placed",body:"Your stock is reserved and an invoice has been raised on your account. Nothing has been charged."}}let S="Your order may have been partly placed. Check My Orders before retrying â placing it again could reserve the same stock twice.";function v(e){if(!e)return{kind:"uncertain",orderRef:null,message:S};if("RECORD_FAILED"===e.code){var t;return{kind:"uncertain",orderRef:null!=(t=e.orderRef)?t:null,message:e.error||S}}return"NOTHING_RESERVED"!==e.code&&"none"!==e.fulfilmentState&&0!==e.unitsAssigned&&e.orderRef?{kind:"placed",orderRef:e.orderRef}:{kind:"failed",message:e.error||"No units could be reserved, so nothing has been ordered."}}function E(e){let t=null==e?void 0:e.status;return(null==e?void 0:e.code)==="RECORD_FAILED"?{kind:"uncertain",orderRef:null,message:S}:400===t||401===t||403===t||409===t||500===t&&(null==e?void 0:e.code)==="NOTHING_CHARGED"?{kind:"failed",message:(null==e?void 0:e.message)||"Could not place the order."}:{kind:"uncertain",orderRef:null,message:S}}function M(e){let t=new Set;for(let n of null!=e?e:[]){let e=r.rI.find(e=>e.toLowerCase()===String(null!=n?n:"").trim().toLowerCase());e&&t.add(e)}return 1===t.size?[...t][0]:null}function w(e){var t;return null!=(t=M(e.categories))?t:(0,r.An)(e.name)}function A(e,t){let n=M(t);if(!n)return e;let i=r.rI.find(t=>RegExp("^".concat(t,"\\b"),"i").test(e.trim()));if(!i||i===n)return e;let o=e.trim().slice(i.length).trim();return o?"".concat(n," ").concat(o):n}},59434:(e,t,n)=>{n.d(t,{Bx:()=>l,Yv:()=>s,cn:()=>o,dr:()=>a});var r=n(52596),i=n(39688);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,i.QP)((0,r.$)(t))}function a(){let e=Date.now(),t=Math.random().toString(36).substring(2,9).toUpperCase();return"TXN-".concat(e,"-").concat(t)}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Promise(n=>{let r=document.createElement("video");r.src=e,r.muted=!0,r.crossOrigin="anonymous";let i=e=>new Promise((t,n)=>{let i=()=>{r.removeEventListener("seeked",i),r.removeEventListener("error",o),t()},o=e=>{r.removeEventListener("seeked",i),r.removeEventListener("error",o),n(Error("Error seeking video"))};r.addEventListener("seeked",i,{once:!0}),r.addEventListener("error",o,{once:!0}),r.currentTime=e}),o=async()=>{let e=document.createElement("canvas"),o=e.getContext("2d");if(!o){console.error("Canvas context is not supported."),n([]);return}if(e.width=r.videoWidth,e.height=r.videoHeight,0===r.videoWidth||0===r.videoHeight){console.warn("Video has zero dimensions, cannot extract frames."),n([]);return}let a=[],l=1/t,s=100;isFinite(r.duration)&&r.duration>0&&(s=Math.min(Math.floor(r.duration*t),100));try{for(let t=0;t<s;t++){let n=t*l;if(isFinite(r.duration)&&n>r.duration)break;await i(n),o.drawImage(r,0,0,e.width,e.height),a.push(e.toDataURL("image/jpeg",1))}n(a)}catch(e){console.error("Error during frame extraction loop:",e),n(a)}};r.addEventListener("canplay",()=>{r.play().then(o).catch(e=>{o()})},{once:!0}),r.onerror=()=>{console.error("Failed to load video. It might be corrupt or in an unsupported format."),n([])},r.load()})}function s(e){return e.toString().toLowerCase().trim().replace("+"," plus").replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-")}},62305:(e,t,n)=>{n.d(t,{Bg:()=>l,Ov:()=>a});let r={IPHONE:"iPhone",IPAD:"iPad",IPOD:"iPod",IMAC:"iMac",MACBOOK:"MacBo
1ok",AIRPODS:"AirPods",AIRTAG:"AirTag",WATCH:"Watch",SERIES:"Series",GALAXY:"Galaxy",PIXEL:"Pixel",SAMSUNG:"Samsung",GOOGLE:"Google",MOTO:"Moto",ONEPLUS:"OnePlus",TAB:"Tab",NOTE:"Note",FOLD:"Fold",FLIP:"Flip",RAZR:"Razr",PRO:"Pro",MAX:"Max",PLUS:"Plus",MINI:"Mini",ULTRA:"Ultra",AIR:"Air",LITE:"Lite",EDGE:"Edge",POWER:"Power",FE:"FE",SE:"SE",XL:"XL",USB:"USB",ID:"ID",SIM:"SIM",ESIM:"eSIM",LTE:"LTE",NFC:"NFC"};function i(e){return e.replace(/[A-Za-z0-9]+/g,e=>{let t=e.toUpperCase();return r[t]?r[t]:/^\d+(GB|TB|MM)$/i.test(e)||/^(GB|TB|MB|MM)$/i.test(e)||/^[45]G$/i.test(e)||/^X[RS]$/i.test(e)||/^[A-Z]{1,2}\d+[A-Z]*$/i.test(e)?t:/^\d+$/.test(e)?e:t.charAt(0)+e.slice(1).toLowerCase()})}let o=/^DEVICE\s*-\s*/i;function a(e){let t=String(null!=e?e:"").replace(o,"").replace(/(\S)\(/g,"$1 (").trim();return t?t!==t.toUpperCase()?t:t.split(/\s+/).map(i).join(" "):""}function l(e){let t=String(null!=e?e:"").trim();return t&&(t===t.toUpperCase()||t===t.toLowerCase())?/^\(product\)\s*red$/i.test(t)?"(PRODUCT)RED":t.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "):t}},62939:(e,t,n)=>{n.d(t,{An:()=>a,NM:()=>c,Qk:()=>u,rI:()=>i});var r=n(62305);let i=["Apple","Samsung","Google","Motorola","OnePlus","Nintendo","Sony","Microsoft","LG","Huawei","Meta","ASUS","Nothing","Lenovo","Xiaomi"],o=[[/\b(iphone|ipad|macbook|mac ?mini|imac|mac ?studio|airpods|apple|magic (mouse|keyboard)|series \d+ ?\(|series (se|ultra))/i,"Apple"],[/\b(galaxy|samsung|tab s\d)/i,"Samsung"],[/\b(pixel|google|nest)\b/i,"Google"],[/\b(moto|motorola|razr|edge plus|thinkphone)\b/i,"Motorola"],[/\boneplus\b/i,"OnePlus"],[/\b(nintendo|switch|2ds|3ds)\b/i,"Nintendo"],[/\b(playstation|ps[45]|sony)\b/i,"Sony"],[/\b(xbox|surface|microsoft)\b/i,"Microsoft"],[/\b(lg)\b/i,"LG"],[/\b(huawei)\b/i,"Huawei"],[/\b(quest|meta)\b/i,"Meta"],[/\b(asus)\b/i,"ASUS"],[/\b(xiaomi|redmi)\b/i,"Xiaomi"],[/\b(lenovo|thinkpad)\b/i,"Lenovo"]];function a(e){let t=String(null!=e?e:"");if(!t.trim())return null;for(let[e,n]of o)if(e.test(t))return n;return null}let l={iphone:"iPhone",ipad:"iPad",ipod:"iPod",imac:"iMac",macbook:"MacBook",airpods:"AirPods",playstation:"PlayStation",xbox:"Xbox",galaxy:"Galaxy",pixel:"Pixel",tab:"Tab",series:"Series",watch:"Watch",fold:"Fold",flip:"Flip",ultra:"Ultra",mini:"Mini",max:"Max",plus:"Plus",lite:"Lite",slim:"Slim",switch:"Switch",razr:"Razr",moto:"Moto",oneplus:"OnePlus"};function s(e){var t;let n=e%100;return n>=11&&n<=13?"".concat(e,"th"):"".concat(e).concat(null!=(t=({1:"st",2:"nd",3:"rd"})[e%10])?t:"th")}function c(e){var t,n,o;let c=String(null!=(t=e.modelName)?t:"").trim(),u=(0,r.Ov)(e.repairDeskName),d=String(null!=(n=e.title)?n:"").trim(),p=c?function(e,t){let n=" ".concat(t.toLowerCase().replace(/[^a-z0-9]+/g," ")," ");return e.replace(/\s*\(([^()]*\|[^()]*)\)/g,(e,t)=>{let r=t.split("|").map(e=>e.trim()).find(e=>e&&n.includes(" ".concat(e.toLowerCase().replace(/[^a-z0-9]+/g," ").trim()," ")));return r&&!/^standard$/i.test(r)?" ".concat(r):""})}((0,r.Ov)(c),"".concat(u," ").concat(d)):u||d;if(!(p=p.replace(/(\S)\(/g,"$1 (").replace(/\b(\d+)(st|nd|rd|th)\b/gi,(e,t)=>s(Number(t))).replace(/\s+/g," ").trim().replace(/[A-Za-z]+/g,e=>{var t;return null!=(t=l[e.toLowerCase()])?t:e})))return"Unnamed Product";let f=null!=(o=function(e){let t=String(null!=e?e:"").trim();if(!t)return null;let n=i.find(e=>e.toLowerCase()===t.toLowerCase());return n||(t===t.toUpperCase()?(0,r.Ov)(t):t)}(e.brand))?o:a("".concat(p," ").concat(u," ").concat(d));if(!f)return p;let g=f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),m=p.replace(RegExp("^".concat(g,"\\b\\s*"),"i"),"").trim();return"Apple"===f&&/^Series\b/.test(m)&&(m="Watch ".concat(m)),"Samsung"===f&&!/^Galaxy\b/.test(m)&&/^(Z\s?(Flip|Fold)|Tab|Note|Watch|Buds|[SAMZ]\d)/i.test(m)&&(m="Galaxy ".concat(m)),m?"".concat(f," ").concat(m):f}function u(e){let t=String(null!=e?e:"").trim();if(!t)return t;let n=/^(\S+)\s+(.*)$/.exec(t);if(n){var r;let e=null==(r=[[/^Galaxy\b/,"Samsung"],[/^Pixel\b/,"Google"],[/^(iPhone|iPad|MacBook|iMac|Mac mini|AirPods)\b/i,"Apple"]].find(e=>{let[t]=e;return t.test(n[2])}))?void 0:r[1];e&&e!==n[1]&&i.includes(n[1])&&(t="".concat(e," ").concat(n[2]))}return t.replace(/\bWatch Series Ultra \(1st Gen\)/gi,"Watch Ultra").replace(/\bWatch Series Ultra \((\d+)(?:st|nd|rd|th) Gen\)/gi,(e,t)=>"1"===t?"Watch Ultra":"Watch Ultra ".concat(t)).replace(/\bWatch Series Ultra\b/gi,"Watch Ultra").replace(/\bWatch Series SE\b/gi,"Watch SE").replace(/\biPhone 17 Air\b/gi,"iPhone Air").replace(/\biPad (\d{1,2}) (10\.\d|10\.9)\b/g,(e,t,n)=>"iPad ".concat(n,'" (').concat(s(Number(t))," Gen)")).replace(/\((\d{2})\s?MM\)/gi,"($1mm)")}}}]);
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.