PageSourceSearch

https://app.tinn.app/_next/static/chunks/4227.9130107708e67d50.js

js tinn.app collected 2026-10-02 01:16:25 UTC 19,336 bytes, 16 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="678987b2-73ca-4f53-81e0-8b122f538bee",e._sentryDebugIdIdentifier="sentry-dbid-678987b2-73ca-4f53-81e0-8b122f538bee")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4227],{84227:function(e,n,t){t.r(n),t.d(n,{default:function(){return C}});var i=t(57437),l=t(2265),r=t(81822),o=t(47195),a=t(3274),s=t(33907),d=t(22468),c=t(74697),u=t(75733),p=t(66706),f=t(37164),x=t(18422),y=t(10883),m=t(6884),h=t(14392),g=t(42421),b=t(92513);let j=["application/pdf","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/msword","text/csv"],k={epd:{label:"EPD",bg:"#F3F5F8",color:"#182A41"},manual:{label:"Manual",bg:"#E8EBF0",color:"#182A41"},datasheet:{label:"Datasheet",bg:"#E4E0D8",color:"#3A3A36"},installation:{label:"Install",bg:"#FFF7E0",color:"#5C4400"},warranty:{label:"Warranty",bg:"#F7F5F2",color:"#706E68"},other:{label:"Other",bg:"#F7F5F2",color:"#8A8680"}};function v(e){return e.toLowerCase().endsWith(".pdf")}async function F(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/api/storage/serve";if(!e.startsWith("r2://"))return e;let t=e.replace("r2://",""),i=await fetch("".concat(n,"?key=").concat(encodeURIComponent(t)));if(!i.ok)return null;let{url:l}=await i.json();return l}function S(e){let{text:n}=e,t=n.split("\n");return(0,i.jsx)("div",{style:{fontFamily:r.nb,fontSize:12,color:"#3D3A36",lineHeight:1.7},children:t.map((e,n)=>{let t=e.trim();if(!t)return(0,i.jsx)("div",{style:{height:6}},n);if(t.startsWith("**")&&t.endsWith("**"))return(0,i.jsx)("div",{style:{fontWeight:700,fontSize:11,color:"#1A1A18",marginTop:n>0?8:0,textTransform:"uppercase",letterSpacing:"0.05em"},children:t.slice(2,-2)},n);if(t.startsWith("**")){let e=t.indexOf("**",2);if(e>2){let l=t.slice(2,e),r=t.slice(e+2);return(0,i.jsxs)("div",{style:{marginTop:6},children:[(0,i.jsx)("span",{style:{fontWeight:700,color:"#1A1A18"},children:l}),(0,i.jsx)("span",{children:r})]},n)}}return t.startsWith("- ")||t.startsWith("• ")?(0,i.jsxs)("div",{style:{display:"flex",gap:6,paddingLeft:4},children:[(0,i.jsx)("span",{style:{color:"#8A8680",flexShrink:0,marginTop:1},children:"\xb7"}),(0,i.jsx)("span",{children:t.slice(2)})]},n):(0,i.jsx)("div",{children:e},n)})})}function w(e){var n,t,o;let{alt:a,onClick:s}=e,[d,c]=(0,l.useState)(!1),u=null!==(o=null!==(t=null===(n=a.images)||void 0===n?void 0:n[0])&&void 0!==t?t:a.imageUrl)&&void 0!==o?o:null,p=a.name||a.supplier||a.id.slice(-6),f=p.length>22?p.slice(0,20)+"…":p;return(0,i.jsxs)("button",{onClick:s,title:p,style:{display:"flex",flexDirection:"column",alignItems:"center",gap:4,width:64,flexShrink:0,background:"#fff",border:"1px solid #E4E0D8",borderRadius:6,padding:"6px 6px 5px",cursor:"pointer",fontFamily:r.nb,transition:"border-color 0.12s, background 0.12s"},onMouseEnter:e=>{e.currentTarget.style.borderColor="#182A41",e.currentTarget.style.background="#F3F5F8"},onMouseLeave:e=>{e.currentTarget.style.borderColor="#E4E0D8",e.currentTarget.style.background="#fff"},children:[(0,i.jsx)("div",{style:{width:44,height:44,borderRadius:4,overflow:"hidden",background:"#F0EFEC",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:u&&!d?(0,i.jsx)("img",{src:u,alt:"",onError:()=>c(!0),style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,i.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"#C2BEB8",strokeWidth:"1.5",children:[(0,i.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,i.jsx)("path",{d:"M3 9l4-4 4 4 4-5 4 5"}),(0,i.jsx)("circle",{cx:"8.5",cy:"8.5",r:"1.5"})]})}),(0,i.jsx)("span",{style:{fontSize:9,color:"#3D3A36",fontWeight:500,textAlign:"center",lineHeight:1.3,wordBreak:"break-word",width:"100%"},children:f})]})}function C(e){let{product:n,projectId:t,pdfDocs:C,onDocsChange:E,readOnly:z=!1,serveBase:A="/api/storage/serve",alts:D,onAttachToAlt:B}=e,[I,Z]=(0,l.useState)(!1),[T,R]=(0,l.useState)(null),[W,M]=(0,l.useState)(!1),[P,O]=(0,l.useState)(null),[L,U]=(0,l.useState)(null),[_,H]=(0,l.useState)(null),[N,G]=(0,l.useState)(""),[V,q]=(0,l.useState)({}),[J,K]=(0,l.useState)({}),[X,Y]=(0,l.useState)(!1),[Q,$]=(0,l.useState)(null);async function ee(e){U(e.id);try{let n=await F(e.ref,A);n?O({url:n,filename:e.filename}):alert("Could not load document. Try again.")}finally{U(null)}}async function en(e){let n=await F(e.ref,A);if(!n)return;let t=document.createElement("a");t.href=n,t.download=e.filename,t.target="_blank",t.click()}async function et(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];q(n=>({...n,[e.id]:"loading"}));try{let r=await fetch("/api/products/".concat(n.id,"/pdf/").concat(e.id,"/summarise"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:t,useSonnet:i})});if(429===r.status){alert("You've hit the summary limit (20/hour). Try again later."),q(n=>({...n,[e.id]:"failed"}));return}if(!r.ok){var l;let n=await r.json();alert(null!==(l=n.detail)&&void 0!==l?l:"Summary failed. Try again."),q
1(n=>({...n,[e.id]:"failed"}));return}let o=await r.json();E(C.map(n=>n.id===e.id?{...n,summary:o.summary,summaryGeneratedAt:o.generatedAt,summaryModel:o.model,summaryStatus:"done"}:n)),q(n=>({...n,[e.id]:"idle"})),K(n=>({...n,[e.id]:!0}))}catch(n){q(n=>({...n,[e.id]:"failed"}))}}async function ei(){for(let e of(Y(!0),C))v(e.filename)&&(e.summary||await et(e,!1));Y(!1)}async function el(e){if(!I){if($(null),e.size>52428800){$("File too large (max 50 MB): ".concat(e.name));return}if(!j.includes(e.type)){$("Unsupported type. Use PDF, Excel, Word, or CSV.");return}Z(!0);try{let n,i;try{n=await fetch("/api/storage/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:t,type:"document",contentType:e.type,size:e.size})})}catch(e){throw Error("Network error reaching upload API: ".concat(e instanceof Error?e.message:e))}if(!n.ok){let e=await n.text().catch(()=>"");throw Error("Presign failed (".concat(n.status,"): ").concat(e.slice(0,200)))}let{uploadUrl:l,ref:r}=await n.json();try{i=await fetch(l,{method:"PUT",body:e,headers:{"Content-Type":e.type}})}catch(e){throw Error("R2 upload network error (likely CORS — see tinn.app CORS setup): ".concat(e instanceof Error?e.message:e))}if(!i.ok)throw Error("R2 PUT failed (".concat(i.status,")"));let o={id:crypto.randomUUID(),ref:r,filename:e.name,sizeBytes:e.size,category:function(e,n){let t=e.toLowerCase();return t.includes("epd")||t.includes("environmental")?"epd":t.includes("install")||t.includes("mount")||t.includes("fitting")?"installation":t.includes("warrant")||t.includes("guarant")?"warranty":t.includes("data")||t.includes("spec")||t.includes("techni")?"datasheet":t.includes("manual")||t.includes("guide")||t.includes("instruction")?"manual":"other"}(e.name,e.type),uploadedAt:new Date().toISOString()};E([...C,o])}catch(e){$(e instanceof Error?e.message:"Unknown error")}finally{Z(!1)}}}function er(e,n){E(C.map(t=>t.id===e?{...t,...n}:t))}let eo=C.some(e=>v(e.filename)),ea=C.filter(e=>v(e.filename)&&!e.summary);return(0,i.jsxs)(i.Fragment,{children:[!z&&eo&&ea.length>1&&(0,i.jsx)("div",{style:{marginBottom:8,display:"flex",justifyContent:"flex-end"},children:(0,i.jsx)("button",{onClick:ei,disabled:X,style:{fontFamily:r.nb,fontSize:11,fontWeight:600,background:"#F3F5F8",color:"#182A41",border:"1px solid #E8EBF0",borderRadius:5,padding:"4px 10px",cursor:X?"default":"pointer",display:"flex",alignItems:"center",gap:5},children:X?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Z,{size:11,style:{animation:"spin 0.8s linear infinite"}})," Summarising…"]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Z,{size:11})," Summarise all (",ea.length,")"]})})}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[0===C.length&&(0,i.jsx)("p",{style:{fontFamily:r.nb,fontSize:12,color:"#8A8680",margin:"0 0 4px",fontStyle:"italic"},children:"No documents yet. Upload EPDs, manuals, datasheets, or installation guides."}),C.map(e=>{var n,t,l,o,b,j;let F=k[null!==(t=e.category)&&void 0!==t?t:"other"],A=L===e.id,I=_===e.id,Z=null!==(l=V[e.id])&&void 0!==l?l:"idle",W=null!==(o=J[e.id])&&void 0!==o&&o,M=v(e.filename);return(0,i.jsxs)("div",{style:{border:"0.5px solid #E4E0D8",borderRadius:6,overflow:"hidden",background:"#fff"},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",minHeight:42},children:[(0,i.jsx)("span",{style:{fontSize:15,flexShrink:0,lineHeight:1},children:function(e){var n,t;let i=null!==(t=null===(n=e.split(".").pop())||void 0===n?void 0:n.toLowerCase())&&void 0!==t?t:"";return"pdf"===i?"\uD83D\uDCC4":["xlsx","xls","csv"].includes(i)?"\uD83D\uDCCA":["docx","doc"].includes(i)?"\uD83D\uDCDD":"\uD83D\uDCCE"}(e.filename)}),(0,i.jsx)("div",{style:{flex:1,minWidth:0},children:I?(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,i.jsx)("input",{value:N,onChange:e=>G(e.target.value),onKeyDown:n=>{"Enter"===n.key&&(er(e.id,{filename:N}),H(null)),"Escape"===n.key&&H(null)},autoFocus:!0,style:{fontFamily:r.nb,fontSize:12,flex:1,border:"1px solid #182A41",borderRadius:4,padding:"2px 6px",outline:"none",background:"#fff"}}),(0,i.jsx)("button",{onClick:()=>{er(e.id,{filename:N}),H(null)},style:{background:"none",border:"none",cursor:"pointer",color:"#182A41",padding:2,display:"flex"},children:(0,i.jsx)(d.Z,{size:12})}),(0,i.jsx)("button",{onClick:()=>H(null),style:{background:"none",border:"none",cursor:"pointer",color:"#8A8680",padding:2,display:"flex"},children:(0,i.jsx)(c.Z,{size:12})})]}):(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,i.jsx)("span",{style:{fontFamily:r.nb,fontSize:12,fontWeight:500,color:"#3D3A36",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:160,cursor:"pointer"},title:"Double-click to rename",onDoubleClick:()=>{H(e.id),G(e.filename)},children:e.filename}),(0,i.jsx)("select",{value:null!==(b=e.category)&&void 0!==b?b:"other",onChange:n=>er(e.id,{category:n.target.value}),style:{fontFamily:r.nb,fontSize:10,fontWeight:600,background:F.bg,color:F.color,border:"none",borderRadius:4,padding:"2px 5px",cursor:"pointer",outline:"none",appearance:"none",WebkitAppearance:"none",letterSpacing:"0.04em",textTransform:"uppercase"},children:Object.entries(k).map(e=>{let[n,t]=e;return(0,i.jsx)("option",{value:n,children:t.label},n)})}),e.sizeBytes?(0,i.jsx)("span",{style:{fontFamily:r.nb,fontSize:10,
1color:"#8A8680"},children:(j=e.sizeBytes)?j<1048576?"".concat(Math.round(j/1024)," KB"):"".concat((j/1048576).toFixed(1)," MB"):""}):null,e.summary&&(0,i.jsx)("span",{style:{fontFamily:r.nb,fontSize:10,color:"#182A41",fontWeight:600},children:"✓ Summary"})]})}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:1,flexShrink:0},children:[(0,i.jsx)("button",{onClick:()=>ee(e),disabled:A,title:"View",style:{background:"none",border:"none",cursor:A?"default":"pointer",color:"#182A41",padding:"4px 6px",display:"flex",alignItems:"center",borderRadius:4},children:A?(0,i.jsx)(a.Z,{size:13,style:{animation:"spin 0.8s linear infinite"}}):(0,i.jsx)(u.Z,{size:13})}),M&&!z&&(0,i.jsx)("button",{onClick:()=>{"loading"!==Z&&et(e,!1)},disabled:"loading"===Z,title:e.summary?"Regenerate summary (Haiku)":"AI summary",style:{background:e.summary?"none":"#F3F5F8",border:e.summary?"none":"1px solid #E8EBF0",borderRadius:4,cursor:"loading"===Z?"default":"pointer",color:"failed"===Z?"#B84020":"#182A41",padding:"3px 6px",display:"flex",alignItems:"center",gap:3,fontFamily:r.nb,fontSize:10,fontWeight:600},children:"loading"===Z?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Z,{size:11,style:{animation:"spin 0.8s linear infinite"}}),(0,i.jsx)("span",{children:"Summarising…"})]}):"failed"===Z?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(p.Z,{size:11}),(0,i.jsx)("span",{children:"Retry"})]}):e.summary?(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(p.Z,{size:11})}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Z,{size:11}),(0,i.jsx)("span",{children:"Summarise"})]})}),(0,i.jsx)("button",{onClick:()=>en(e),title:"Download",style:{background:"none",border:"none",cursor:"pointer",color:"#706E68",padding:"4px 6px",display:"flex",alignItems:"center",borderRadius:4},children:(0,i.jsx)(f.Z,{size:13})}),!z&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{onClick:()=>{H(e.id),G(e.filename)},title:"Rename",style:{background:"none",border:"none",cursor:"pointer",color:"#706E68",padding:"4px 6px",display:"flex",alignItems:"center",borderRadius:4},children:(0,i.jsx)(x.Z,{size:12})}),(0,i.jsx)("button",{onClick:()=>{var n;return n=e.id,void(confirm("Remove this document?")&&E(C.filter(e=>e.id!==n)))},title:"Remove",style:{background:"none",border:"none",cursor:"pointer",color:"#C2BEB8",padding:"4px 6px",display:"flex",alignItems:"center",borderRadius:4},children:(0,i.jsx)(y.Z,{size:13})})]})]})]}),!z&&B&&D&&D.length>0&&(0,i.jsx)("div",{style:{borderTop:T===e.id?"0.5px solid #F0EFEC":"none",padding:T===e.id?"8px 10px 10px":"0 10px 8px"},children:T===e.id?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[(0,i.jsx)("span",{style:{fontSize:10,color:"#706E68",fontFamily:r.nb,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Attach to:"}),(0,i.jsx)("button",{onClick:()=>R(null),style:{fontSize:10,padding:"1px 6px",borderRadius:4,border:"none",background:"none",cursor:"pointer",color:"#8A8680",fontFamily:r.nb},children:"Cancel"})]}),(0,i.jsx)("div",{style:{display:"flex",gap:6,overflowX:"auto",paddingBottom:2},children:D.map(n=>(0,i.jsx)(w,{alt:n,onClick:()=>{B(e,n),R(null)}},n.id))})]}):(0,i.jsx)("button",{onClick:()=>R(e.id),style:{fontSize:10,color:"#706E68",background:"none",border:"none",cursor:"pointer",fontFamily:r.nb,padding:0,textDecoration:"underline dotted"},children:"Attach to another alt →"})}),e.summary&&(0,i.jsxs)("div",{style:{borderTop:"0.5px solid #E4E0D8"},children:[(0,i.jsxs)("button",{onClick:()=>K(n=>({...n,[e.id]:!n[e.id]})),style:{background:"none",border:"none",cursor:"pointer",width:"100%",padding:"6px 10px",display:"flex",alignItems:"center",justifyContent:"space-between",fontFamily:r.nb,fontSize:11,color:"#706E68"},children:[(0,i.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5},children:[(0,i.jsx)(s.Z,{size:10,style:{color:"#182A41"}}),(0,i.jsx)("span",{children:"AI Summary"}),(0,i.jsx)("span",{style:{color:"#C2BEB8"},children:"\xb7"}),(0,i.jsx)("span",{style:{color:"#C2BEB8"}
1,children:(null===(n=e.summaryModel)||void 0===n?void 0:n.includes("haiku"))?"Haiku":"Sonnet"}),e.summaryGeneratedAt&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{style:{color:"#C2BEB8"},children:"\xb7"}),(0,i.jsx)("span",{style:{color:"#C2BEB8"},children:function(e){if(!e)return"";try{return new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}catch(e){return""}}(e.summaryGeneratedAt)})]})]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,i.jsx)("span",{onClick:n=>{n.stopPropagation(),navigator.clipboard.writeText(e.summary).catch(()=>{})},title:"Copy summary",style:{cursor:"pointer",color:"#8A8680",display:"flex",alignItems:"center"},children:(0,i.jsx)(m.Z,{size:11})}),!z&&(0,i.jsxs)("span",{onClick:n=>{n.stopPropagation(),"loading"!==Z&&et(e,!0)},title:"Regenerate with Sonnet (better quality)",style:{cursor:"pointer",color:"#706E68",display:"flex",alignItems:"center",gap:2,fontFamily:r.nb,fontSize:10},children:[(0,i.jsx)(p.Z,{size:10}),(0,i.jsx)("span",{children:"Sonnet ↑"})]}),W?(0,i.jsx)(h.Z,{size:12}):(0,i.jsx)(g.Z,{size:12})]})]}),W&&(0,i.jsx)("div",{style:{padding:"4px 12px 12px",background:"#FAFAF9"},children:(0,i.jsx)(S,{text:e.summary})})]})]},e.id)}),Q&&(0,i.jsxs)("div",{style:{background:"#FEF2F2",border:"1px solid #FECACA",borderRadius:6,padding:"8px 12px",fontSize:11,fontFamily:r.nb,color:"#991B1B",userSelect:"text",cursor:"text",display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:8},children:[(0,i.jsx)("span",{style:{flex:1,wordBreak:"break-word"},children:Q}),(0,i.jsx)("button",{onClick:()=>$(null),style:{background:"none",border:"none",cursor:"pointer",color:"#991B1B",fontSize:14,lineHeight:1,padding:0,flexShrink:0},children:"\xd7"})]}),!z&&(0,i.jsx)("div",{onDragOver:e=>{e.preventDefault(),M(!0)},onDragLeave:()=>M(!1),onDrop:e=>{e.preventDefault(),M(!1);let n=e.dataTransfer.files[0];n&&el(n)},onClick:function(){let e=document.createElement("input");e.type="file",e.accept=".pdf,.xlsx,.xls,.docx,.doc,.csv",e.onchange=e=>{var n;let t=null===(n=e.target.files)||void 0===n?void 0:n[0];t&&el(t)},e.click()},style:{border:"1.5px dashed ".concat(W?"#182A41":"#D4D1CC"),borderRadius:6,padding:"14px 12px",display:"flex",alignItems:"center",justifyContent:"center",gap:8,cursor:I?"default":"pointer",background:W?"#F3F5F8":"#FAFAF9",transition:"all 0.15s",userSelect:"none"},children:I?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Z,{size:14,style:{animation:"spin 1s linear infinite",color:"#182A41"}}),(0,i.jsx)("span",{style:{fontFamily:r.nb,fontSize:12,color:"#6E6E73"},children:"Uploading…"})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.Z,{size:14,style:{color:"#8E8E93"}}),(0,i.jsx)("span",{style:{fontFamily:r.nb,fontSize:12,color:"#6E6E73"},children:"Drop PDF, Excel, Word or CSV — or click to browse"})]})})]}),P&&(0,i.jsx)(o.Z,{url:P.url,filename:P.filename,onClose:()=>O(null)})]})}},75733:function(e,n,t){t.d(n,{Z:function(){return i}});/**
2 * @license lucide-react v0.395.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */let i=(0,t(78030).Z)("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},18422:function(e,n,t){t.d(n,{Z:function(){return i}});/**
7 * @license lucide-react v0.395.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */let i=(0,t(78030).Z)("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},33907:function(e,n,t){t.d(n,{Z:function(){return i}});/**
12 * @license lucide-react v0.395.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */let i=(0,t(78030).Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])}}]);

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.