=>{const r=Object.keys(t[0]??{empty:""}),n=c=>`"${String(c).replaceAll('"','""')}"`,i=[r.join(","),...t.map(c=>r.map(d=>n(c[d]??"")).join(","))].join(`
`),a=new Blob([i],{type:"text/csv;charset=utf-8"}),s=URL.createObjectURL(a),u=document.createElement("a");u.href=s,u.download=e,u.click(),URL.revokeObjectURL(s)},cee=()=>{const{settings:e,notify:t}=Wr(),[r,n]=x.useState(ree()),[i,a]=x.useState("sales"),[s,u]=x.useState(null);if(x.useEffect(()=>{DI.reports(r).then(u).catch(()=>t("error","BĹ‚Ä…d poĹ‚Ä…czenia â€” sprĂłbuj ponownie"))},[r,t]),!s)return null;const c=()=>{i==="sales"&&ng(`sprzedaz-${r}.csv`,s.sales.map(d=>({Date:Al(d.sale.sold_at),Items:d.itemCount,Revenue:d.revenue,Cost:d.cost,Margin:d.margin}))),i==="purchases"&&ng(`zakupy-${r}.csv`,s.purchases.map(d=>({Date:Al(d.purchased_at),Product:d.productName,Qty:d.qty,UnitPrice:d.unit_price,TotalCost:d.totalCost,Supplier:d.supplier??""}))),i==="summary"&&ng(`podsumowanie-${r}.csv`,[s.totals])};return O.jsxs("div",{className:"space-y-5",children:[O.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[O.jsx("input",{className:"field md:w-56",type:"month",value:r,onChange:d=>n(d.target.value)}),O.jsxs("button",{className:"btn-secondary",onClick:c,children:[O.jsx(JO,{className:"h-4 w-4"}),"Export CSV"]})]}),O.jsx("div",{className:"flex gap-2 rounded-lg bg-slate-100 p-1",children:[["sales","SprzedaĹĽ"],["purchases","Zakupy"],["summary","Podsumowanie"]].map(([d,h])=>O.jsx("button",{className:`flex-1 rounded-md px-3 py-2 text-sm font-bold ${i===d?"bg-white text-primary-600 shadow-sm":"text-slate-600"}`,onClick:()=>a(d),children:h},d))}),i==="sales"&&O.jsx(oO,{headers:["Date","Items","Revenue","Cost","Margin"],rows:s.sales.map(d=>[Al(d.sale.sold_at),d.itemCount,We(d.revenue,e.currency),We(d.cost,e.currency),We(d.margin,e.currency)]),footer:["Razem","",We(s.totals.revenue,e.currency),We(s.totals.cost,e.currency),We(s.totals.profit,e.currency)]}),i==="purchases"&&O.jsx(oO,{headers:["Date","Product","Qty","Unit Price","Total Cost","Supplier"],rows:s.purchases.map(d=>[Al(d.purchased_at),d.productName,d.qty,We(d.unit_price,e.currency),We(d.totalCost,e.currency),d.supplier??""])}),i==="summary"&&O.jsxs("div",{className:"grid gap-6 xl:grid-cols-[0.9fr_1.1fr]",children:[O.jsxs("div",{className:"panel p-5",children:[O.jsx("h2",{className:"text-lg font-bold",children:"Podsumowanie miesiÄ…ca"}),O.jsxs("div",{className:"mt-5 space-y-3",children:[O.jsx(Lo,{label:"Total revenue",value:We(s.totals.revenue,e.currency)}),O.jsx(Lo,{label:"Cost of goods sold",value:We(s.totals.cost,e.currency)}),O.jsx(Lo,{label:"Gross profit",value:We(s.totals.profit,e.currency)}),O.jsx(Lo,{label:"Profit margin %",value:Ji(s.totals.marginPercent)}),O.jsx(Lo,{label:"Transactions",value:String(s.totals.transactionCount)}),O.jsx(Lo,{label:"Units sold",value:String(s.totals.unitsSold)})]})]}),O.jsxs("div",{className:"panel p-5",children:[O.jsx("h2",{className:"text-lg font-bold",children:"Revenue vs cost by week"}),O.jsx("div",{className:"mt-5 h-72 min-w-0",children:O.jsx(kC,{width:"100%",height:"100%",minWidth:0,children:O.jsxs(YJ,{data:s.weekly,children:[O.jsx(rw,{stroke:"#e5e7eb",strokeDasharray:"4 4"}),O.jsx(ow,{dataKey:"week"}),O.jsx(sw,{}),O.jsx(fN,{formatter:d=>We(Number(d),e.currency)}),O.jsx(vy,{dataKey:"revenue",name:"Revenue",fill:"#10b981",radius:[6,6,0,0]}),O.jsx(vy,{dataKey:"cost",name:"Cost",fill:"#ef4444",radius:[6,6,0,0]})]})})}),O.jsx("h3",{className:"mt-6 text-sm font-bold uppercase text-slate-500",children:"Top 10 products by margin"}),O.jsx("div",{className:"mt-3 space-y-2",children:s.topMarginProducts.map(d=>O.jsxs("div",{className:"flex justify-between rounded-md bg-slate-50 px-3 py-2 text-sm",children:[O.jsx("span",{className:"font-semibold",children:d.name}),O.jsx("span",{className:"text-emerald-700",children:Ji(d.margin)})]},d.name))})]})]})]})},oO=({headers:e,rows:t,footer:r})=>O.jsxs("div",{className:"panel overflow-x-auto",children:[O.jsxs("table",{className:"w-full min-w-[760px] text-left text-sm",children:[O.jsx("thead",{className:"border-b border-slate-200 bg-slate-50 text-xs uppercase text-slate-500",children:O.jsx("tr",{children:e.map(n=>O.jsx("th",{className:"px-4 py-3 font-bold",children:n},n))})}),O.jsx("tbody",{className:"divide-y divide-slate-100",children:t.map((n,i)=>O.jsx("tr",{children:n.map((a,s)=>O.jsx("td",{className:"px-4 py-3",children:a},`${i}-${s}`))},i))}),r&&O.jsx("tfoot",{className:"border-t border-slate-200 bg-slate-50 font-bold",children:O.jsx("tr",{children:r.map((n,i)=>O.jsx("td",{className:"px-4 py-3",children:n},i))})})]}),t.length===0&&O.jsx("div",{className:"p-10 text-center text-sm font-semibold text-slate-500",children:"Brak danych w wybranym miesiÄ…cu."})]}),Lo=({label:e,value:t})=>O.jsxs("div",{className:"flex items-center justify-between border-b border-slate-100 pb-3 text-sm",children:[O.jsx("span",{className:"text-slate-500",children:e}),O.jsx("span",{className:"font-extrabold text-slate-900",children:t})]}),dee=()=>{const{settings:e,notify:t}=Wr(),[r,n]=x.useState([]);return x.useEffect(()=>{wf.listSales().then(n).catch(()=>t("error","BĹ‚Ä…d poĹ‚Ä…czenia â€” sprĂłbuj ponownie"))},[t]),O.jsxs("div",{className:"space-y-5",children:[O.jsxs("section",{className:"panel flex flex-col gap-4 p-5 md:flex-row md:items-center md:justify-between",children:[O.jsxs("div",{className:"flex items-start gap-4",children:[O.jsx("div",{className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-lg bg-primary-50 text-primary-600",children:O.jsx(Ay,{className:"h-6 w-6"})}),O.jsxs("div",{children:[O.jsx("h2",{className:"text-lg font-extrabold text-slate-950",children:"Dodaj nowÄ… sprzedaĹĽ"}),O.jsx("p",{className:"mt-1 max-w-2xl text-sm leading-6 text-slate-600",children:"UtwĂłrz zamĂłwienie z produktĂłw z magazynu, wpisz liczbÄ™ sztuk, cenÄ™ sprzedaĹĽy i zapisz transakcjÄ™. Stan magazynowy zmniejszy siÄ™ automatycznie."})]})]}),O.jsxs(SO,{className:"btn-primary shrink-0",to:"/sales/new","aria-label":"Dodaj nowÄ… sprzedaĹĽ",children:[O.jsx(ZO,{className:"h-4 w-4"}),"Dodaj sprzedaĹĽ",O.jsx(dz,{className:"h-4 w-4"})]})]}),r.length===0?O.jsx(MI,{icon:eA,title:"Brak zapisanych sprzedaĹĽy â€” dodaj pierwsze zamĂłwienie z magazynu"}):O.jsx("div",{className:"panel overflow-hidden",children:O.jsxs("table",{className:"w-full min-w-[760px] text-left text-sm",children:[O.jsx("thead",{className:"border-b border-slate-200 bg-slate-50 text-xs uppercase text-slate-500",children:O.jsx("tr",{children:["Data","PrzychĂłd","Koszt","MarĹĽa","Liczba pozycji"].map(i=>O.jsx("th",{className:"px-4 py-3 font-bold",children:i},i))})}),O.jsx("tbody",{className:"divide-y divide-slate-100",children:r.map(i=>O.jsxs("tr",{children:[O.jsx("td",{className:"px-4 py-3 font-semibold",children:Al(i.sale.sold_at)}),O.jsx("td",{className:"px-4 py-3",children:We(i.revenue,e.currency)}),O.jsx("td",{className:"px-4 py-3",children:We(i.cost,e.currency)}),O.jsx("td",{className:"px-4 py-3",children:O.jsxs("span",{className:"badge bg-emerald-50 text-emerald-700",children:[We(i.margin,e.currency)," / ",Ji(i.revenue>0?i.margin/i.revenue*100:0)]})}),O.jsx("td",{className:"px-4 py-3",children:i.itemCount})]},i.sale.id))})]})})]})},fee=()=>{const{settings:e,notify:t}=Wr(),r=ky(),[n,i]=x.useState([]),[a,s]=x.useState(""),[u,c]=x.useState([]),[d,h]=x.useState(""),[p,m]=x.useState(!1);x.useEffect(()=>{Qi.listProducts().then(i).catch(()=>t("error","BĹ‚Ä…d poĹ‚Ä…czenia â€” sprĂłbuj ponownie"))},[t]);const b=n.filter(P=>P.stock_qty>0).filter(P=>`${P.name} ${P.sku??""}`.toLowerCase().includes(a.toLowerCase())).slice(0,a?8:5),w=x.useMemo(()=>u.reduce((P,C)=>({revenue:P.revenue+C.qty*C.unit_sell_price,cost:P.cost+C.qty*C.product.purchase_price}),{revenue:0,cost:0}),[u]),S=P=>{c(C=>C.some(N=>N.product.id===P.id)?C:[...C,{product:P,qty:1,unit_sell_price:P.sell_price}]),s("")},k=(P,C)=>{c(N=>N.map(j=>j.product.id===P?{...j,...C}:j))},A=async()=>{m(!0);try{await wf.createSale(u,d),t("success","SprzedaĹĽ zapisana."),r("/sales")}catch(P){t("error",P instanceof Error?P.message:"BĹ‚Ä…d poĹ‚Ä…czenia â€” sprĂłbuj ponownie")}finally{m(!1)}};return O.jsxs("div",{className:"grid gap-6 xl:grid-cols-[1fr_360px]",children:[O.jsxs("section",{className:"space-y-5",children:[O.jsxs("div",{className:"panel p-5",children:[O.jsxs("div",{className:"mb-4 flex items-start justify-between gap-4",children:[O.jsxs("div",{children:[O.jsx("h2",{className:"text-lg font-extrabold text-slate-950",children:"ZamĂłwienie"}),O.jsx("p",{className:"mt-1 text-sm text-slate-600",children:"Wybierz produkty z magazynu, a potem ustaw iloĹ›Ä‡ i cenÄ™ sprzedaĹĽy dla kaĹĽdej pozycji."})]}),O.jsxs("span",{className:"badge bg-primary-50 text-primary-700",children:[u.length," pozycji"]})]}),O.jsxs("label",{className:"relative block",children:[O.jsx(tA,{className:"absolute left-3 top-2.5 h-4 w-4 text-slate-400"}),O.jsx("input",{className:"field pl-9",placeholder:"Szukaj produktu w magazynie po nazwie lub SKU",value:a,onChange:P=>s(P.target.value)})]}),O.jsx("div",{className:"mt-3 divide-y divide-slate-100 rounded-lg border border-slate-200",children:b.length>0?b.map(P=>O.jsxs("button",{className:"flex w-full items-center justify-between gap-3 px-4 py-3 text-left hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-50",onClick:()=>S(P),disabled:u.some(C=>C.product.id===P.id),children:[O.jsxs("span",{children:[O.jsx("span",{className:"block text-sm font-bold",children:P.name}),O.jsxs("span",{className:"text-xs text-slate-500",children:[P.sku?`${P.sku} Â· `:"",P.stock_qty," ",P.unit," na stanie"]})]}),O.jsx("span",{className:"shrink-0 text-sm font-bold text-primary-600",children:We(P.sell_price,e.currency)})]},P.id)):O.jsxs("div",{className:"flex items-center gap-3 p-4 text-sm font-semibold text-slate-500",children:[O.jsx(QO,{className:"h-5 w-5"}),"Brak produktĂłw dostÄ™pnych do sprzedaĹĽy. Dodaj produkt lub zwiÄ™ksz stan magazynowy."]})})]}),O.jsxs("div",{className:"panel overflow-hidden",children:[O.jsxs("table",{className:"w-full min-w-[760px] text-left text-sm",children:[O.jsx("thead",{className:"border-b border-slate-200 bg-slate-50 text-xs uppercase text-slate-500",children:O.jsx("tr",{children:["Produkt","IloĹ›Ä‡","Cena sprzedaĹĽy","MarĹĽa %",""].map(P=>O.jsx("th",{className:"px-4 py-3 font-bold",children:P},P))})}),O.jsx("tbody",{className:"divide-y divide-slate-100",children:u.map(P=>{const C=P.unit_sell_price>0?(P.unit_sell_price-P.product.purchase_price)/P.unit_sell_price*100:0;return O.jsxs("tr",{children:[O.jsxs("td",{className:"px-4 py-3",children:[O.jsx("p",{className:"font-bold",children:P.product.name}),O.jsxs("p",{className:"text-xs text-slate-500",children:["DostÄ™pne: ",P.product.stock_qty," ",P.product.unit]})]}),O.jsx("td",{className:"px-4 py-3",children:O.jsx("input",{"aria-label":`IloĹ›Ä‡ ${P.product.name}`,className:"field w-24",type:"number",min:1,max:P.product.stock_qty,value:P.qty,onChange:N=>k(P.product.id,{qty:Math.max(1,Math.min(Number(N.target.value),P.product.stock_qty))})})}),O.jsx("td",{className:"px-4 py-3",children:O.jsx("input",{"aria-label":`Cena sprzedaĹĽy ${P.product.name}`,className:"field w-32",type:"number",min:0,step:"0.01",value:P.unit_sell_price,onChange:N=>k(P.product.id,{unit_sell_price:Number(N.target.value)})})}),O.jsx("td",{className:"px-4 py-3",children:O.jsx("span",{className:`badge ${C>=0?"bg-emerald-50 text-emerald-700":"bg-rose-50 text-rose-700"}`,children:Ji(C)})}),O.jsx("td",{className:"px-4 py-3 text-right",children:O.jsx("button",{className:"icon-button",onClick:()=>c(N=>N.filter(j=>j.product.id!==P.product.id)),children:O.jsx(rA,{className:"h-4 w-4"})})})]},P.product.id)})})]}),u.length===0&&O.jsx("div",{className:"p-12 text-center text-sm font-semibold text-slate-500",children:"ZamĂłwienie jest puste. Kliknij produkt z listy powyĹĽej, aby dodaÄ‡ go do sprzedaĹĽy."})]})]}),O.jsxs("aside",{className:"panel h-fit p-5",children:[O.jsxs("h2",{className:"flex items-center gap-2 text-lg font-bold",children:[O.jsx(Ay,{className:"h-5 w-5 text-primary-600"}),"Podsumowanie"]}),O.jsxs("div",{className:"mt-5 space-y-3 text-sm",children:[O.jsx(ig,{label:"PrzychĂłd",value:We(w.revenue,e.currency)}),O.jsx(ig,{label:"Koszt",value:We(w.cost,e.currency)}),O.jsx(ig,{label:"MarĹĽa",value:`${We(w.revenue-w.cost,e.currency)} (${Ji(w.revenue>0?(w.revenue-w.cost)/w.revenue*100:0)})`,strong:!0})]}),O.jsxs("label",{className:"mt-5 block",children:[O.jsx("span",{className:"text-sm font-semibold text-slate-700",children:"Notatka"}),O.jsx("textarea",{className:"field mt-1 min-h-24",value:d,onChange:P=>h(P.target.value)})]}),O.jsx("button",{className:"btn-primary mt-5 w-full",disabled:u.length===0||p,onClick:A,children:"Zapisz sprzedaĹĽ"})]})]})},ig=({label:e,value:t,strong:r=!1})=>O.jsxs("div",{className:"flex items-center justify-between border-b border-slate-100 pb-3",children:[O.jsx("span",{className:"text-slate-500",children:e}),O.jsx("span",{className:r?"text-base font-extrabold text-primary-600":"font-bold text-slate-800",children:t})]}),hee=()=>{const{settings:e,saveSettings:t,notify:r}=Wr(),[n,i]=x.useState(e.shopName),[a,s]=x.useState(e.currency),[u,c]=x.useState(e.lowStockThreshold),[d,h]=x.useState(""),p=async g=>{g.preventDefault(),await t({shopName:n,currency:a,lowStockThreshold:u})},m=async g=>{if(g.preventDefault(),d.length<6)return r("error","HasĹ‚o musi mieÄ‡ co najmniej 6 znakĂłw.");await $i.updatePassword(d),h(""),r("success","HasĹ‚o zostaĹ‚o zaktualizowane.")};return O.jsxs("div",{className:"grid gap-6 xl:grid-cols-2",children:[O.jsxs("form",{className:"panel p-5",onSubmit:p,children:[O.jsx("h2",{className:"text-lg font-bold",children:"Ustawienia sklepu"}),O.jsxs("div",{className:"mt-5 space-y-4",children:[O.jsxs("label",{className:"block",children:[O.jsx("span",{className:"text-sm font-semibold text-slate-700",children:"Shop name"}),O.jsx("input",{className:"field mt-1",value:n,onChange:g=>i(g.target.value)})]}),O.jsxs("label",{className:"block",children:[O.jsx("span",{className:"text-sm font-semibold text-slate-700",children:"Currency symbol"}),O.jsx("input",{className:"field mt-1",value:a,onChange:g=>s(g.target.value)})]}),O.jsxs("label",{className:"block",children:[O.jsx("span",{className:"text-sm font-semibold text-slate-700",children:"Low-stock threshold"}),O.jsx("input",{className:"field mt-1",type:"number",min:0,value:u,onChange:g=>c(Number(g.target.value))})]})]}),O.jsxs("button",{className:"btn-primary mt-5",children:[O.jsx(qz,{className:"h-4 w-4"}),"Zapisz ustawienia"]})]}),O.jsxs("form",{className:"panel p-5",onSubmit:m,children:[O.jsx("h2",{className:"text-lg font-bold",children:"Zmiana hasĹ‚a"}),O.jsxs("label",{className:"mt-5 block",children:[O.jsx("span",{className:"text-sm font-semibold text-slate-700",children:"Nowe hasĹ‚o"}),O.jsx("input",{className:"field mt-1",type:"password",value:d,onChange:g=>h(g.target.value)})]}),O.jsxs("button",{className:"btn-secondary mt-5",children:[O.jsx(Oz,{className:"h-4 w-4"}),"ZmieĹ„ hasĹ‚o"]})]})]})},pee="modulepreload",vee=function(e){return"/"+e},sO={},mee=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),u=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));i=Promise.allSettled(r.map(c=>{if(c=vee(c),c in sO)return;sO[c]=!0;const d=c.endsWith(".css"),h=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":pee,d||(p.as="script"),p.crossOrigin="",p.href=c,u&&p.setAttribute("nonce",u),document.head.appendChild(p),d)return new Promise((m,g)=>{p.addEventListener("load",m),p.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${c}`)))})}))}function a(s){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=s,window.dispatchEvent(u),!u.defaultPrevented)throw s}return i.then(s=>{for(const u of s||[])u.status==="rejected"&&a(u.reason);return t().catch(a)})};function gee(e={}){const{immediate:t=!1,onNeedReload:r,onNeedRefresh:n,onOfflineReady:i,onRegistered:a,onRegisteredSW:s,onRegisterError:u}=e;let c,d,h;const p=async(g=!0)=>{await d,h==null||h()};async function m(){if("serviceWorker"in navigator){if(c=await mee(async()=>{const{Workbox:g}=await import("./workbox-window.prod.es5-BqEJf4Xk.js");return{Workbox:g}},[]).then(({Workbox:g})=>new g("/sw.js",{scope:"/",type:"classic"})).catch(g=>{u==null||u(g)}),!c)return;h=()=>{c==null||c.messageSkipWaiting()};{let g=!1;const b=()=>{g=!0,c==null||c.addEventListener("controlling",w=>{w.isUpdate&&(r?r():window.location.reload())}),n==null||n()};c.addEventListener("installed",w=>{typeof w.isUpdate>"u"?typeof w.isExternal<"u"&&w.isExternal?b():!g&&(i==null||i()):w.isUpdate||i==null||i()}),c.addEventListener("waiting",b)}c.register({immediate:t}).then(g=>{s?s("/sw.js",g):a==null||a(g)}).catch(g=>{u==null||u(g)})}}return d=m(),p}function yee(e={}){const{immediate:t=!0,onNeedReload:r,onNeedRefresh:n,onOfflineReady:i,onRegistered:a,onRegisteredSW:s,onRegisterError:u}=e,[c,d]=x.useState(!1),[h,p]=x.useState(!1),[m]=x.useState(()=>gee({immediate:t,onNeedReload:r,onOfflineReady(){p(!0),i==null||i()},onNeedRefresh(){d(!0),n==null||n()},onRegistered:a,onRegisteredSW:s,onRegisterError:u}));return{needRefresh:[c,d],offlineReady:[h,p],updateServiceWorker:m}}const wee=()=>{const[e,t]=x.useState(null),{needRefresh:r,updateServiceWorker:n}=yee();return x.useEffect(()=>{const i=a=>{a.preventDefault(),t(a)};return window.addEventListener("beforeinstallprompt",i),()=>window.removeEventListener("beforeinstallprompt",i)},[]),!e&&!r[0]?null:O.jsx("div",{className:"fixed bottom-20 left-1/2 z-50 w-[min(520px,calc(100vw-2rem))] -translate-x-1/2 rounded-lg border border-primary-100 bg-white p-3 shadow-soft lg:bottom-5",children:r[0]?O.jsxs("button",{className:"btn-primary w-full",onClick:()=>n(!0),children:[O.jsx(Fz,{className:"h-4 w-4"}),"Aktualizacja dostÄ™pna â€” odĹ›wieĹĽ"]}):O.jsxs("button",{className:"btn-primary w-full",onClick:()=>e==null?void 0:e.prompt(),children:[O.jsx(JO,{className:"h-4 w-4"}),"Aplikacja jest gotowa do instalacji"]})})},bee=()=>O.jsxs(XD,{children:[O.jsxs(MD,{children:[O.jsx(en,{path:"/login",element:O.jsx(i3,{})}),O.jsx(en,{element:O.jsx(nz,{}),children:O.jsxs(en,{element:O.jsx(r3,{}),children:[O.jsx(en,{index:!0,element:O.jsx(iee,{})}),O.jsx(en,{path:"/inventory",element:O.jsx(see,{})}),O.jsx(en,{path:"/sales",element:O.jsx(dee,{})}),O.jsx(en,{path:"/sales/new",element:O.jsx(fee,{})}),O.jsx(en,{path:"/reports",element:O.jsx(cee,{})}),O.jsx(en,{path:"/settings",element:O.jsx(hee,{})}),O.jsx(en,{path:"*",element:O.jsx(Py,{to:"/",replace:!0})})]})})]}),O.jsx(wee,{}),O.jsx(n3,{})]});qR.createRoot(document.getElementById("root")).render(O.jsx(lO.StrictMode,{children:O.jsx(qD,{future:{v7_relativeSplatPath:!0,v7_startTransition:!0},children:O.jsx(rz,{children:O.jsx(bee,{})})})}));
