Files
epusdt2/src/www/assets/keys-B-mZj2am.js
T
line-6000 485059f60e - Removed manifest link from index.html.
- Updated script and module preload links in index.html for optimized loading.
- Modified service worker (sw.js) to reflect new asset revisions and improve caching strategy.
- Updated configuration documentation in BT_RUN.md, docker-RUN.md, and manual_RUN.md to clarify currency rate settings.
2026-04-24 19:10:11 +08:00

2 lines
16 KiB
JavaScript

import{$n as e,$t as t,$u as n,An as r,Bn as i,Cn as a,Dn as o,En as s,Fn as c,Fu as l,Gn as u,Hi as d,Hn as f,In as p,Jn as m,Kn as h,Ln as g,Mn as _,Nn as ee,On as v,Pn as te,Pu as y,Qn as ne,Qu as b,Rn as re,Sn as ie,Tn as x,Un as ae,Vn as oe,Wn as se,Xn as ce,Yn as le,Zn as S,_n as C,ba as ue,bn as w,er as de,fn as T,gn as E,hn as D,jn as O,kn as k,mn as fe,nd as A,nr as pe,oi as j,pn as M,qn as me,qu as he,ru as ge,tr as _e,vn as N,wn as ve,xn as P,yn as F,zn as ye}from"./messages-GNZRoNCJ.js";import{a as I}from"./auth-store-D6M2fL5v.js";import{t as be}from"./router-WGjVYfDE.js";import{r as xe}from"./route-B0n9n_C5.js";import{o as L,s as R,z}from"./search-provider-LWHzuxPK.js";import{t as B}from"./button-CgehfZOz.js";import{t as Se}from"./confirm-dialog-CF6eWZWw.js";import{t as V}from"./skeleton-CShhbKn7.js";import{a as Ce,i as we,n as Te,r as H,t as Ee}from"./select-DMPupgk1.js";import{t as De}from"./separator-DCobJKYf.js";import{t as Oe}from"./switch-DM03P9u-.js";import{t as U}from"./createLucideIcon-ZOoxJGca.js";import{n as ke,t as Ae}from"./copy-to-clipboard-CjEBFW-5.js";import{t as je}from"./eye-off-BajJjSPB.js";import{t as Me}from"./eye-fodo-Mao.js";import{n as Ne,r as Pe,t as Fe}from"./empty-state-BVYJD65g.js";import{n as Ie,t as Le}from"./main-B1PefPeT.js";import{n as Re,t as ze}from"./trash-2-C_l9AUPj.js";import{d as Be,l as Ve,m as He,p as Ue,u as We}from"./command-BVulVd11.js";import{t as Ge}from"./shield-check-CkFtGD8a.js";import{n as W}from"./dist-5drZch9N.js";import{c as G,s as Ke}from"./zod-Ds1e9pAB.js";import{a as K,c as qe,i as q,l as Je,n as J,o as Y,r as Ye,s as X,t as Xe}from"./form-CltVYR9l.js";import{t as Z}from"./input-DVA35bJk.js";import{t as Ze}from"./page-header-cy8MPm4c.js";import{t as Qe}from"./textarea-CcdJLvpz.js";import{t as $e}from"./badge-BPwdyK59.js";var et=U(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),tt=U(`arrow-up-a-z`,[[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),nt=U(`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`}]]),rt=A(Ae(),1),Q=A(n(),1),$=b(),it=Ke({name:G().min(1,T()),notify_url:G().optional(),ip_whitelist:G().optional()});function at({open:e,onOpenChange:n,currentRow:i,onSuccess:o}){let s=Je({resolver:qe(it),defaultValues:{name:``,notify_url:``,ip_whitelist:``}}),c=I.useMutation(`post`,`/admin/api/v1/api-keys`),u=I.useMutation(`patch`,`/admin/api/v1/api-keys/{id}`),d=c.data?.data?.secret_key;(0,Q.useEffect)(()=>{e&&s.reset({name:i?.name??``,notify_url:i?.notify_url??``,ip_whitelist:i?.ip_whitelist??``})},[e,i,s]);function f(e){e||(s.reset({name:``,notify_url:``,ip_whitelist:``}),c.reset(),u.reset()),n(e)}function p(e){if(i?.id){u.mutate({params:{path:{id:i.id}},body:{name:e.name,notify_url:e.notify_url,ip_whitelist:e.ip_whitelist||void 0}},{onSuccess:()=>{W.success(fe()),n(!1),o?.()}});return}c.mutate({body:{name:e.name,notify_url:e.notify_url,ip_whitelist:e.ip_whitelist||void 0}},{onSuccess:()=>{W.success(M()),o?.()}})}function m(){f(!1)}let h=c.isPending||u.isPending;return(0,$.jsx)(Ve,{onOpenChange:f,open:e,children:(0,$.jsxs)(We,{children:[(0,$.jsxs)(Ue,{children:[(0,$.jsx)(He,{children:i?a():ie()}),(0,$.jsx)(Be,{children:i?P():w()})]}),(0,$.jsx)(Xe,{...s,children:(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:s.handleSubmit(p),children:[(0,$.jsx)(q,{control:s.control,name:`name`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsx)(Y,{children:x()}),(0,$.jsx)(J,{children:(0,$.jsx)(Z,{placeholder:ve(),...e})}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:s.control,name:`notify_url`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(Y,{children:r()}),(0,$.jsx)($e,{variant:`secondary`,children:l()})]}),(0,$.jsx)(J,{children:(0,$.jsx)(Z,{disabled:!0,placeholder:`https://example.com/callback`,...e})}),(0,$.jsx)(Ye,{children:y()}),(0,$.jsx)(X,{})]})}),(0,$.jsx)(q,{control:s.control,name:`ip_whitelist`,render:({field:e})=>(0,$.jsxs)(K,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(Y,{children:F()}),(0,$.jsx)($e,{variant:`secondary`,children:l()})]}),(0,$.jsx)(J,{children:(0,$.jsx)(Qe,{disabled:!0,placeholder:`127.0.0.1
10.0.0.2`,...e})}),(0,$.jsx)(Ye,{children:y()}),(0,$.jsx)(X,{})]})}),!i&&d?(0,$.jsxs)(`div`,{className:`rounded-lg border bg-muted/40 p-3 text-sm`,children:[(0,$.jsx)(`div`,{className:`mb-1 font-medium text-amber-600`,children:N()}),(0,$.jsx)(`div`,{className:`break-all font-mono text-muted-foreground`,children:d})]}):null,(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(B,{onClick:m,type:`button`,variant:`outline`,children:!i&&d?C():he()}),(!d||i)&&(0,$.jsxs)(B,{disabled:h,type:`submit`,children:[h&&t(),!h&&i&&E(),!(h||i)&&D()]})]})]})})]})})}function ot({data:e,isLoading:t,onAction:n,onCopySecret:i,onToggleSecret:a,secretStates:l}){let[u,f]=(0,Q.useState)(new Set);function p(e){try{return`${new URL(e).protocol}//••••••••`}catch{return`••••••••••••••••`}}function m(e){return e?.visible?e.loading?O():e.value||`-`:`••••••••••••••••`}function h(e,t){return e?t?e:p(e):`-`}return t?(0,$.jsx)(`ul`,{className:`faded-bottom no-scrollbar grid gap-4 overflow-auto pt-4 pb-16 md:grid-cols-2 lg:grid-cols-3`,children:[`api-key-skeleton-1`,`api-key-skeleton-2`,`api-key-skeleton-3`,`api-key-skeleton-4`,`api-key-skeleton-5`,`api-key-skeleton-6`].map(e=>(0,$.jsx)(`li`,{"aria-hidden":`true`,className:`rounded-lg border`,children:(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden p-4`,children:[(0,$.jsxs)(`div`,{className:`mb-6 flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,$.jsx)(V,{className:`h-5 w-32 max-w-full`}),(0,$.jsx)(V,{className:`h-3 w-20`})]}),(0,$.jsx)(V,{className:`h-6 w-11 rounded-full`})]}),(0,$.jsxs)(`div`,{className:`mb-6 flex-1 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(V,{className:`mt-1 h-3 w-12 shrink-0`}),(0,$.jsx)(V,{className:`h-4 w-28 min-w-0 flex-1`})]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(V,{className:`mt-1 h-3 w-12 shrink-0`}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,$.jsx)(V,{className:`h-4 w-full`}),(0,$.jsx)(V,{className:`h-4 w-9/12`})]}),(0,$.jsx)(V,{className:`size-8 shrink-0 rounded-md`}),(0,$.jsx)(V,{className:`size-8 shrink-0 rounded-md`})]})]}),[`w-28`,`w-full`,`w-11/12`,`w-24`,`w-32`].map(e=>(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(V,{className:`mt-1 h-3 w-12 shrink-0`}),(0,$.jsx)(V,{className:`h-4 min-w-0 flex-1 ${e}`})]},e))]}),(0,$.jsx)(`div`,{className:`-mx-4 mt-auto -mb-4 border-t`,children:(0,$.jsx)(`div`,{className:`grid grid-cols-3`,children:[`api-key-action-skeleton-1`,`api-key-action-skeleton-2`,`api-key-action-skeleton-3`].map((e,t)=>(0,$.jsx)(`div`,{className:`flex h-11 items-center justify-center px-4 ${t<2?`border-r`:``}`,children:(0,$.jsx)(V,{className:`h-4 w-16`})},e))})})]})},e))}):e.length?(0,$.jsx)(`ul`,{className:`faded-bottom no-scrollbar grid gap-4 overflow-auto pt-4 pb-16 md:grid-cols-2 lg:grid-cols-3`,children:e.map(e=>{let t=e.status===1,p=String(e.id??e.pid??``),g=l[p],_=u.has(p),y=[{label:`PID`,value:e.pid??`-`},{label:v(),value:m(g),visible:g?.visible,onToggle:()=>a(e),onCopy:()=>i(e)},{label:r(),value:h(e.notify_url,_),visible:_,onToggle:e.notify_url?()=>f(e=>{let t=new Set(e);return t.has(p)?t.delete(p):t.add(p),t}):void 0},{label:k(),value:e.ip_whitelist||`-`},{label:c(),value:R(e.call_count??0,0)},{label:te(),value:L(e.last_used_at)||ee()},{label:d(),value:L(e.updated_at)||`-`}];return(0,$.jsx)(`li`,{className:`rounded-lg border hover:shadow-md`,children:(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden p-4`,children:[(0,$.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(`h2`,{className:`truncate font-semibold`,children:e.name||e.pid||`#${e.id}`})}),(0,$.jsx)(Oe,{checked:t,onCheckedChange:()=>n(t?`disable`:`enable`,e)})]}),(0,$.jsxs)(`div`,{className:`mb-6 flex-1 space-y-2 text-muted-foreground text-sm`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`w-16 shrink-0 text-foreground/80`,children:`PID`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:e.pid??`-`})]}),y.filter(e=>e.label!==`PID`).map(e=>(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`w-16 shrink-0 text-foreground/80`,children:e.label}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:e.value}),e.onCopy&&(0,$.jsx)(B,{className:`size-8 shrink-0`,onClick:e.onCopy,size:`icon-sm`,variant:`ghost`,children:(0,$.jsx)(ke,{className:`h-4.5 w-4.5`})}),e.onToggle&&(0,$.jsx)(B,{className:`size-8 shrink-0`,onClick:e.onToggle,size:`icon-sm`,variant:`ghost`,children:e.visible?(0,$.jsx)(je,{className:`h-4.5 w-4.5`}):(0,$.jsx)(Me,{className:`h-4.5 w-4.5`})})]})]},e.label))]}),(0,$.jsx)(`div`,{className:`-mx-4 mt-auto -mb-4 border-t`,children:(0,$.jsxs)(`div`,{className:`grid grid-cols-3`,children:[(0,$.jsxs)(B,{className:`h-11 w-full rounded-none border-r px-0 text-muted-foreground hover:bg-muted/60 hover:text-foreground`,onClick:()=>n(`edit`,e),size:`sm`,variant:`ghost`,children:[(0,$.jsx)(nt,{className:`h-4 w-4`}),o()]}),(0,$.jsxs)(B,{className:`h-11 w-full rounded-none border-r px-0 text-muted-foreground hover:bg-muted/60 hover:text-foreground`,onClick:()=>n(`rotate-secret`,e),size:`sm`,variant:`ghost`,children:[(0,$.jsx)(z,{className:`h-4 w-4`}),s()]}),(0,$.jsxs)(B,{className:`h-11 w-full rounded-none px-0 text-destructive hover:bg-destructive/8 hover:text-destructive`,onClick:()=>n(`delete`,e),size:`sm`,variant:`ghost`,children:[(0,$.jsx)(ze,{className:`h-4 w-4 text-destructive`}),j()]})]})})]})},e.id??e.pid)})}):(0,$.jsx)(`div`,{className:`pt-4`,children:(0,$.jsx)(Fe,{description:_()})})}var st=xe(`/_authenticated/keys/`),ct=new Map([[`all`,pe()],[`enabled`,_e()],[`disabled`,de()]]);function lt(){let{filter:t=``,type:n=`all`,sort:r=`asc`}=st.useSearch(),a=st.useNavigate(),o=I.useQuery(`get`,`/admin/api/v1/api-keys`),s=I.useMutation(`delete`,`/admin/api/v1/api-keys/{id}`),l=I.useMutation(`post`,`/admin/api/v1/api-keys/{id}/status`),d=I.useMutation(`get`,`/admin/api/v1/api-keys/{id}/secret`),_=I.useMutation(`post`,`/admin/api/v1/api-keys/{id}/rotate-secret`),v=I.useMutation(`get`,`/admin/api/v1/api-keys/{id}/stats`),[y,b]=(0,Q.useState)(!1),[ie,x]=(0,Q.useState)(null),[C,w]=(0,Q.useState)(null),[T,E]=(0,Q.useState)(null),[D,O]=(0,Q.useState)({}),[k,fe]=(0,Q.useState)(r),[A,j]=(0,Q.useState)(n),[M,he]=(0,Q.useState)(t);async function N(){await be.invalidateQueries({queryKey:[`get`,`/admin/api/v1/api-keys`]})}async function ve(){if(!C?.row.id)return;let t=C.row.id;C.action===`delete`?(await s.mutateAsync({params:{path:{id:t}}}),W.success(e())):(C.action===`enable`||C.action===`disable`)&&(await l.mutateAsync({params:{path:{id:t}},body:{status:C.action===`enable`?1:2}}),W.success(ue())),await N(),w(null)}function P(e){return String(e.id??e.pid??``)}async function F(e,t){let n=P(e),r=t?.visible??D[n]?.visible??!1;O(e=>({...e,[n]:{loading:!0,value:e[n]?.value??``,visible:r}}));try{let t=await d.mutateAsync({params:{path:{id:e.id}}}),i=typeof t.data==`object`&&t.data&&`secret_key`in t.data?String(t.data.secret_key??``):``;return O(e=>({...e,[n]:{loading:!1,value:i||`-`,visible:r}})),i||`-`}catch{return O(e=>({...e,[n]:{loading:!1,value:e[n]?.value??``,visible:r}})),W.error(ne()),null}}async function xe(e){if(!e.id){W.error(S());return}let t=P(e),n=D[t];if(n?.visible){O(e=>({...e,[t]:{...n,visible:!1}}));return}if(n?.value){O(e=>({...e,[t]:{...n,visible:!0}}));return}await F(e,{visible:!0})}async function L(e){if(!e.id){W.error(S());return}let t=P(e),n=D[t]?.value??``;if(n||=await F(e,{visible:D[t]?.visible??!1})??``,!n||n===`-`){W.error(ce());return}(0,rt.default)(n),W.success(le())}async function z(e){let t=await _.mutateAsync({params:{path:{id:e.id}}}),n=P(e);O(e=>({...e,[n]:{loading:!1,value:t.data?.secret_key??`-`,visible:!0}})),W.success(m()),await N()}async function V(e){let t=await v.mutateAsync({params:{path:{id:e.id}}});E({apiKey:e.pid??`#${e.id}`,stats:t.data??{}})}async function Oe(e,t){if(!t.id){W.error(S());return}if(e===`edit`){x(t),b(!0);return}if(e===`delete`){w({action:e,row:t});return}switch(e){case`enable`:case`disable`:await l.mutateAsync({params:{path:{id:t.id}},body:{status:e===`enable`?1:2}}),W.success(ue()),await N();break;case`rotate-secret`:await z(t);break;case`view-stats`:await V(t);break;default:break}}let U=[...o.data?.data??[]].sort((e,t)=>{let n=(e.name??e.pid??`#${e.id??``}`).toLowerCase(),r=(t.name??t.pid??`#${t.id??``}`).toLowerCase();return k===`asc`?n.localeCompare(r):r.localeCompare(n)}).filter(e=>A===`enabled`?e.status===1:A===`disabled`?e.status!==1:!0).filter(e=>{let t=M.trim().toLowerCase();return t?(e.pid??``).toLowerCase().includes(t)||(e.name??``).toLowerCase().includes(t)||(e.notify_url??``).toLowerCase().includes(t):!0});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ie,{}),(0,$.jsxs)(Le,{fixed:!0,children:[(0,$.jsx)(Ze,{actions:(0,$.jsxs)(B,{onClick:()=>{x(null),b(!0)},children:[(0,$.jsx)(Re,{className:`mr-2 h-4 w-4`}),me()]}),description:h(),title:u()}),(0,$.jsxs)(`div`,{className:`my-4 flex items-end justify-between sm:my-0 sm:items-center`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 sm:my-4 sm:flex-row`,children:[(0,$.jsx)(Z,{className:`h-9 w-40 lg:w-62.5`,onChange:e=>{he(e.target.value),a({search:t=>({...t,filter:e.target.value||void 0})})},placeholder:se(),value:M}),(0,$.jsxs)(Ee,{onValueChange:e=>{j(e),a({search:t=>({...t,type:e===`all`?void 0:e})})},value:A,children:[(0,$.jsx)(we,{className:`w-36`,children:(0,$.jsx)(Ce,{children:ct.get(A)})}),(0,$.jsxs)(Te,{children:[(0,$.jsx)(H,{value:`all`,children:pe()}),(0,$.jsx)(H,{value:`enabled`,children:_e()}),(0,$.jsx)(H,{value:`disabled`,children:de()})]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(B,{onClick:N,variant:`outline`,children:[(0,$.jsx)(Pe,{className:`mr-2 h-4 w-4`}),ge()]}),(0,$.jsxs)(Ee,{onValueChange:e=>{fe(e),a({search:t=>({...t,sort:e})})},value:k,children:[(0,$.jsx)(we,{className:`w-16`,children:(0,$.jsx)(Ce,{children:(0,$.jsx)(Ne,{size:18})})}),(0,$.jsxs)(Te,{align:`end`,children:[(0,$.jsx)(H,{value:`asc`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,$.jsx)(tt,{size:16}),(0,$.jsx)(`span`,{children:ae()})]})}),(0,$.jsx)(H,{value:`desc`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,$.jsx)(et,{size:16}),(0,$.jsx)(`span`,{children:f()})]})})]})]})]})]}),(0,$.jsx)(De,{className:`shadow-sm`}),(0,$.jsx)(ot,{data:U,isLoading:o.isLoading,onAction:Oe,onCopySecret:L,onToggleSecret:xe,secretStates:D})]}),(0,$.jsx)(at,{currentRow:ie,onOpenChange:e=>{b(e),e||x(null)},onSuccess:()=>o.refetch(),open:y}),C&&(0,$.jsx)(Se,{confirmText:C.action===`delete`?oe():i(),desc:(0,$.jsx)(`span`,{children:ye({target:String(C.row.pid??C.row.id??``),action:C.action})}),destructive:C.action===`delete`,handleConfirm:ve,onOpenChange:()=>w(null),open:!0,title:C.action===`delete`?re():g()}),(0,$.jsx)(Ve,{onOpenChange:()=>E(null),open:!!T,children:(0,$.jsxs)(We,{children:[(0,$.jsxs)(Ue,{children:[(0,$.jsxs)(He,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Ge,{className:`h-4 w-4`}),p()]}),(0,$.jsx)(Be,{children:T?.apiKey})]}),(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(`div`,{className:`rounded-lg border p-4`,children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-muted-foreground text-sm`,children:[(0,$.jsx)(Me,{className:`h-4 w-4`}),` `,c()]}),(0,$.jsx)(`div`,{className:`font-semibold text-2xl`,children:R(T?.stats.call_count??0,0)})]}),(0,$.jsxs)(`div`,{className:`rounded-lg border p-4`,children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-muted-foreground text-sm`,children:[(0,$.jsx)(Pe,{className:`h-4 w-4`}),` `,te()]}),(0,$.jsx)(`div`,{className:`font-medium text-sm`,children:T?.stats.last_used_at??ee()})]})]})]})})]})}var ut=lt;export{ut as component};